شل (الحوسبة)

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

برنامج واجهة نظام التشغيل هو برنامج حاسوبي يوفر وصولاً واسعاً ومباشراً نسبياً إلى النظام الذي يعمل عليه. ويشير مصطلح "واجهة" إلى كونه طبقة رقيقة نسبياً تحيط بنظام التشغيل. [ 1 ] [ 2 ]

معظم برامج سطر الأوامر هي برامج واجهة سطر أوامر (CLI). بعض واجهات المستخدم الرسومية (GUI) تتضمن أيضًا برامج سطر أوامر.

ملخص

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

معظم واجهات سطر الأوامر لأنظمة التشغيل ليست واجهات مباشرة لنواة النظام ، حتى وإن كانت تتواصل مع المستخدم عبر الأجهزة الطرفية المتصلة بالحاسوب مباشرةً. في الواقع، تُعدّ واجهات سطر الأوامر تطبيقات خاصة تستخدم واجهة برمجة تطبيقات النواة بنفس طريقة استخدامها من قِبل برامج التطبيقات الأخرى. تُدير واجهة سطر الأوامر تفاعل المستخدم مع النظام من خلال مطالبة المستخدمين بإدخال البيانات، وتفسير هذه البيانات، ثم معالجة مخرجات نظام التشغيل (تمامًا مثل حلقة القراءة والتقييم والطباعة، REPL ). [ 3 ] وبما أن واجهة سطر الأوامر لنظام التشغيل هي في الواقع تطبيق، فمن السهل استبدالها بتطبيق مشابه في معظم أنظمة التشغيل.

بالإضافة إلى تشغيل الأوامر على الأنظمة المحلية، توجد طرق مختلفة لإتاحة الأنظمة البعيدة للمستخدمين المحليين؛ وتُعرف هذه الطرق عادةً بالوصول عن بُعد أو الإدارة عن بُعد. كان الوصول عن بُعد متاحًا في البداية على الحواسيب المركزية متعددة المستخدمين ، والتي كانت توفر واجهات مستخدم نصية لكل مستخدم نشط في وقت واحد عبر طرفية نصية متصلة بالحاسوب المركزي عبر خط تسلسلي أو مودم . وقد امتد الوصول عن بُعد ليشمل أنظمة شبيهة بنظام يونكس وأنظمة مايكروسوفت ويندوز. في الأنظمة الشبيهة بنظام يونكس، يُستخدم بروتوكول Secure Shell (SSH) عادةً للأوامر النصية، بينما يمكن استخدام نفق SSH لواجهات المستخدم الرسومية (GUIs) المستندة إلى نظام X Window . أما في أنظمة مايكروسوفت ويندوز، فيمكن استخدام بروتوكول سطح المكتب البعيد (RMS) لتوفير الوصول عن بُعد عبر واجهة المستخدم الرسومية، منذ ويندوز فيستا ، و PowerShell Remote ، منذ إصدار ويندوز 10 رقم 1809. كما يمكن استخدام SSH [ 4 ] للوصول عن بُعد عبر الأوامر النصية من خلال WMI وRPC وWS-Management. [ 5 ]

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

تاريخ

وفرت الأنظمة التفاعلية المبكرة مترجم أوامر بسيطًا لسطر الأوامر كجزء من نظام المراقبة المقيم . وقد يُطلق على هذا المترجم أسماء مختلفة، كما هو الحال في أنظمة COMCONDEC TOPS-10 . [ 6 ] كان المترجم يُنفذ أحد الأوامر المُعرّفة مسبقًا، ومنها تشغيل برنامج المستخدم. وشملت الأوامر الشائعة تسجيل دخول المستخدم وخروجه من النظام، وتخصيص وتحرير ومعالجة الأجهزة والملفات، والاستعلام عن معلومات متنوعة حول النظام أو عملية المستخدم. [ 7 ]

يهدف هذا الإجراء إلى إنشاء وسيط تبادل يمكن من خلاله تفعيل أي إجراء، كما لو تم استدعاؤه من داخل برنامج آخر . وسنشير إلى هذا الإجراء فيما يلي، تبسيطًا للأمر، باسم "الواجهة".

لويس بوزان، ذا شل: أداة عالمية لاستدعاء وتسلسل الإجراءات في النظام [ 8 ]

في عام 1964، ابتكر لويس بوزان ، لنظام التشغيل Multics ، فكرة "استخدام الأوامر كما لو كانت لغة برمجة"، وصاغ مصطلح "الصدفة" لوصفها . [ 9 ] وفي وثيقة صدرت عام 1965، عُرّفت الصدفة بأنها "إجراء مشترك يستدعيه المشرف تلقائيًا عندما يُدخل المستخدم رسالةً ما على وحدة التحكم الخاصة به، في وقت لا يكون لديه فيه أي عملية أخرى قيد التنفيذ تحت سيطرة وحدة التحكم. يعمل هذا الإجراء كواجهة بين رسائل وحدة التحكم والروتين الفرعي [في المشرف]". [ 8 ] وقد طُبّق هذا النظام لأول مرة بواسطة غليندا شرودر ورجل لم يُذكر اسمه من شركة جنرال إلكتريك . [ 9 ]

كما قدمت Multics الوظيفة النشطة ، وهي مفهوم أساسي في بعض أنظمة التشغيل اللاحقة. ويتم تعريفها على النحو التالي:

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

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

ظهرت واجهة المستخدم الرسومية لأول مرة في نظام NLS الذي ابتكره دوغلاس إنجلبارت ، والذي عُرض في ديسمبر 1968 في مؤتمر الحاسوب المشترك الخريفي في سان فرانسيسكو، فيما يُعرف بـ" أم جميع العروض التوضيحية" . نقل زملاء إنجلبارت في معهد ستانفورد للأبحاث المفهوم إلى مركز أبحاث زيروكس بالو ألتو (PARC)، حيث ظهر في جهاز ألتو الذي طُرح عام 1973. ومن هناك، انتشرت الفكرة إلى جهاز ليليث الذي ابتكره نيكلاوس ويرث عام 1980، ثم إلى جهاز أبل ليزا عام 1983، لتصبح بعد ذلك شائعة الاستخدام.

واجهات سطر الأوامر

موجه الأوامر ، واجهة سطر الأوامر في نظام التشغيل ويندوز
باش ، وهي واجهة سطر أوامر يونكس شائعة الاستخدام

واجهة سطر الأوامر ( CLI) هي واجهة سطر أوامر لنظام التشغيل، تستخدم الأحرف والأرقام المكتوبة على لوحة المفاتيح لتزويد نظام التشغيل بالتعليمات والبيانات بشكل تفاعلي. على سبيل المثال، يمكن لجهاز الكتابة عن بُعد إرسال رموز تمثل ضغطات المفاتيح إلى برنامج مُفسِّر الأوامر الذي يعمل على الحاسوب؛ يقوم مُفسِّر الأوامر بتحليل تسلسل ضغطات المفاتيح، ويرد برسالة خطأ إذا لم يتمكن من التعرف على تسلسل الأحرف، أو قد يُنفِّذ إجراءً برمجيًا آخر مثل تحميل برنامج تطبيقي، أو عرض قائمة الملفات، أو تسجيل دخول المستخدم، وغير ذلك الكثير. تحتوي أنظمة التشغيل مثل يونكس على مجموعة كبيرة ومتنوعة من برامج سطر الأوامر ذات أوامر وبنية وقدرات مختلفة، مع اعتبار واجهة سطر أوامر POSIX أساسًا لها. بعض أنظمة التشغيل كانت تحتوي على نمط واحد فقط من واجهة سطر الأوامر؛ فأنظمة التشغيل الشائعة مثل MS-DOS كانت تأتي بواجهة سطر أوامر قياسية ( COMMAND.COM )، ولكن غالبًا ما كانت تتوفر واجهات من جهات خارجية، تُوفر ميزات أو وظائف إضافية مثل القوائم أو تنفيذ البرامج عن بُعد.

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

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

توفر العديد من واجهات سطر الأوامر، مثل Nushell وXonsh و Bash (واجهة يونكس) و Z shell ، ميزة الإكمال التلقائي للأوامر ، مما يُمكّن المفسر من توسيع الأوامر بناءً على بضعة أحرف يُدخلها المستخدم. [ 11 ]

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

واجهات رسومية

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

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

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

عملية السحب والإفلات التي تم تنفيذها على مجموعة من الملفات بين KDesktop و Konqueror في KDE

تعتمد واجهات المستخدم الرسومية عادةً على نظام النوافذ . في حالة نظام X Window أو Wayland ، تتكون الواجهة من مدير نوافذ X أو مُركِّب Wayland ، على التوالي، بالإضافة إلى برنامج واحد أو أكثر يوفر وظائف تشغيل التطبيقات المُثبَّتة، وإدارة النوافذ المفتوحة وأسطح المكتب الافتراضية، وغالبًا لدعم مُحرِّك الأدوات. تُعدّ واجهة GNOME وواجهة KDE Plasma واجهات رسومية لنظام X Window وWayland.

في حالة نظام macOS ، يعمل Quartz Compositor كنظام نوافذ، ويتكون غلاف النظام من Finder ، [ 12 ] وDock ، [ 12 ] و SystemUIServer، [ 12 ] و Mission Control . [ 13 ]

مايكروسوفت ويندوز

تستخدم الإصدارات الحديثة من نظام التشغيل مايكروسوفت ويندوز واجهة ويندوز كواجهة رئيسية. توفر واجهة ويندوز بيئة سطح المكتب ، وقائمة ابدأ ، وشريط المهام ، بالإضافة إلى واجهة مستخدم رسومية للوصول إلى وظائف إدارة الملفات في نظام التشغيل. كما تتضمن الإصدارات القديمة مدير البرامج ، الذي كان واجهة سلسلة 3.x من مايكروسوفت ويندوز، والذي كان في الواقع مُضمّنًا مع الإصدارات اللاحقة من ويندوز، بنوعي 95 وNT، على الأقل حتى ويندوز XP. وكانت واجهات الإصدارين 1 و2 من ويندوز مختلفة بشكل ملحوظ.

تُعتبر تطبيقات سطح المكتب أيضًا واجهات مستخدم، طالما أنها تستخدم محركًا خارجيًا. وبالمثل، قام العديد من الأفراد والمطورين غير الراضين عن واجهة مستكشف ويندوز بتطوير برامج إما تُغير وظائف ومظهر واجهة المستخدم أو تستبدلها بالكامل. يُعد برنامج WindowBlinds من StarDock مثالًا جيدًا على النوع الأول من التطبيقات، بينما يُعد برنامجا LiteStep وEmerge Desktop مثالين جيدين على النوع الثاني.

تتيح برامج التوافقية والبرامج المصممة خصيصًا لمستخدمي ويندوز استخدام بدائل للعديد من واجهات المستخدم الرسومية المختلفة القائمة على أنظمة يونكس، والتي سيتم تناولها لاحقًا، بالإضافة إلى نظام ماكنتوش. ويمكن لبرنامج مكافئ لمدير العرض التقديمي لنظام التشغيل OS/2 الإصدار 3.0 تشغيل بعض برامج OS/2 في ظل ظروف معينة باستخدام النظام الفرعي البيئي لنظام التشغيل OS/2 في إصدارات ويندوز NT.

استدعاء من برنامج

يمكن عادةً استدعاء الصدفة من داخل البرنامج من خلال وظائف النظام القياسية مثل system()، popen()ودون exec()أي تدخل من واجهة المستخدم.

إلى جانب هذه الوظائف القياسية، يوفر نظام ويندوز، على سبيل المثال، واجهة برمجة تطبيقات Windows Shell API التي تعرض مجموعة من الوظائف التي يمكن للبرامج استخدامها للتفاعل مع واجهة سطر الأوامر. تُقدم هذه الوظائف في ملفات DLL (مثل shell32.dll و shlwapi.dll) ولا تتطلب تشغيل واجهة المستخدم الرسومية الافتراضية لواجهة سطر الأوامر، أي explorer.exe. يستخدم explorer.exe والبرامج البديلة له واجهة برمجة تطبيقات Windows Shell API لتزويد المستخدمين بواجهة مستخدم رسومية لواجهة سطر الأوامر دون الحاجة إلى تنفيذ وظائف واجهة سطر الأوامر الأساسية بأنفسهم (والتي يتم تنفيذها وتوفيرها بواسطة shell32.dll و shlwapi.dll). ولكن يمكن للبرامج استخدام واجهة برمجة تطبيقات Windows Shell API لأغراض أخرى دون تزويد المستخدمين بواجهة مستخدم رسومية لواجهة سطر الأوامر.

استخدامات أخرى

يُستخدم مصطلح "Shell" أيضًا بشكل عام لوصف برامج التطبيقات التي "تُبنى حول" مكون معين، مثل متصفحات الويب وبرامج البريد الإلكتروني، قياسًا على الأصداف الموجودة في الطبيعة. في الواقع، يُغلف الصدفة (التي تعمل عبر سطر الأوامر) نواة نظام التشغيل . ويُشار إليها أحيانًا باسم "البرامج المُغلِّفة". [ 2 ]

في أنظمة الخبراء ، تُعتبر الشفرة البرمجية جزءًا من برنامج نظام خبير "فارغ" بدون قاعدة معرفية لأي تطبيق معين. [ 14 ]

انظر أيضاً

مراجع

  1. «الرجل الخامس للإنترنت» ، مسح الدماغ، مجلة الإيكونوميست ، لندن: مجموعة الإيكونوميست ، 13 ديسمبر 2013، ابتكر السيد بوزين برنامجًا يُدعى RUNCOM ساعد المستخدمين على أتمتة الأوامر المملة والمتكررة. هذا البرنامج، الذي وصفه بأنه «غلاف» يحيط بالمعالج الداخلي للحاسوب، ألهم -وأعطى اسمًا- فئة كاملة من أدوات البرمجيات، تُسمى أغلفة سطر الأوامر، والتي لا تزال موجودة في أنظمة التشغيل الحديثة.
  2. 1 2 ريموند، إريك س. (محرر). "صدفة" . ملف المصطلحات .
  3. "أغلفة أنظمة التشغيل" . مركز معلومات AIX 6.1 . شركة IBM . تم الاطلاع عليه في 16 سبتمبر 2012 .
  4. teocci. "كيفية الاتصال بنظامي التشغيل Windows 10 أو 11 عبر SSH؟" . GitHub Gist . تم الاطلاع عليه بتاريخ 24 يناير 2025 .
  5. ويلر، شون (14 أكتوبر 2018). "تشغيل الأوامر عن بُعد" . وثائق مايكروسوفت . مايكروسوفت . تم الاطلاع عليه في 30 يونيو 2019. يمكنك تشغيل الأوامر على جهاز كمبيوتر واحد أو مئات الأجهزة باستخدام أمر PowerShell واحد . يدعم Windows PowerShell الحوسبة عن بُعد باستخدام تقنيات متنوعة، بما في ذلك WMI وRPC وWS-Management.
  6. شركة ديجيتال إكويبمنت (نوفمبر 1980). المكونات الداخلية لشاشة TOPS-10 (ملف PDF) . الصفحات من CMND-1 إلى CMND-16 . تاريخ الاسترجاع: 29 مارس 2022 . 
  7. شركة ديجيتال إكويبمنت (أغسطس 1977). دليل أوامر نظام التشغيل DECSystem 10 (ملف PDF) . تم الاطلاع عليه بتاريخ 29 مارس 2022 .
  8. 1 2 بويزين، لويس. "ذا شل: أداة عالمية لاستدعاء وتسلسل الإجراءات في النظام" (PDF) .
  9. 1 2 بوزان، لويس. "أصل الصدفة" . multicians.org . تم الاطلاع عليه في 29 مارس 2022 .
  10. أوامر Multics الشائعة (ملف PDF) . شركة هانيويل. فبراير 1983. الصفحات 1-1 – 1-2 . GB58-00 . تاريخ الاسترجاع: 30 ديسمبر 2025 . 
  11. الموقع الرسمي لـ Xonsh
  12. 1 2 3 "دورة حياة شيطان" . شركة آبل.
  13. "إعادة تشغيل مركز التحكم في نظام التشغيل OS X Lion" . OSXDaily. 23 نوفمبر 2011.
  14. الجمعية البريطانية للحاسبات: معجم مصطلحات تكنولوجيا المعلومات والاتصالات والحوسبة الصادر عن الجمعية البريطانية للحاسبات . بيرسون للتعليم. 2005. ص 135. ISBN  978-0-13-147957-9.