محاكي طرفي

xterm ، محاكي طرفية مصمم لنظام X Window
ويندوز تيرمينال ، محاكي طرفية مفتوح المصدر لنظامي التشغيل ويندوز 10 وويندوز 11

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

تتيح نافذة الطرفية للمستخدم الوصول إلى طرفية نصية وجميع تطبيقاتها، مثل واجهات سطر الأوامر (CLI) وتطبيقات واجهة المستخدم النصية (TUI). قد تعمل هذه التطبيقات على نفس الجهاز أو على جهاز آخر عبر بروتوكولات مثل Telnet أو SSH أو الاتصال الهاتفي أو عبر اتصال تسلسلي مباشر . في أنظمة التشغيل الشبيهة بنظام Unix ، من الشائع وجود نافذة طرفية واحدة أو أكثر متصلة بالجهاز المحلي.

تدعم المحطات الطرفية عادةً مجموعة من تسلسلات الهروب للتحكم في اللون وموضع المؤشر وما إلى ذلك. وتشمل الأمثلة عائلة معايير تسلسل التحكم الطرفي التي تتضمن ECMA-48 و ANSI X3.64 و ISO/IEC 6429 .

خلفية

في بدايات الحوسبة، ومع ظهور الحوسبة التفاعلية، كان النموذج السائد يتألف من حاسوب مركزي متصل بعدة أجهزة طرفية. [ 1 ] يُعرف هذا التكوين بالنموذج المركزي أو نموذج الحاسوب الرئيسي، حيث كان الحاسوب المركزي القوي يقوم بجميع مهام المعالجة، بينما كانت الأجهزة الطرفية بمثابة أجهزة إدخال/إخراج للمستخدمين للتفاعل مع النظام. وكانت هذه الأنظمة في البداية تعتمد على الأحرف.

محطات طرفية موجهة نحو الأحرف

محطة طرفية لعرض الأحرف ASCII للفيديو

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

يمكن تصنيف المحطات الطرفية التي تعتمد على الأحرف إلى نوعين: "بسيطة" و"ذكية". المحطات البسيطة [ 2 ] هي تلك التي تستطيع تفسير عدد محدود من رموز التحكم (CR، LF، إلخ) ولكنها لا تملك القدرة على معالجة تسلسلات الهروب الخاصة التي تؤدي وظائف مثل مسح سطر، أو مسح الشاشة، أو التحكم في موضع المؤشر. في هذا السياق، تُسمى المحطات البسيطة أحيانًا " آلات الطباعة عن بُعد الزجاجية" ، لأنها تمتلك نفس الوظائف المحدودة لآلة الطباعة عن بُعد الميكانيكية. لا يزال هذا النوع من المحطات البسيطة مدعومًا في أنظمة يونكس الحديثة عن طريق ضبط متغير البيئة . أما المحطات الذكية، فهي تلك التي تملك أيضًا القدرة على معالجة تسلسلات الهروب، وخاصة تسلسلات الهروب VT52 وVT100 وANSI.TERMdumb

المحاكيات

عندما انتشرت الحواسيب الشخصية على نطاق واسع في ثمانينيات القرن العشرين، أتاحت للمستخدم إمكانية تشغيل البرامج عليها، مما وفّر فرصةً لاستبدال أجهزة طرفية باهظة الثمن وكبيرة الحجم بأجهزة ذات وظائف إضافية. [ 3 ] وسرعان ما توفرت برامج تحاكي وظائف الأجهزة الطرفية على الحاسوب الشخصي. ومن أمثلة هذه البرامج لنظام التشغيل DOS برنامج Telix أو Telemate، الذي نُشر عام 1988 وكان قادرًا على محاكاة جهاز طرفي DEC VT102 . [ 4 ]

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

خلال تسعينيات القرن العشرين، ظهرت أنظمة تشغيل جديدة مثل ويندوز و OS/2 ، مما وفر البنية التقنية لمزيد من برامج محاكاة الطرفيات مثل Telix لنظام ويندوز، وZOC لنظام OS/2 ، أو PuTTY ، الذي صدر في البداية لنظام ويندوز عام 1998 والذي (مع مشتقاته) لا يزال خيارًا شائعًا للغاية حتى يومنا هذا. [ 5 ]

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

أمثلة على المحطات الطرفية المحاكاة

تم تطوير العديد من برامج محاكاة الطرفيات لمحطات الأجهزة المادية مثل VT52 و VT100 و VT220 و VT320 و IBM 3270/8/9/E و IBM 5250 و IBM 3179G و Data General D211 و Hewlett-Packard HP700/92 و Sperry/Unisys 2000-series UTS60 و Burroughs/Unisys A-series T27/TD830/ET1100 و ADDS ViewPoint و AT386 و Siemens Nixdorf (SNI) 97801 و Televideo 925 و Wyse 50/60.

تُطبّق بعض برامج محاكاة الطرفيات، مثل xterm ، ميزات إضافية غير موجودة في الطرفية المُحاكاة. [ 7 ]

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

وأخيرًا، تشير بعض المحاكيات ببساطة إلى مجموعة من المعايير، مثل معايير رموز الهروب ANSI .

تتوفر هذه البرامج على العديد من المنصات، بما في ذلك DOS ، والأنظمة الشبيهة بنظام Unix بما في ذلك Linux و macOS ، و Windows ، وأنظمة التشغيل المدمجة الموجودة في الهواتف المحمولة والأجهزة الصناعية.

تفاصيل التنفيذ

أنظمة شبيهة بنظام يونكس

في الماضي، كانت أنظمة يونكس والأنظمة الشبيهة بيونكس تستخدم أجهزة المنافذ التسلسلية مثل منافذ RS-232 ، وتوفر /dev/*ملفات الأجهزة الخاصة بها. [ 8 ]

في برامج محاكاة الطرفيات، تُحاكى ملفات الأجهزة هذه بواسطة زوج من أجهزة الطرفيات الوهمية . بدورها، تُحاكي هذه الأجهزة منفذًا/اتصالًا فعليًا بنقطة نهاية الحوسبة المضيفة - وهي أجهزة توفرها واجهات برمجة تطبيقات نظام التشغيل، أو برامج مثل rlogin أو telnet أو SSH ، وغيرها. [ 9 ] في أنظمة لينكس، على سبيل المثال، ستكون هذه الأجهزة /dev/ptyp0(للطرف الرئيسي) و /dev/ttyp0(للطرف التابع) أجهزة طرفيات وهمية على التوالي.

توجد أيضًا ملفات وحدة تحكم افتراضية/dev/console خاصة . في وضع النص، تؤدي الكتابة إلى الملف إلى عرض النص على وحدة التحكم الافتراضية، بينما تؤدي القراءة منه إلى إرجاع النص الذي يكتبه المستخدم إلى وحدة التحكم الافتراضية. وكما هو الحال مع محطات النصوص الأخرى ، توجد أيضًا تسلسلات هروب خاصة ، وأحرف تحكم ، ووظائف يمكن للبرنامج استخدامها، وأسهل طريقة لذلك هي عبر مكتبة مثل ncurses . لإجراء عمليات أكثر تعقيدًا، يمكن للبرامج استخدام استدعاءات نظام ioctl الخاصة بوحدة التحكم والمحطة الطرفية . يمكن مقارنة الأجهزة باستخدام النمطين vcs ("شاشة وحدة التحكم الافتراضية") وvcsa ("شاشة وحدة التحكم الافتراضية مع السمات")، مثل /dev/vcs1و /dev/vcsa1. [ 10 ]

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

يمكن تهيئة وحدات التحكم الافتراضية في الملف /etc/inittabالذي يقرأه الأمر init، والذي عادةً ما يبدأ عملية تسجيل الدخول إلى وضع النص getty لعدة وحدات تحكم افتراضية. يمكن تهيئة نظام X Window/etc/inittab من خلال مدير عرض X. تستخدم بعض توزيعات لينكس systemd بدلاً من init ، مما يسمح أيضاً بتهيئة وحدات التحكم الافتراضية.

أدوات سطر الأوامر

تتضمن برامج نظام لينكس النموذجية المستخدمة للوصول إلى وحدات التحكم الافتراضية ما يلي:

  • chvtلتبديل وحدة التحكم الافتراضية الحالية
  • openvtلتشغيل برنامج على وحدة تحكم افتراضية جديدة
  • deallocvtلإغلاق وحدة تحكم افتراضية غير مستخدمة حاليًا

صدى محلي

قد تُنفّذ برامج محاكاة الطرفيات وظيفة صدى محلية ، والتي قد تُسمى خطأً " نصف مزدوج "، أو بشكل غير دقيق "صدى مزدوج" (وهي في الأصل آلية لاكتشاف الأخطاء وليست خيارًا لعرض المدخلات). [ 11 ] [ 12 ] [ 13 ] [ 14 ]

وضع التحرير سطرًا بسطر/تحرير محلي

قد تُتيح برامج محاكاة الطرفيات إمكانية التحرير المحلي، المعروف أيضًا باسم "وضع سطر واحد في كل مرة". ويُشار إليه خطأً باسم " نصف مزدوج ". في هذا الوضع، يُرسل برنامج محاكاة الطرفية أسطر الإدخال كاملةً فقط إلى النظام المضيف. يُدخل المستخدم سطرًا ويُحرره، ولكنه يُحفظ محليًا داخل برنامج محاكاة الطرفية أثناء التحرير. ولا يُرسل السطر إلا عندما يُشير المستخدم إلى اكتماله، عادةً باستخدام مفتاح على لوحة المفاتيح أو زر "إرسال" في واجهة المستخدم. عندئذٍ، يُرسل السطر بالكامل. يتضمن وضع سطر واحد في كل مرة خاصية الصدى المحلي، لأنه بدونها لن يتمكن المستخدم من رؤية السطر أثناء تحريره وكتابته. [ 11 ] [ 15 ] ومع ذلك، فإن وضع سطر واحد في كل مرة مستقل عن وضع الصدى ولا يتطلب صدى محليًا. عند إدخال كلمة مرور، على سبيل المثال، يُمكن إدخالها سطرًا سطرًا مع التحرير المحلي، ولكن يتم تعطيل الصدى المحلي (وإلا لكانت كلمة المرور معروضة). [ 16 ]↵ Enter

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

المحطات الطرفية المتزامنة

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

تتوفر برامج محاكاة الطرفية التي تحاكي بروتوكول 3270 لمعظم أنظمة التشغيل، لاستخدامها من قبل أولئك الذين يديرون أنظمة مثل z9 ، وكذلك أولئك الذين يستخدمون التطبيقات المقابلة مثل CICS .

ومن الأمثلة الأخرى على المحطات الطرفية المتزامنة IBM 5250 و ICL 7561 و Honeywell Bull VIP7800 و Hewlett-Packard 700/92.

وحدات التحكم الافتراضية

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

انظر أيضاً

ملحوظات

  1. جامعة برلين الحرة، 3. هندسة الحواسيب الصغيرة
  2. "ما هو الطرفية الغبية؟ تعريفها ومعناها" . BusinessDictionary.com . مؤرشف من الأصل في 13 أغسطس 2020. تم الاطلاع عليه في 13 مارس 2019 .
  3. "محاكاة طرفية على أجهزة الكمبيوتر الشخصية" .
  4. "Telemate Wiki" .
  5. "عملاء SSH لنظام التشغيل Windows" .
  6. "تشغيل نظام لينكس في مركز البيانات" .
  7. توماس إي. ديكي. "إكسترم - الأسئلة الشائعة (FAQ)" . لماذا VT220؟
  8. "نبذة تاريخية عن محاكاة الطرفية | توربوسوفت" . www.ttwin.com . تاريخ الاسترجاع: 4 أكتوبر 2021 .
  9. "صفحة دليل أوبونتو: tty — واجهة طرفية عامة" . manpages.ubuntu.com . تم الاطلاع عليه بتاريخ 2021-10-04 .
  10. "لقطات الشاشة" . دليل استخدام لوحة المفاتيح ووحدة التحكم في لينكس . مشروع توثيق لينكس . تم الاطلاع عليه بتاريخ 31 يوليو 2008. يمكن الوصول إلى المحتويات الحالية لشاشة /dev/ttyN باستخدام الجهاز /dev/vcsN (حيث يرمز `vcs` إلى `شاشة وحدة التحكم الافتراضية`). [...] من داخل البرنامج، يُفضل عادةً استخدام /dev/vcsaN (`شاشة وحدة التحكم الافتراضية مع السمات`) بدلاً من ذلك - حيث يبدأ برأسية تُحدد عدد الصفوف والأعمدة وموقع المؤشر. انظر vcs(4).
  11. 1 2 Daintith 2004 ، ص. 171.
  12. ويك 2000 ، "صدى" ص 478.
  13. ويك 2000 ، "إيكوبلكس" ص 479.
  14. ويك 2000 ، "وضع الصدى" ص 479.
  15. بانجيا 2010 ، ص 324.
  16. ستيفنز ورايت 1994 ، ص 413.
  17. ^ ميلر 2009 ، ص. 590، 591.

مراجع

  • بانجيا، راميش (2010). "طرفية وضع الخط". قاموس تكنولوجيا المعلومات . لاكشمي. ISBN 978-93-8029-815-3.
  • داينتيث، جون (2004). "صدى". قاموس أكسفورد للحوسبة (  الطبعة الخامسة). مطبعة جامعة أكسفورد. ISBN 978-0-19-860877-6.
  • ميلر، فيليب م. (2009). بروتوكول TCP/IP  - الدليل الشامل للبروتوكول . المجلد  2 - التطبيقات، الوصول، وأمن البيانات. دار النشر العالمية. ISBN 978-1-59942-493-4.
  • ستيفنز، دبليو. ريتشارد ؛ رايت، غاري ر. (1994). بروتوكول TCP/IP مُصوَّر . سلسلة أديسون-ويسلي للحوسبة الاحترافية. المجلد  1: البروتوكولات. أديسون-ويسلي. ISBN 978-0-201-63346-7.
  • ويك، مارتن هـ. (2000). "محاكاة الطرفية". قاموس علوم الحاسوب والاتصالات . المجلد  1. سبرينغر. ص  1763. doi : 10.1007/1-4020-0613-6_19359 . ISBN 978-0-7923-8425-0.