| أنظمة التشغيل |
| --- |
|  |
| 
الميزّات المشتركة |
| 
* إدارة عملية
* مقاطعات
* تنظيم الذاكرة
* نظام الملف
* مشغلات الأجهزة
* التشبيك
* الأمن
* واجهة المستخدم الرسومية

 |
| * ع
* ن
* ت
 |

**العملية** (بالإنجليزية: process)‏ هي عبارة عن البرنامج أو جزء منه قيد التنفيذ. كما ان المسئول عن إدارة العمليات وكل ما يتعلق بها من إنشاء وانها أو جدولة هو نظام التشغيل

مقدمة
-----

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

لكي يستطيع نظام التشغيل من إدارة العمليات فانة يخصص لكل عملية ما يلي:

* مساحة عنونة "Address Space ":

عبارة عن المساحة المحجوزة بالذاكرة الرئيسية للعملية الحالية.

* شفرة البرنامج "Program Code ":

عبارة عن الايعازات المطلوب تنفيذها.

* مؤشر التكديس Stack Pointer.
* عداد البرامج Program Counter.
* السجل Register
* الكومة«النثريات» Heap

حالات العملية
-------------

وهي الحالات التي يمكن ان تمر بها العملية

* جديدة New:

هي مجموعة الانشطة والوظائف التي لا زالت في الذاكرة الثانوية والتي يراد تنفيذها عن طريق تحميلها إلى الذاكرة الرئيسية.

* مستعدة للتنفيذReady:

هي عبارة عن العمليات التي تنتضر في طابور الانتظار Ready Queue في الذاكرة الرئيسية.

* قيد التنفيذRunning:

هي العمليات التي تكون تحت سيطرة المعالج ولا يمكن ان تكون هناك أكثر من عملية تحت سيطرة معالج احادي النواة في نفس الوقت.

* انتظار Waiting :

هي العمليات التي تنتضر حدوث امر معين لاتمام تنفيذها.

* انتهاءTerminat or Halt :

هي العمليات التي انتهى تنفيذها سواء بشكل طبيعي وا اجهاضي «في حالة حدوث خطاء».

تبدء مراحل تنفيذ العملبات بأن يقوم المستخدم بالنفر على على الوضائق أو البرامج فيقوم نظام التشغيل أو بشكل أكثر دقة يقوم المجدول طويل المدى "Long Term Scheduler" بنسخها إلى الذاكرة الرئيسية، ثم يقوم المجدول قصير المدى«Short Term جدول أعمال» باختيارها ويامر المنفذ «مرسل» بنقلها إلى المعالج، وفي حالة حدوث أي مقاطعة أو طلب ادخال أو إخراج من المستخدم يقوم المجدول متوسط المدى "Med Term Scheduler" بنقلها من حالة التنفيذ إلى الانتظار.

جدولة العمليات
--------------

هي وضع خطة لترتيب دخول العمليات إلى المعالج يقوم بتنفيذ هذه الخطة ثلاثة مجدولات:

1. المجدول قصير المدى STS
2. المجدول متوسط المدى MTS
3. المجدول طويل المدى LTS

أنواع العمليات
--------------

* بحسب موقع التنفيذ:

1- عمليات نمط المعالجة CPU Bound Process :

```
وهي العمليات التي تقضي معضم وقتها في المعالج
```

2- عمليات نمط الإدخال والإخراج I/O Bound Process:

```
وهي العمليات التي تقضي معضم وقتها في عمليات الإدخال والإخراج
```

يجب أن تقوم المجدولات باختيار عملبات تكون خليط من النوعين السابقين لكي يتم استغلال المعالج بشكل مثالي.

* بحسب التعاونية: نهتم بهذا التصنيف عند دراسة الاتصال بين العملياتIPC

1-عمليات غير متعاونة «مستفلة»:

```
وهي العمليات التي لا تؤثر ولا تتاثر بتنفيذ العمليات الأخرى. 
```

2- عمليات متعاونة:

```
وهي العمليات التي تؤثر وتتأثر بتنفيذ العمليات الأخرى، 
```

فوائد العمليات المتعاونة:

* مشاركة المعلومات.
* تسريع انجاز العمليات: عن طريق تقسيم المهمة إلى مهام فرعية تنفذ بالتوازي
* استغلال أسلوب بناء أنظمة تشغيل الوحدات.
* تمكن المستخدم من عمل أكثر من عملية بشكل متزامن «كأن يقوم بطباعة مستند والتعديل في نفس هذا المستند».

وهناك نوعين من الاتصال بين العمليات المتعاونة:
1- الذاكرة المشتركة Shared Memory:

```
عملية تحديد ذاكرة افتراضية مشتركة لنقل وتبادل البيانات بين العمليات. ولها نوعين 
```

* ذاكرة محدودة الحجم:

في هذا النوع يتوجب على أي عملية تريد ان تضيف معلومات إلى الذاكرة التأكد اولاً من إمكانية استيعابها للبيانات المراد اضافتها.

* ذاكرة غير محدودة الحجم:

في هذا النوع لكل عملية الحرية الكاملة في إضافة أي مقدار من البيانات.
2- تمرير الرسائل Message Passing:
في هذا النوع يتم تراسل البيانات بين العمليات بحيث تحدد العملية المرسلة عنوان العملية المستقبلة أيضا يجب على العملية المستقبلة تحديد عنوان العملية المرسلة، ويتوجب ان يكون هناك وسط للربط بين العملينبن ويمكن ان يكون الإرسال بواسطة الاسم أو بواسطة صندوق بريد مشترك.

اقرأ أيضا
---------

* الخيوط
* جدولة المعالج
* هندسة البرامج
* تطوير نظم التشغيل

المصادر
-------

Operating System Concepts 7th Ed ,Abraham Sliberchatz

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

 |
| النواة | 

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

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

 |
| الأنواع الفرعية  | 
* 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
* شبكة حاسوب
* و س أ
* و م ن
* و م ر
* و م ص
* ط ت ع

 |

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

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

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

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

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

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

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

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

 |

* أيقونة بوابةبوابة علم الحاسوب
* أيقونة بوابةبوابة تقانة المعلومات