نظام التشغيل هو برنامج مسئول عن إدارة موارد عتاد وبرمجيات الحاسوب، يقوم نظام التشغيل بالمهام اﻷساسية مثل إدارة وتخصيص مصادر الحاسب الآلي(الذاكرة ، القرص الصلب ، الوصول للأجهزة الطرفية الملحقة ..إلخ)، ترتيب أولوية التعامل مع اﻷوامر، التحكم في أجهزة اﻹدخال واﻹخراج، تسهيل الشبكات، وإدارة الملفات.
فهرس |
الحواسيب الحديثة متعددة اﻷغراض، شاملة الحواسيب الشخصية و الحواسيب العملاقة(mainframes)، لها نظام تشغيل ليشغل باقى البرامج مثل التطبيقات البرمجية. تشمل اﻷمثلة على أنظمة تشغيل الحواسيب الشخصية ميكروسوفت ويندوز، لينوكس، ماك أو.إس(داروين)، و يونكس.
تشمل الفوائد اﻷساسية لنظام تشغيل ما يلى:
المستوى اﻷدنى من أى نظام تشغيل هو نواته. هذه هى الطبقة اﻷولى من البرمجيات التى يتم تحميلها في الذاكرة عند إقلاع التظام أو بدأ التشغيل. توفر النواة إمكانية الوصول إلى الخدمات المركزية الشائعة اﻷخرى لكل برامج النظام والتطبيقات. هذه الخدمات تشمل(وليس فقط): جدولة المهام، إدارة الذاكرة، الوصول للقرص، و الوصول ﻷجهزة العتاد.
كما هو الحال بالنسبة للنواة، فإن نظام التشغيل كثيرا ما يزود ببرمجيات نظام ﻹدارة واجهة المستخدم الرسومية (بالرغم من إدماج ويندوز و ماكينتوش لهذه البرامج في نظام التشغيل). وأيضا أدوات لمهام مثل إدارة الملفات و إعداد نظام التشغيل. في أحيان كثيرة يوزع مع نظام التشغيل برمجيات ليست لها علاقة مباشرة بالوظائف اﻷساسية لنظام التشغيل، ولكن من يوزع نظام التشغيل وجد فائدة في توزيعها معه.
الفاصل بين نظام التشغيل وبرمجيات التطبيقات غير واضح، وكثيرا ما يكون موضع خلاف. من وجهة النظر التجارية أو القانونية، فإن الفصل يعتمد على سياق اﻹهتمامات الداخلة في الموضوع. على سبيل المثال، واحد من اﻷسئلة الرئيسية في قضية الولايات المتحدة ضد ميكرسوفت هو هل متصفح ويب ميكروسوفت جزأ من نظام التشغيل أم لا.
كما هو الحال مع مصطلح "نظام تشغيل"، فإن الخلاف يدور أحيانا حول ما الذى يجب على النواة إدارته يالتحديد، مع النقاش حول هل يجب أن تكون أشياء مثل نظام الملفات في النواة أم لا. البعض يؤيد النواة الصغريه، و البعض النواة الاحاديه وهكذا.
تستخدم أنظمة التشغيل على أغلب، وليس كل الحواسيب. الحواسيب اﻷبسط، شاملة اﻷنظمة المغروسة اﻷصغر والعديد من الحواسيب المبكرة بدون نظام تشغيل، بدلا من هذا يعتمدوا على برامج التطبيقات لتدير العتاد بمعرفتها، و ربما بمسياعدة مكتبات صممت لهذا الغرض.
أى عمل في حاسوب، سواء كان خدمة تعمل في الخلفية أو تطبيق، يجرى داخل عملية. ما دامت معمارية John von Neumann تستخدم في بناء الحاسوب، فلا يمكن تشغيل سوى عملية واحدة لكل و.م.م في كل مرة. أنظمة التشغيل اﻷقدم مثل MS-DOS لا تقدم أى محاولة لتجاوز هذه المحدودية و في الحقيقة يمكن لعملية واحدة فقط أن تعمل عليهم. تستطيع اﻷنظمة الحديثة محاكاة تشغيل أكثر من عملية مرة واحدة (متعددة المهام) على و.م.م واحدة. إدارة العمليات هى طريقة نظام التشغيل في التعامل مع العمليات العديدة العاملة. حيث أن أغلب الحواسيب تحتوى على و.م.م مفردة ذات قلب واحد، فإن الحصول على تعدد المهام يكون ببساطة عن طريق التحويل بين المهام بسرعة. و مع زيادة العمليات التى يشغلها المستخدم يصبح نصيب كل عملية من الوقت أقل، في كثير اﻷنظمة قد يسبب هذا مشاكل مثل تخطى أجزاء من ملفات الصوت أو حركة مرتعشة لمؤشر الفأرة. تشمل إدارة العمليات الحساب والتوزيع "للأنصبة الزمنية".
طبقا لقانون باركينسون "البرامج تتمدد لتملأ الذاكرة المتوفرة لاحتواءهم". لهذا يحب المبرمجين ذاكرة لا نهائية الحجم ولا نهائية السرعة. في هذه اﻷيام فإن أغلب ذاكرة الحاسوب مرتبة في نمط شجرى بدآ بالسجلات (registers) اﻷسرع، الكاش، الرام، قرص التخزين وربما حتى اﻷشرطة المغناطيسية. مدير الذاكرة في نظام التشغيل يقوم بالتعامل مع أنواع الذاكرة، بتحديد أيها متوفر، وأيها يجب تخصيصه أو إلغاء تخصيصه وكيفية اﻹنتقال بين الذاكرة الرئيسية و الذواكر الثانوية. هذه العملية والتى يشار اليها غالبا باسم إدارة الذاكرة اﻹفتراضية تزيد من حجم الذاكرة المتوفرة لكل عملية (4 ج.ب لحاسوب بينتيم مثالى حتى لو كان حجم الرام الفيزيائى المتوفر لا يتعدى 265 م.ب). يأتى هذا على حساب السرعة التى تصبح بطيئة، ولكن يمكن أن تصبح سريعة جدا في الحالات المتطرفة، ومن هنا قد تحدث المشاكل.
جزء آخر مهم من إدارة الذاكرة، هو إدارة العناوين اﻹفتراضية، مع مساعدة من و.م.م. إذا كان هناك العديد من العمليات في الذاكرة فيجب منعهم من تعارض أى منهم مع ذاكرة اﻵخر (ما لم يكن هناك طلب محدد لمشاركة جزء محدود من الذاكرة بصورة محكومة). يتم تحقيق هذا عن طريق وجود فراغات عناوين منفصلة.
لدى الكثير من أنظمة التشغيل العديد من أنظمة الملفات التى يمكن استخدامها بشكل طبيعى، لينوكس لديه أكبر تنوع من أنظمة الملفات هذه، وهى ext2 ،ext3 ،ReiserFS ،Reiser4 ،GFS ،GFS2 ،OCFS ،OCFS2 ،NILFS و نظام ملفات جوجل. كما يدعم لينوكس أيضا أنظمة ملفات XFS و JFS بشكل كامل. مع دعم لنظام ملفات FAT ودعم قراءة NTFS. أما ويندوز فمحدود من ناحية دعمه ﻷنظمة الملفات حيث يدعم فقط: FAT12 ،FAT16 ،FAT32، و NTFS.
بالنسبة ﻷغلب أنظمة الملفات التي ذكرناها هناك طريقتان لتخصيصها. فالنظام هو إما أن يكون journaled أيْ مزود بقيد للحوادث وإما غير journaled. يعتبر النظام المزود بقيد الحوادث journaled خياراً آمناً في حالات تعافي النظام. لو حدث أن توقف النظام عن العمل فجأة (في حالة انقطاع الكهرباء مثلا) فإن نظام الملفات غير المزود بقيد للحوادث سيحتاج إلى نوع من الفحص في حين يحدث هذا تلقائيا في أنظمة الملفات المزودة بقيد الحوادث.
من أنظمة ملفات ويندوز المزودة بقيد الحوادث هي NTFS فقط، في حين أن كل أنظمة ملفات لينكس هي كذلك ما عدا ext2.
يتكون كل نظام ملفات من أدلة وأدلة فرعية منفصلة. ومع ذلك هناك اختلافات غير ملحوظة فمثلا أنظمة ملفات ويندوز تفصل بين المجلدات بالشرطة المائلة الراجعة "\" وأسماء الملفات غير حساسة لحالة اﻷحرف، على حين في يونكس يفصل بين المجلدات باستخدام الشرطة المائلة "\" وأسماء الملفات حساسة لحالة اﻷحرف.
أغلب أنظمة التشغيل الحديثة قادرة على استخدام بروتوكول الشبكات العالمى TCP/IP. مما يعنى أن أحد اﻷنظمة يمكن أن يظهر في شبكة نظام آخر، ويشاركه المصادر مثل الملفات، و الطابعة، و ماسح الصور.
الكثير من أنظمة التشغيل أيضا تدعم واحد أو أكثر من البروتوكولات التقليدية الخاصة بكل مصنّع، مثل SNA في أنظمة IBM، و البروتوكولات الخاصة بميكروسوفت في ويندوز. هناك أيضا بروتوكولات خاصة بمهام معينة مثل NFS للوصول للملفات.
اﻷمن من منظور نظام التشغيل يعنى: التحقق من المستخدمين قبل السماح بالوصول، تصنيف مستوى السماحية بالوصول الذى يملكه المستخدم، و تحجيم مستوى الوصول تبعا للسياسة التى يحددها مدير النظام.
أغلب أنظمة التشغيل الحديثة اليوم توفر واجهة مستخدم رسومية(GUI). بعض أنظمة التشغيل اﻷقدم تربط بشكل وثيق بين الواجهة الرسومية و النواة مثل اﻹصدارات اﻷولى من ويندوز و ماك أو.إس. أنظمة التشغيل اﻷحدث تفصل بين نظام الرسوميات الفرعى و النواة (كما في ماك أو.إس.إكس و اﻷنظمة المبنية على ويندوز إن.تى.)
مشغل العتاد هو قطعة من يرمجيات الحاسوب صممت لتسمح بالتفاعل بين العتاد والبرمجيات.
هذه الواجهة توفر لمطوري البرامج والتطبيقات مجموعة من الدوال الاساسية التي يكثر استعمالها مثل دوال لادارة الذاكرة والدوال الرسومية ودوال لادارة الملفات وغيرها . هذه الواجهة تسهل عمل المبرمج حيث انها توفر عليه القيام بهذه المهمات في البرامج التي يكتبها .
لنظام التشغيل وظائف أساسية في عمل الحاسوب من أهمها:
|
|
---|---|
بي.إس.دي • // فري بي.إس.دي • // جنو • // آيركس • // لينكس • // ماك أو.إس إكس • // مينكس • // دوس • // إم إس - دوس • // سيمبيان • // فري دوس • // مايكروسوفت ويندوز • // ReactOS • // SkyOS • // المزيد ... تحرير |
فروع المعلوماتية |
الحقول الأساسية للمعلوماتية |
تحرير |
---|---|---|
معلوماتية نظرية | تحسيب | خوارزميات | نظرية المعلومات | نظرية الأتمتة | نظرية المخططات | نظرية التعقيد | تعمية | لغات شكلية | استمثال | بناء المترجمات البرمجية | نظرية أنظمة التشغيل | نظرية قواعد البيانات | نظرية التعمية | طريقة شكلية | تحسيب طبيعي | |
معلوماتية عملية | أنظمة تشغيل | حوسبة | رسوميات الحاسب | قواعد بيانات | بنى بيانات | برمجة | |
معلوماتية تقنية | تكنولوجيا المعلومات | شبكات الحاسب | عتاد الحاسب | أمن الحاسب | اختراق الحاسب | |
معلوماتية تطبيقية | أنظمة معلومات | معلوماتية حيوية | معلوماتية جيولوجية | كيمياء حاسوبية | فيزياء حاسوبية | معلوماتية اقتصادية | وسائط متعددة | |
ذكاء اصطناعي | تعلم آلي | معلوماتية عصبونية | طرق التصنيف | لغويات حاسوبية | |
برمجيات | لغات البرمجة | برمجيات حرة | برمجيات تجارية | |
أنظمة التشغيل | دوس | ويندوز | يونكس | لينكس | ماك أو إس | نتوير | تاريخ أنظمة تشغيل الحاسوب | |
عتاد الحاسب | وحدة المعالجة المركزية | ذاكرة الحاسب | القرص الصلب | اللوحة الأم |