اقرأ في هذا المقال
- ما هي العملية Process
- ما هي إدارة العمليات Process Management
- كتل التحكم في العمليات Process Control Blocks
يتم تعريف العملية على أنّها تنفيذ برنامج يقوم بالإجراءات المحددة في ذلك البرنامج، تتضمن إدارة العمليات مهامًا مختلفة مثل الإنشاء والجدولة وإنهاء العمليات والقفل المسدود (dead lock)، العناصر المهمة لبنية العملية هي 1) المكدس 2) الكومة 3) البيانات 4) النص، (PCB) هو شكل كامل من كتلة التحكم في العمليات، إنّها بنية بيانات يتم الاحتفاظ بها بواسطة نظام التشغيل لكل عملية.
ما هي العملية Process
العملية (Process) هي تنفيذ برنامج يعمل على تنفيذ الإجراءات المحددة في ذلك البرنامج، يمكن تعريفها أيضًا على أنّها وحدة التنفيذ (execution unit) حيث يتم تشغيل البرنامج، يساعدك نظام التشغيل على إنشاء وجدولة وإنهاء العمليات التي تستخدمها وحدة المعالجة المركزية (CPU)، تسمّى العملية التي تمّ إنشاؤها بواسطة العملية الرئيسية (main process) بالعملية الفرعية (child process).
يمكن التحكم في تشغيل العمليات بسهولة بمساعدة (PCB) “كتلة التحكم في العمليات”، يمكنك اعتبارها بمثابة العقل للعملية، والذي يحتوي على جميع المعلومات المهمة المتعلقة بالمعالجة مثل معرف العملية، والأولوية، والحالة، وسجلات وحدة المعالجة المركزية، وما إلى ذلك.
ما هي إدارة العمليات Process Management
تتضمن إدارة العمليات مهامًا مختلفة مثل الإنشاء والجدولة وإنهاء العمليات والقفل المسدود، العملية عبارة عن برنامج قيد التنفيذ، وهو جزء مهم من أنظمة التشغيل الحديثة، يجب أن يخصص نظام التشغيل الموارد التي تمكن العمليات من مشاركة المعلومات وتبادلها، كما أنّه يحمي موارد كل عملية من الأساليب الأخرى ويسمح بالمزامنة بين العمليات، إنّ مهمة نظام التشغيل هي إدارة جميع العمليات الجارية للنظام، يتعامل مع العمليات عن طريق أداء مهام مثل جدولة العمليات وتخصيص الموارد.
هندسة العمليات Process Architecture
في المخطط المعماري للعملية، نرى التالي:
- المكدس (Stack): يخزن المكدس البيانات المؤقتة مثل معلمات الوظيفة وعناوين المرتجعات والمتغيرات المحلية.
- الكومة أو الكدس (Heap): تخصص الكومة الذاكرة، والتي يمكن معالجتها أثناء وقت تشغيلها.
- البيانات (Data): تحتوي على المتغير (variable).
- النص (Text): يتضمن قسم النص النشاط الحالي، والذي يتم تمثيله بقيمة عداد البرنامج (Program Counter).
كتل التحكم في العمليات Process Control Blocks
يرمز (PCB) إلى كتلة التحكم في العمليات (Process Control Block)، إنّها بنية بيانات يتم الاحتفاظ بها بواسطة نظام التشغيل لكل عملية، يجب تحديد (PCB) بواسطة رقم صحيح للعملية (integer Process ID (PID))، يساعدك على تخزين جميع المعلومات المطلوبة لتتبع جميع العمليات الجارية، كما أنّها مسؤولة عن تخزين محتويات سجلات المعالج، يتم حفظها عندما تنتقل العملية من حالة التشغيل ثمّ تعود إليها مرة أخرى، يتم تحديث المعلومات بسرعة في (PCB) بواسطة نظام التشغيل بمجرد أن تقوم العملية بانتقال الحالة.
خطوات العملية Process States
حالة العملية هي شرط للعملية في لحظة زمنية محددة، كما أنّها تحدد الوضع الحالي للعملية، هناك سبع مراحل أساسية للعملية وهي:
- الجديد (New): يتم إنشاء العملية الجديدة عندما يستدعي برنامج معين من الذاكرة الثانوية / القرص الصلب إلى الذاكرة الأساسية / ذاكرة الوصول العشوائي.
- الجاهز (Ready): في حالة الاستعداد، يجب تحميل العملية في الذاكرة الأساسية الجاهزة للتنفيذ.
- قيد الانتظار (Waiting): تنتظر العملية تخصيص وقت وحدة المعالجة المركزية والموارد الأخرى للتنفيذ.
- التنفيذ (Executing): العملية هي حالة تنفيذ.
- المحظور (Blocked): هو فاصل زمني تنتظر فيه عملية ما حدث مثل عمليات الإدخال / الإخراج.
- المعلق (Suspended): تحدد الحالة المعلقة الوقت الذي تكون فيه العملية جاهزة للتنفيذ ولكن لم يتم وضعها في قائمة الانتظار الجاهزة بواسطة نظام التشغيل.
- تمّ الإنهاء (Terminated): تحدد الحالة المنتهية الوقت الذي يتم فيه إنهاء العملية.
بعد الانتهاء من كل خطوة، يتم استخدام جميع الموارد بواسطة العملية، وتصبح الذاكرة خالية.
شرح كتلة التحكم في العمليات PCB
يتم تمثيل كل عملية في نظام التشغيل بواسطة كتلة التحكم في العملية، والتي تسمّى أيضًا كتلة التحكم في المهام (task control block)، هنا ، مكونات مهمة لكتلة التحكم في العمليات:
- حالة العملية (Process state): يمكن أن تكون العملية جديدة، وجاهزة، وجارية، ومنتظرة، وما إلى ذلك.
- عداد البرنامج (Program counter): يتيح لك عداد البرنامج معرفة عنوان التعليمات التالية، والتي يجب تنفيذها لهذه العملية.
- سجلات وحدة المعالجة المركزية (CPU registers): يشتمل هذا المكون على مجمعات، وفهرس، وسجلات الأغراض العامة، ومعلومات عن كود الحالة.
- معلومات جدولة وحدة المعالجة المركزية (CPU scheduling information): يشتمل هذا المكون على أولوية العملية ومؤشرات لجدولة قوائم الانتظار والعديد من معلمات الجدولة الأخرى.
- المعلومات الحسابية والتجارية (Accounting and business information): تشمل كمية وحدة المعالجة المركزية وأدوات الوقت مثل الوقت الفعلي المستخدم أو أرقام الوظائف أو العمليات، وغيرها.
- معلومات إدارة الذاكرة (Memory-management information): تتضمن هذه المعلومات قيمة السجلات الأساسية والحدود أو الصفحة أو جداول المقطع، هذا يعتمد على نظام الذاكرة الذي يستخدمه نظام التشغيل.
- معلومات حالة الإدخال / الإخراج (I/O status information): يتضمن هذا الحظر قائمة بالملفات المفتوحة، وقائمة أجهزة الإدخال / الإخراج المخصصة للعملية، وغيرها.