الكنسي مدخلات محطة مقابل غير متعارف عليه

StackOverflow https://stackoverflow.com/questions/358342

  •  21-08-2019
  •  | 
  •  

سؤال

وأنا أدرس لامتحان وأنا في حيرة لكيفية الكنسي مقابل المدخلات غير متعارف عليه / أعمال الإنتاج في يونكس (على سبيل المثال، يلعن). وأنا أفهم أن هناك منطقة عازلة التي يتم تطبيقها "التخصصات خط" لإدخال الكنسي. هل هذا يعني أن المخزن المؤقت يتم تجاوز لإدخال غير متعارف عليه، أم أنه ببساطة يعني أن يتم تطبيق أي التخصصات الخط؟ كيف تختلف هذه العملية لعمليات الإدخال والإخراج؟

في برامج الشتائم لقد عملت مع أن إثبات مساهمة الكنسي، ودخلت المدخلات كتابتها من قبل المستخدم تلقائيا إما بعد أن تم المطبوعة عدد معين من الأحرف أو اجتاز كمية معينة من الزمن. هل أي من هذه الأمور في الاعتبار "التخصصات خط" أم أن هذا شيء آخر تماما؟

هل كانت مفيدة؟

المحلول

لإدخال الكنسي - اعتقد قذيفة. في الواقع، أعتقد جيدة قذيفة بورن القديمة، منذ باش والأقارب يكون تحرير سطر الأوامر. يمكنك كتابة سطر من المدخلات؛ إذا قمت بخطأ ما، يمكنك استخدام حرف محو (الافتراضي هو مسافة للخلف ، عادة، وأحيانا حذف ) لمحو الحرف السابق. إذا كنت لخبط تماما، يمكنك إلغاء خط كامل مع حرف سطر قتل (وليس موحد تماما، وغالبا مراقبة-X ). على بعض الأنظمة، يمكنك الحصول على كلمة محو مع مراقبة-W . كل هذا الإدخال الكنسي. يتم جمع خط كامل وتحريرها حتى نهاية حرف سطر - عودة - يتم الضغط. عند ذلك، يتم إجراء خط كامل متاح في برامج الانتظار. اعتمادا على استدعاءات النظام read() التي لم تنجز بعد، والخط كله تكون متاحة للقراءة (واحد أو أكثر المكالمات إلى read()).

لإدخال غير متعارف عليه - اعتقد vi أو vim أو أيا كان - تضغط حرف، وأنها تتوفر على الفور إلى البرنامج. لا تعقد ما يصل حتى تصل العودة. النظام لا أي تحرير للحرفا؛ تصبح متاحة للبرنامج بمجرد كتابتها. والأمر متروك للبرنامج لتفسير الأمور بشكل مناسب. الآن، vim يفعل القيام بعدد من الأمور التي تبدو قليلا مثل مدخلات الكنسي. على سبيل المثال، مسافة للخلف يتحرك إلى الوراء، وفي وضع الإدخال يمحو ما كان هناك. ولكن هذا لvim يختار لجعلها تتصرف مثل ذلك.

والانتاج الكنسي وغير متعارف عليه هو عمل أقل بكثير خطيرة. هناك عدد قليل من اجزاء وقطع من الفرق، تتعلق بأشياء مثل ما إذا كان لصدى حرف إرجاع قبل خط تغذية، وعما إذا كان للقيام التأخير (ليس من الضروري مع الالكترونيات، مهمة في تلك الأيام التي كان جهاز إخراج ربما كان 110- المبرقة باود). كما يمكن أن تفعل أشياء مثل أجهزة الإخراج تحسس حالة الأحرف مقبض - teletypes، مرة أخرى. أحرف صغيرة يتم إخراج في مباراة دولية، والعلوي حالة الحروف كما مائل والقبعات.

وكان عليه أن يكون أنه إذا كتبته كل الرسائل العليا القضية إلى موجه تسجيل الدخول، ثم برنامج تسجيل الدخول من شأنه تحويل تلقائيا إلى وضع حيث كانت كل مباراة دولية الناتج بخط مائل أمام كل عاصمة الفعلي. وأظن أن هذا لم يعد عمله على المحطات الإلكترونية.


في تعليق، طلب TitaniumDecoy:

<اقتباس فقرة>   

وحتى مع المدخلات غير متعارف عليه هو مخزن الإدخال المؤقت تجاوز تماما؟ أيضا، أين التخصصات خط تأتي في؟

ومع إدخال غير متعارف عليه، ولا يزال يستخدم مخزن الإدخال المؤقت. إذا لم يكن هناك برنامج مع دعوة read() انتظار إدخال من المحطة، وتعقد الشخصيات في مخزن الإدخال المؤقت. ما لا يحدث هو أي تحرير مخزن الإدخال المؤقت.

والتخصصات الخط هي أشياء مثل مجموعة من التلاعبات أن تحرير المدخلات لا. لذلك، جانبا واحدا من الانضباط الخط هو أن الطابع محو يمحو شخصية مسبق في وضع الإدخال الكنسي. إذا كان لديك icase (المدخلات حالة على رسم الخرائط) مجموعة، ثم يتم تعيين أحرف العليا القضية إلى خفض حدة ما لم يسبقه مائل. هذا هو الانضباط الخط، على ما أعتقد، أو جانبا من جوانب الانضباط الخط.


ونسيت أن أذكر أن معالجة EOF ( مراقبة-D ) يتم التعامل في وضع قانوني. وهو ما يعني في الواقع 'جعل مدخلات المتراكمة المتاحة لread()'؛ إذا كان هناك أي إدخال المتراكمة (إذا قمت بكتابة مراقبة-D في بداية السطر)، ثم read() سيعود بايت الصفر، وهو ما يتم تفسيره على أنه EOF بواسطة البرامج. بالطبع، يمكنك كتابة بمرح المزيد من الحروف على لوحة المفاتيح بعد ذلك، والبرامج التي تتجاهل EOF (أو تشغيله في وضع غير قانوني) سيكون سعيدا للغاية.

وبطبيعة الحال، في وضع قانوني، وردد الأحرف المكتوبة على لوحة المفاتيح بشكل طبيعي إلى الشاشة. يمكنك التحكم في ما إذا ثايحدث ر ارتداد. ومع ذلك، وهذا هو عرضية إلى حد ما لإدخال الكنسي. تحرير طبيعي يحدث حتى عندما الصدى هو خارج.

وبالمثل، فإن المقاطعة وإنهاء إشارات القطع الأثرية من معالجة الوضع الكنسي. وكذلك الأمر بالنسبة لإشارات التحكم وظيفة مثل مراقبة-Z بتعليق العملية الحالية والعودة إلى وعاء. وبالمثل، التحكم في التدفق ( مراقبة-S ، مراقبة-Q لإيقاف وبدء الانتاج) يتم توفيرها من قبل وضع قانوني.

والفصل 4 من المتقدم يونكس البرمجة Rochkind، ويغطي 2 EDN I محطة / O ويعطي الكثير من هذه المعلومات - ومجموعها أكثر بكثير. كتب البرمجة UNIX أخرى (على الأقل، الجيد منها) وستغطي أيضا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top