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

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

خلفية تاريخية
-------------

كانت أجهزة الكمبيوتر الأولى هي مين فريم Mainframed تفتقر إلى أي شكل من أشكال نظام التشغيل. كان لكل مستخدم استخدام وحيد للجهاز لفترة زمنية محددة، ويتم تحميل البرنامج في الجهاز، وسيتم تعيين الجهاز للعمل حتى اكتمال البرنامج أو تحطمه. يمكن عموما تصحيح البرامج من خلال لوحة تحكم باستخدام لوحة التحكم وتبديل مفاتيح وأضواء اللوحة. تم تطوير لغات الترميز مثل لغة الاسمبلي assembly ولغة الكمبيلر compiler للمبرمجين ليقوموا بترجمة اكواد البرامج إلى لغة الآلة machine languge التي كانت سابقا مشفرة يدويا. الآلات فيما بعد أصبحت مدعومة بواسطة مكتبات Libraries على كروت مثقوبة أو شريط ممغنط، والتي يتم ربطها ببرنامج المستخدم للمساعدة في عمليات مثل المدخلات والمخرجات. وكان هذا هو نشأة نظام التشغيل الحديث. ومع ذلك، لا تزال الآلات تؤدي وظيفة واحدة في وقت واحد.

مين فريم أو الحاسوب الضخم
-------------------------

وكان أول نظام تشغيل يستخدم للعمل الحقيقي هو GM-NAA I/O، الذي أنتج في عام 1956 من قبل قسم بحوث جنرال موتورز، من أجل أي بي أم 704 (IBM 704). كما تم إنتاج معظم أنظمة التشغيل الأخرى لأجهزة آي بي إم الرئيسية من قبل العملاء.

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

### الأنظمة على أجهزة أي بي أم

واستمرت الحالة حتى الستينيات عندما توقفت شركة أي بي أم، التي كانت بالفعل شركة رائدة في مجال الأجهزة، عن العمل على الأنظمة القائمة ووضعت كل جهدها في تطوير سلسلة الأجهزة / 360 من الآلات، وكلها استخدمت نفس التعليمات ومدخلات الإدخال / الإخراج. أي بي أم كانت تهدف إلى تطوير نظام تشغيل واحد للأجهزة الجديدة، أو أس / 360  (OS/360).

### أنظمة التشغيل المركزية الأخرى

(بالإنجليزية: Other mainframe operating systems)‏ وضعت شركة كونترول داتا كوربوراشن  أنظمة تشغيل سي دي سي سكوب  SCOPE في الستينيات للمعالجة بالدفعات Batch Proccesing وبعد ذلك طورت نظام التشغيل أم أيه سي إيه  MACE والذي كان النواة الأولى لنظام التشغيل سي دي سي كرونوس  Kronos. وبالتعاون مع جامعة مينيسوتا، تم تطوير أنظمة كرونوس ونظم التشغيل التالية مثل أن أو أس NOS خلال السبعينيات، والتي تدعم الباتش المتزامنة والوقت المتشارك Timesharing. ومثل العديد من أنظمة تقاسم الوقت التجارية، كانت واجهاتها امتدادا لنظام تقاسم الوقت دي تي أس أس DTSS واحدة من الجهود الرائدة في تقاسم الوقت ولغات البرمجة.

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

وبالنسبة لليونيفاك 1107 (UNIVAC 1107)، أنتجت أونيفاك UNIVAC، وهي أول شركة كمبيوتر تجارية، نظام التشغيل إيكسيك أي  EXEC I وقامت شركة علوم الحاسوب  بتطوير نظام التشغيل إيكسك دبل إي  EXEC II وسلمته إلى اليونيفاك. تم نقل إيكسيك إي إلى يونيفاك 1108. في وقت لاحق، وضعت أونيفاك نظام التشغيل إيكسيك 8  (EXEC 8) لأونيفاك 1108؛ وكان أساس نظم التشغيل لأفراد الأسرة اللاحقة. وكما هو الحال في جميع أنظمة الحاسوب الكبير أو الضخمة مين فريم mainfraim كان النظامان إكسيك أي وإيكسيك إي تو نظاما موجها نحو الدفعات يدير الطبول المغناطيسية والأقراص وقراء البطاقات وطابعات الخطوط، إيكسيك 8 دعم كل من نظام عمليات الباتشات ومعالجة المعاملات عبر الإنترنت. في السبعينات، أنتجت أونيفاك نظام الوقت الحقيقي الأساسي (RTB) لدعم تقاسم الوقت على نطاق واسع، أيضا منقوشة بعد نظام دارتموث باسيك Dartmouth BASIC .

قدمت شركة بوروس Burroughs Corporation بإنتاج B5000 في عام 1961 مع نظام التشغيل أم سي بي MCP (برنامج التحكم الرئيسي )، كان B5000 آلة تعتمد على الحزم Stack machine وكانت آلة مصممة لدعم لغات عالية المستوى High level languages ، مع عدم وجود برامج، وكانت نظم التشغيل في مستواها الادنى لا تكتب بلغة الآلة أو لغة الأسمبلي وكان أم سي بي MCP هو أول نظام تشغيل يكتب بلغة ذات مستوى أعلى high-level language وكانت تسمى أي أس بي أوه أل  ESPOL من لغة ALGOL 60

أجهزة كمبيوتر صغيرة أو ميني كمبيوتر
-----------------------------------

(بالإنجليزية: Minicomputers)‏

قامت شركة ديجيتال إكويبمنت كوربوراشون Digital Equipment Corporation بإنشاء العديد من أنظمة التشغيل لآلاتها بي دي بي-11 PDP-11 ذات سعة 16 بت، بما في ذلك نظام آر تي-11 البسيط RT-11، ونظام تشغيل تقاسم الوقت آر أس تي أس  RSTS وعائلة أر أس أكس-11 RSX-11 من أنظمة التشغيل ذات الوقت الحقيقي Real-Time ، فضلا عن نظام في أم أس VMS لأجهزة في أيه أكس VAX ذو 32 بت.

العديد من المنافسين من شركة المعدات الرقمية (ديجيتال إكويبمنت كوربوراشون) مثل داتا جينيرال، هيوليت باكارد، كمبيوتر اتوميشن  صنعوا أنظمة التشغيل الخاصة بهم. واحد مثل، «ماكس الثالث» MAX III ، لأنظمة الحاسوب مودكومب  دبل إي أو الثاني (Modcomp II) وأجهزة الكمبيوتر مودكومب الثالث أو تريبل أي (Modcomp III).

الحواسيب الدقيقة أو ميكرو كمبيوتر
---------------------------------

(بالإنجليزية: Microcomputers)‏

نبذة تاريخية
------------

ويندوز:

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

* 1985: ويندوز 1.0
* 1987: ويندوز 2.0
* 1990: ويندوز 3.0
* 1992: ويندوز 3.1
* 1995: ويندوز 95
* 1996: ويندوز ان تي 4.0
* 1998: ويندوز 98
* 2000: ويندوز 2000
* 2001: ويندوز اكس بي
* 2007: ويندوز فيستا
* 2009: ويندوز 7
* 2012: ويندوز 8
* 2013: ويندوز 8.1
* 2014: ويندوز 10
* 2021: ويندوز11
* التطور التاريخي لنظم التشغيل من حيث الوظيفة:
	+ لم يكن باستطاعة الحاسبات في أول عهدها بتخزين الكم الهائل من المعلومات فكانت أقل بكثير من إمكانيات التخزين المتوفرة الآن وبالتالي فإن كم العمليات المنفذة أقل كثيرا من المتاحة الآن.
* التطور التاريخي لنظم التشغيل من حيث التركيب:
	+ بدأت الحاسبات بالصمامات المفرغة ثم الترانزستورات وبعد ذلك بالدوائر المتكاملة (integrated circuits) ومن الشرائح الصغيرة (micro chips) وبالتالي أصبحت الحاسبات الحالية صغيرة الحجم جدا.
* التطور التاريخي لنظم التشغيل من حيث التجهيزات البرمجية
	+ حدث تطور هائل على البرمجيات خاصة برمجيات نظم التشغيل حيث مرت برمجيات نظم التشغيل بالمراحل التالية:
		- في عام 1950 ظهر أول نظام تشغيل بنظام معالجة العمل الواحد (job by job processing).
		- في عام 1955 ظهر نظام المعالجة الحزمية المبكر(early patch processing).
		- في عام 1960 بدأت تطورات عديدة على وسائط التخزين وتطور على الذاكرة الرئيسية وبالتالي حدث تطور في نظم التشغيل بحيث يكون قادر على التعامل مع أكثر من برنامج في نفس الوقت (multiplying programming).
		- في عام 1972 حدثت ثورة هائلة في تصنيع الذاكرة المساندة وأصبحت جزء من الذاكرة الرئيسية وعرفت بالذاكرة الفعالة (virtual memory).
		- حدث أيضا تطور هائل على وحدات الإدخال والإخراج بحيث يمكن أن تخدم أكثر من مستخدم في نفس الوقت (virtual I/O devices).
		- في الأعوام التالية حدث تطورات هائلة وسريعة في نظم التشغيل حيث أصبح كل حاسب يملك نظام تشغيل خاص بة وعلى درجة عالية من التطور.
* من أنظمة التشغيل المشهورة: MS DOS – PRIMOS - CP/M – يونكس– لينكس وجنو

نظام التشغيل
------------

مر بتاريخ تطوير طويل يلخص في الآتي:

### أنظمة الباتشات Batch Systems

صممت خلال خمسينيات القرن العشرين للتحكم بالكمبيوترات المركزية. في ذلك الوقت كانت الكمبيوترات أجهزة ضخمة تستخدم مايسمى البطاقات المثقوبة (punched cards)للإدخال والطابعات الخطية (line printers) للإخراج ومحركات الأشرطة (tape drives) كوسط تخزين ثانوي.أي برنامج سيُنفَذ يسمى مهمة (Job).عندما يرغب المبرمج بتنفيذ مهمة ما يرسل طلب إلى غرفة العمليات مرفق بالبطاقة المثقوبة للبرنامج والبيانات. ليس للمبرمج أي تحكم أو تفاعل مع النظام.تتم معالجة البطاقة بواسطة مشغل (operator) إذا كان البرنامج ناجحًا تُرسل نتيجته إلى المبرمج، وفي حالة فشله تُرسل نسخة بالخطأ.
كان نظام التشغيل خلال هذه الفترة بسيط جدًا، مهمته الوحيدة التأكد من أن جميع المصادر قد انتقلت من مهمة لأخرى.

### استخدام أنظمة المشاركة الزمنية (Time-Sharing Systems)

مصادر نظام الكمبيوتر بكفاءة ظهر مصطلح البرمجة المتعددة (multiprogramming). تتلخص فكرته في تحميل أكثر من مهمة في الذاكرة ويتم تخصيص مصدر واحد للمهمة التي تحتاجه بشرط أن يكون المصدر متاح في تلك اللحظة. مثلاً: عندما يستخدم برنامج ما جهاز الـ ادخال/إخراج تكون وحدة المعالجة المركزية (CPU) متاحة فيمكن استخدامه بواسطة برنامج آخر.البرمجة المتعددة قادت إلى فكرة أخرى "مشاركة الوقت" (time sharing) تتلخص في إمكانية مشاركة المصادر بين المهام المختلفة، كل مهمة تستطيع حجز المصدر لفترة زمنية معينة. ولأن الكمبيوتر أسرع من الإنسان كل مستخدم يشعر بأن كامل النظام يخدمه.البرمجة المتعددة ومشاركة الوقت طورت من كفاءة نظام الكمبيوتر بشكل كبير وأصبح يحتاج بدوره نظام تشغيل أكثر تعقيدًا. فأصبحت نظم التشغيل تحتاج للقيام بالجدولة (scheduling) أي حجز المصادر لبرامج مختلفة واتخاذ القرار:" أي برنامج يجب أن يستخدم هذا المصدر؟".

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

### الأنظمة الشخصية (Personal Systems)

بظهور الحاسبات الشخصية ظهرت أيضًا الحاجة لنظم تشغيل خاصة بتلك الأنواع من الحاسبات. فظهر مايسمى بالـ single-user operating systems مثل الـDOS

الأنظمة المتوازية (Parallel Systems)
------------------------------------

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

.

المراجع
-------

1. ↑  
Robert Patrick (يناير 1987). "General Motors/North American Monitor for the IBM 704 Computer" (PDF). مؤسسة راند. مؤرشف من الأصل (PDF) في 2012-10-05.
2. ↑  
"Timeline of Computer History: 1956: Software". متحف تاريخ الحاسوب. مؤرشف من الأصل في 2015-09-23. اطلع عليه بتاريخ 2008-05-25.
3. ↑  
"A Brief History of Linux". مؤرشف من الأصل في 2017-11-07.

| * ع
* ن
* ت
المواضيع الأساسية في علم الحاسوب النظري |
| --- |
| علم الحاسوب النظري | 
* تحسيب
* خوارزميات
* نظرية المعلومات
* نظرية الأتمتة
* نظرية المخططات
* نظرية التعقيد الحسابي
* تشفير
* علم التعمية
* ترميز
* لغات شكلية
* استمثال
* بناء المترجمات البرمجية
* نظرية أنظمة التشغيل
* نظرية قواعد البيانات
* طريقة شكلية
* حوسبة طبيعية

 |
| معلوماتية عملية | 
* نظام تشغيل
* حوسبة
* رسوميات حاسوبية
* قواعد بيانات
* بنى بيانات
* برمجة

 |
| هندسة الحاسب | 
* تقنية المعلومات
* شبكة حاسوب
* عتاد الحاسوب
* أمن الحاسوب
* اختراق الحاسوب

 |
| معلوماتية عملية | 
* نظم معلومات
* معلوماتية حيوية
* معلوماتية جيولوجية
* كيمياء حاسوبية
* فيزياء حاسوبية
* معلوماتية اقتصادية
* وسائط متعددة

 |
| ذكاء اصطناعي | 
* تعلم الآلة
* معلوماتية عصبية
* تصنيف إحصائي
* لغويات حاسوبية

 |
| برمجيات | 
* لغات البرمجة
* برمجيات حرة
* برمجيات تجارية

 |
| أنظمة التشغيل | 
* دوس (نظام تشغيل)
* ويندوز
* يونكس
* لينكس
* ماك أو إس
* آي بي إم إيه آي إكس
* نتوير
* تاريخ أنظمة التشغيل

 |
| عتاد الحاسوب | 
* وحدة معالجة مركزية
* الذاكرة
* قرص صلب
* لوحة أم
* بطاقة الرسوميات
* بطاقة الشبكة
* تخزين ضوئي
* وحدات الإدخال والإخراج

 |

| * ع
* ن
* ت
نظام التشغيل |
| --- |
| عام | 
* التاريخ
* الجدول الزمني
* القائمة
* المقارنة
* استخدام حصة
* التطوير
* الدعوة

 |
| النواة | 

|  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- |
| المعمارية  | 

|  |  |
| --- | --- |
| عام  | 
* نواة متجانسة
* نواة دقيقة

 |
| الأنواع الفرعية  | 
* Exokernel
* نواة دقيقة
* Hybrid

 |

 |
| المكونات  | مساحة المستخدم
* نواة دقيقة
* وحدات الأنوية قابلة التحميل
* برنامج تعريف
 |

 |
| إدارة عملية | 

|  |  |
| --- | --- |
| المفاهيم  | 
* عملية
* Process control block
* مقاطعة
* الخيط
* تحويل السياق
* الجدولة

 |
| أوضاع المعالج  | 
* الوضع المحمي
* وضع المشرف

 |
| جدولة الخوارزمية  | 
* Cooperative multitasking
* Preemptive multitasking
* جدولة راوند روبن
* Fixed priority pre-emptive scheduling
* Multilevel feedback queue
* أقصر وظيفة تالية

 |

 |
| إدارة الذاكرة | 
* Memory protection
* Segmentation
* تصحيف (حاسوب)
* Segmentation fault
* General protection fault
* Bus error

 |
| الأمثلة | 
* أميغا أو إس
* بي أو إس
* BSD
* دوس
* جنو
* لينكس
* ماك أو أس
* مورف أو إس
* أو إس/2
* رياكت أو إس
* Solaris
* يونكس
* ويندوز
* *قائمة نظم التشغيل*

 |
| المفاهيم المتنوعة | 
* Boot loader
* PXE
* و ب ت
* نظام الملف الإفتراضي
* Virtual tape library
* شبكة حاسوب
* و س أ
* و م ن
* و م ر
* و م ص
* ط ت ع

 |

* أيقونة بوابةبوابة التاريخ
* أيقونة بوابةبوابة الولايات المتحدة
* أيقونة بوابةبوابة برمجة الحاسوب
* أيقونة بوابةبوابة تقانة المعلومات
* أيقونة بوابةبوابة علم الحاسوب