نظام التشغيل هو ببساطة، كما يوحي الاسم، برنامج يعمل على الكمبيوتر الشخصي، لكنه ليس البرنامج الأكثر أساسية من بين البرامج التي تعمل عليه، فهذا الشرف يخص برامج بيوس (Basic Input/Output System, BIOS). لكن نظام التشغيل، هو ما يوليه المستخدمون الاهتمام كثيراً (الشكل 1)، وهو يعمل، من جهة، كمنظم لحركة المرور، حيث يتحكم بتدفق البيانات في الكمبيوتر، ويشغل ويوقف تشغيل مختلف العمليات فيه، ويعتبر، من جهة أخرى، الواسطة التي تستطيع التطبيقات عبرها الوصول إلى العتاد، وبرمجيات النظام. ويذهب نظام التشغيل أبعد من ذلك، فهو الذي يعطي المستخدم، أيضاً، إمكانية إصدار الأوامر إلى برمجيات النظام، وتدعى هذه الإمكانية عادة، واجهة الاستخدام (User Interface)، أما الوظيفتان اللتان ذكرناهما سابقاً، فتدعى الأولى منهما واجهة العتاد (hardware interface)، والثانية واجهة البرمجة (programming interface).
إحدى المهمات الأساسية لنظام التشغيل، هي التحكم بالوصول إلى الأقراص ووسائط التخزين، وكان اسم أنظمة تشغيل الأجهزة الشخصية في أيامها الأولى، يتضمن اللفظة الأوائلية DOS، وهي تتكون من أوائل الكلمات Disk Operating System. وظهر هكذا، نظام التشغيل MS-DOS من شركة مايكروسوفت، وPC-DOS من شركة IBM، وDR-DOS من شركة Digital Research وAppleDOS (النظام السابق لأبل ماكنتوش) من شركة أبل، وAmigaDOS (لأجهزة Commodore Amiga) من شركة كومودور، وأساس الاسم الذي يعتمد على التحكم بالقرص، مازال مبطناً ضمن اختصار اسم نظام تشغيل الشبكة NOS (Network Operating System)، الذي يتحكم بعمل الشبكة. لكن نظام التشغيل لم يكن مجرد نظام للوصول إلى الأقراص ووسائط التخزين، فقد كان منذ البداية أداة للتحكم بعمليات نظام الكمبيوتر، وإدارة مهمات البرامج، أيضاً.
يعتبر المختصون بنظام التشغيل يونكس، أن نظام التشغيل يتألف من ثلاثة أجزاء رئيسية، هي: النواة (Kernel)، والقشرية (Shell)، ونظام الملفات (File system)، بينما يتجه مستخدمو دوس/ويندوز إلى عدم استخدام المصطلح "النواة"، واستخدام مصطلح "القشرية"، أحياناً فقط. لكن هذه المصطلحات مرتبطة بالموضوع بشدة. فالنواة هي مجموعة الوظائف الأدنى مستوى في نظام التشغيل، والتي تحمّل إلى الذاكرة، كلما قمت بإقلاع الجهاز، وذلك مباشرة بعد أن تعمل بعض الوظائف الموجودة في بيوس. تتولى الوظائف الموجودة في نواة أنظمة التشغيل دوس، وويندوز95، وويندوز98، وويندوز إن.تي، معالجة عمليات نقل البيانات، بين مختلف أجزاء نظام الكمبيوتر، كعملية نقل البيانات من القرص الصلب إلى الذاكرة رام، ثم المعالج، أو تحديد مقاطع من الذاكرة لمختلف عمليات النظام، التي تحدث دائماً مادام الجهاز ينفذ عملاً معيناً، وبرمجيات النواة مسؤولة، أيضاً، عن جدولة عمليات المعالج، لتسمح لوظائف القشرية بالوصول إليه.
القشرية هي الواجهة المرئية لنظام التشغيل، وهي عبارة عن برنامج يعمل في الطبقة العليا منه، ويسمح للمستخدمين بإصدار الأوامر إليه. يوجد لنظام يونكس عدد من القشريات، مثل قشريات Bourne، وKorn ، وC، وBourne Again. ومستخدمو يونكس عادة، مغرمون عادة، بالقشرية التي اختاروها، فيستغلون إمكانياتها الكامنة، ويضبطونها لتصبح مناسبة لبيئات عملهم، وينشئون الأسماء المستعارة، للأوامر التي يستخدمونها بكثرة، ويكتبون برامج لتنفيذ بعض أوامر النظام تلقائياً.
القشرية القياسية لنظام التشغيل دوس، هي البرنامج الموجود في ملف Commnad.com. تتضمن الإصدارات المختلفة من نظام التشغيل دوس، إصدارات مختلفة من ملف Command.com ، وتضيف الإصدارات الأحدث منه، أوامر جديدة، وخيارات جديدة للأوامر الموجودة سابقاً، توفر للمستخدمين مرونة أكبر للتحكم بعمل الجهاز. فقد أضافت أوامر Command.com في الإصدارة 4 من نظام التشغيل دوس، مثلاً، الخيار /p للأمر del، الذي يجعل النظام يطلب تأكيد عمليات الحذف، قبل تنفيذها فعلياً، ووفرت أوامر Command.com في الإصدارة 5 من نظام التشغيل دوس، إمكانية ترتيب أسماء الملفات والمجلدات التي يعرضها الأمر dir.
توجد قشريات مشابهة للملف Command.com، مثل NDOS و4DOS، لكنه كان، وما يزال، أشهرها. إذا أردنا أن نتوخى الدقة، فإننا انتقلنا للحديث الآن عن أمر خارج نظام التشغيل. فالقشرية ليست سوى برنامج خدمي لإدخال الأوامر والوصول إلى نظام التشغيل، لكنها ليست جزءاً من جوهر نظام التشغيل. وعلى الرغم من ذلك، وعبر تاريخ تطور الكمبيوتر، أصبحت القشرية والبرامج الأخرى تعرف كجزء من نظام التشغيل، وهنا يكمن الالتباس، وهو ما سنحاول توضيحه باختصار. إذا أردنا أن ننظر إلى جوهر نظامي تشغيل مايكروسوفت دوس/ويندوز، لا حاجة أن نبتعد بنظرنا أكثر من ملفي النظام Io.sys وMsdos.sys (في الإصدارات 6.x وما قبلها من نظام التشغيل دوس)، وهما الملفان الأساسيان في نظام التشغيل دوس، حتى الإصدارة 6.22 منه، وبالتالي في نظام التشغيل ويندوز 3.x، أيضاً، (والذي لم يكن نظام تشغيل حقيقياً، بقدر ما كان كساء لنظام التشغيل دوس). بينما يجمع الملف Io.sys في نظام التشغيل ويندوز95 ومرافقه دوس 7 وظائف هذين الملفين معاً. يمثل الملف Io.sys في نظام التشغيل دوس 6.22، أو الإصدارات الأقدم، أخفض مستوى من الواجهات البرمجية، ويتضمن وظائف تتعامل مع العتاد مباشرة، فهو يحتوي على الروتينات اللازمة للاتصال بين نظام التشغيل ووظائف بيوس في الجهاز، والوصول إلى مسجلات المعالج، بينما يتضمن الملف Msdos.sys الروتينات ذات المستوى الأعلى، مثل معالجة الملفات، وتحويل أوامر التطبيقات إلى مجموعة تعليمات لوظائف الملف Io.sys.
يختلف ملف Io.sys في دوس 7/ويندوز95 وويندوز98، عن الملف ذاته في دوس/ويندوز 3.x، فهو يلغي بشكل أساسي، الحاجة لوجود ملفي التجهيز Config.sys وAutoexec.bat، الخاصين بنظام التشغيل دوس، ويحمّل ملف Himem.sys، للوصول إلى منطقة الذاكرة العليا، وملف Ifshlp.sys، وهو برنامج تحميل برامج القيادة، وملف Dblspace.bin أو Drvspace.bin، وهي برامج خدمية لضغط الأقراص. تسمح الإصدارة الجديدة من ملف Io.sys، بتحميل خيارات ملف Config.sys القديمة، مثل أوامر FILES، وSTACKS وBUFFERS وSHELL. تعني هذه التعديلات في Io.sys، أن العناصر التي كانت، سابقاً، خيارات مثل DriveSpace وDoubleSpace، أصبحت، بسبب تضمينها في ملف Io.sys، مبنية داخل نظام التشغيل، وهذا ما كان يحدث باستمرار خلال تطور أنظمة التشغيل. يختلف الملف Msdos.sys، أيضاً، بين إصدارتيه في أنظمة التشغيل دوس ويندوز95 وويندوز98، وأصبح يتضمن معلومات عن خيارات الإقلاع، ومواقع ملفات النظام، بما فيها موقع ملف التسجيل في ويندوز. يوجد هذان الملفان في الدليل الرئيسي لقرص الإقلاع، وهما مخفيان عن العرض بشكل ضمني، سواء في مستكشف ويندوز أو إدارة الملفات أو أمر Dir. والهدف من إخفائهما، أن لا يعبث أحد بهما ويخربهما، فما لا يمكن رؤيته لا يمكن العبث به. ويحمل الملفان، أيضاً، صفة "للقراءة فقط"، أي لا يمكن حذفهما خطأً، ولكن يمكن بالخطأ، اختيارهما مع الملفات الأخرى، ونقر "موافق" عندما يسأل النظام إذا كنت متأكداً من عملية الحذف، مما يؤدي إلى حذفهما. (يجادل البعض أن أنظمة التشغيل الضعيفة، فقط، يمكن أن تسمح بحذف ملفات النظام الحساسة، أثناء تشغيل النظام ذاته. فلا يسمح نظام التشغيل ويندوز إن.تي، مثلاً، بذلك، على الأقل ليس إذا ركب على نظام ملفات ويندوز إن.تي: لا يمكن حذف ملفات النظام أثناء عمل نظام التشغيل ويندوز إن.تي، ولا يمكن، في هذه الحالة، أيضاً، تهيئة القرص الصلب الرئيسي، أو تقسيمه باستخدام الأمر FDISK، بينما يمكن حذف ملفات النظام، في دوس أو ويندوز95، بدون عناء فور ظهورهما، لكن لن يقلع، بعدها، نظام التشغيل!)
توفر أنظمة التشغيل نوعاً من العزل بين طبقتي التطبيقات والعتاد، وذلك عبر ما يسمى واجهة برمجة التطبيقات API (Application Programming Interface)، التي توفر للمبرمجين أسلوباً قياسياً لاستدعاء إجراءات عامة محددة الوظائف، أو إجراءات تستدعي روتينات تحكم بعتاد معين، ويتم تحديث وظائف واجهة برمجة التطبيقات، كلما توفر عتاد جديد. لكن هذا ليس كافياً للاتصال بالعتاد بشكل صحيح، إذ يستخدم نظام التشغيل برامج قيادة (drivers) كتبت خصيصاً لتأمين الاتصال بين نظام التشغيل وقطعة معينة من العتاد، كبطاقة رسوميات، مثلاً. يضيف نظام التشغيل ويندوز95، على ذلك طبقة برامج قيادة ثانية، تدعى برامج القيادة الظاهرية (virtual driver)، والتي تعمل كواجهة ربط بين التطبيقات، التي تطلب إصدار صوت، مثلاً، وبرنامج قيادة بطاقة صوت معينة موجودة في الجهاز. يؤدي تحديث وظائف واجهة برمجة التطبيقات إلى تغييرات أساسية في قدرات نظام التشغيل. ومثال جيد على ذلك، إضافة وظائف DirectX إلى نظام التشغيل ويندوز95، وهي ليست مرفقة بالنظام لدى شرائه، لكن إضافتها لاحقاً، يوفر دعماً تقنياً لتشغيل مجموعة واسعة من تطبيقات الرسوميات التي تعتمد ويندوز95.
البرامج الخدمية والبرامج المضافة
يتألف نظام التشغيل السليم، بشكل رئيسي، من ملفات النظام ذاته، وملفات القشرية التي تسمح للمستخدم بالتفاعل معه، لكن، وعبر تقدم الأعوام، وجد عدد متزايد من الأجزاء طريقه إلى ما يعرفه المستخدمون الآن بنظام التشغيل. ذكرنا حتى الآن، مثالاً واحداً على ذلك، وهو إضافة البرامج الخدمية الخاصة بضغط الأقراص إلى نظام التشغيل، وهي برامج طرحها أصلاً، منتجون آخرون غير شركة مايكروسوفت، (من ذلك البرنامجين Stacker وXtraDrive)، وتم ذلك في بداية التسعينيات، حيث اشترت مايكروسوفت برنامج Stacker، ودمجته في رزمة نظام التشغيل ضمن برنامج DoubleSpace. أضيفت على نظام التشغيل، أيضاً، برامج خدمية لإزالة تجزئة الأقراص، وهي كانت أيضاً، متوفرة من منتجين آخرين، مثل شركتي نورتون وSymantec (التي وفرت أيضاً، قشريات تستبدل ويندوز 3.1). لكي ترى مجموعة البرامج الخدمية التي أضيفت إلى بيئة نظام التشغيل ويندوز95، (والتي أضيف عدد أكبر منها إلى نظام التشغيل ويندوز98 بالتأكيد)، انقر "ابدأ/البرامج/البرامج الملحقة/أدوات النظام"، وسوف تجد برامج خدمية كثيرة، مثل برنامج تفحص الأقراص (ScanDisk)، وبرنامج مراقبة النظام (System Monitor)، والتي تعتبر جزءاً من نظام التشغيل، لأنها: أولاً، تؤدي مهمات على مستوى النظام، وثانياً، مرفقة بنظام التشغيل ذاته. وأصبح فهم المستخدم لنظام التشغيل: كل شيء مرفق بنظام التشغيل، هو جزء منه، وعلى الرغم من أن هذا ليس تعريفاً تقنياً دقيقاً، إلا أن الجدال في صحة هذا التعريف، مثل القول بأن عادم السيارة ليس جزءاً من السيارة ذاتها، ولا شك أن السيارة يمكن أن تعمل جيداً، بدون العادم، لكنه يكون جزءاً من السيارة عندما تشتريها، وأنت مجبر قانونياً على اقتنائه، وبدونه تصبح السيارة أقل راحة في القيادة، وهكذا فإنه يعتبر جزءاً من السيارة. ينطبق الأمر ذاته على برنامج خدمي معين، مثل "تفحص الأقراص"، فلا حاجة له كي يعمل نظام التشغيل، لكنه يأتي ضمن أنظمة التشغيل دوس وويندوز95/98، ويشغله ويندوز98 (ونظام ويندوز95 OSR2)، عند إقلاع النظام، إذا لم يتم إغلاق ويندوز بشكل صحيح في آخر استخدام للجهاز، وبذلك أصبح جزءاً من نظام التشغيل.
دخلت مايكروسوفت في دائرة البرامج الخدمية المضافة (Add-On) مع إطلاق إضافتي Power Toys وKernel Toys، في الأيام المبكرة لوجود نظام التشغيل ويندوز95، (انظر الموقع
www.microsoft.com/windows95/info/shareware.htm)، وتقدمت أكثر في هذا الاتجاه، بالمكونات القابلة للجلب لويندوز95 المسماة OSR2 (
www.microsoft.com./windows/pr/win95osr.htm). تتضمن البرامج المضافة Power Toys، عدداً من التحسينات على واجهة الاستخدام لنظام التشغيل ويندوز95، مثل القدرة على تغيير الكثافة النقطية للشاشة، بدون الحاجة لإعادة إقلاع النظام، بينما تتضمن البرامج المضافة Kernel Toys، برامج خدمية جديدة تعمل على مستوى منخفض في النظام، مثل خدمة إعادة تعيين خريطة لوحة المفاتيح، ومشاهدة عمليات المعالج، وتتبع ذاكرة النظام، وإحداث تغييرات في عناصر واجهة الاستخدام. ويبدو أنه سيضاف المزيد باستمرار إلى نظام التشغيل.
إنترنت إكسبلور 4.0
يشكل الاتجاه لإضافة عناصر أخرى لنظام التشغيل، قلب النزاع المحيط بإنترنت إكسبلورر4، فالسؤال الرئيسي هو إذا كان هذا المتصفح يشكل جزءاً من نظام التشغيل أم لا؟
للاطلاع على شهادة ممثل شركة مايكروسوفت في المحكمة، عن الدرجة التي أصبح فيها إنترنت إكسبلورر4 مدمجاً في نظام التشغيل ويندوز95، انظر في الصفحة
http://www.microsoft.com/corpinfo/11-10Cole.html#p45. ، والتي تقول فيها شركة مايكروسوفت أنه بدءاً من الإصدارة 4.0، أصبح إنترنت إكسبلورر جزءاً من نظام التشغيل، وأن إزالته سوف تسبب تعطيل نظام التشغيل، جزئياً، على الأقل.
تقول شهادة مايكروسوفت أن الشركة، صممت كلاً من برنامجي إنترنت إكسبلورر3 وإنترنت إكسبلورر4، على شكل مجموعات من الخدمات، التي أصبحت تشكل لب نظام التشغيل ويندوز95، حيث تقوم تلك الخدمات بأكثر من توفير إمكانيات التصفح. وتذكر الشهادة أن نداءات الوظائف المختلفة في نظام ويندوز95، سوف لن تعمل بشكل صحيح بدون تلك الخدمات. وباختصار هذا يعني صراحة أنها جزء فعال من نظام التشغيل.
ADMIN