1.36k likes | 2.29k Views
Operating System. Ahmed Eltayeb Abdallah. contents of syllabus محتويات المقرر. 1-introduction المقدمة what is an operating system ماهو نظام التشغيل operating system operation عمليات نظم التشغيل functions of operating system وظائف نظم الشغيل
E N D
Operating System Ahmed Eltayeb Abdallah
contents of syllabusمحتويات المقرر 1-introductionالمقدمة what is an operating system ماهو نظام التشغيل operating system operationعمليات نظم التشغيل functions of operating system وظائف نظم الشغيل examples of operating systems امثلة علي نظم التشغيل 2-operation system structureهيكلية نظم التشغيل
User Operating System Interface واجهة مستخدم نظام التشغيل • System Programsبرامج النظام • Operating System Design and Implementationتصميم وتنفيذ نظام التشغيل • Operating System Structure تراكيب نظم التشغيل
3-Processes Managementادارة العمليات Processes مفهوم العمليات Processes Statesحالات العمليات Processes Schedulingجدولة العلميات Processes creationsانشاء العمليات 4-CPU Scheduling جدولة وحدة المعالجة المركزية Basic Concepts مفاهيم اساسية Scheduling criteria معايير الجدولة Scheduling Algorithmsخوارزميات الجدولة
5- Dead Lock الجمود 6- Memory Managementادارة الذاكرة • Main Memory الذاكرة الرئيسية 7-Virtual Memory الذاكرة الافتراضية 8- File system Interfaceواجهة نظام الملفات 9- Device Management ادارة الاجهزة • I/O System اجهزة الادخال والاخراج
المصدر 1- Operating SystemConcepts (Seventh Edition): Abraham Silberschatz,Peter BaerGalvin,Greg Gagne 2- http://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/sysService.htm
تطورت الإجابة على هذا السؤال بشكل ملموس خلال العقود التي شكلت فترة حياة الحاسوبففي الستينات، كانت الإجابة هي "البرمجيات التي تتحكم بالاجهزة ". أما اليوم فهذه الإجابة غير كافية، إذ تطور استخدام الحاسوب إلى درجة تجعل من الصعب إعطاء إجابة دقيقة.ويمكن في البداية الاحتفاظ بهذا التعريف مع تطويره ليصبح على الشكل التالي:نظام التشغيل هو مجموعة البرمجيات المسؤولة عن التحكم بعمل الموارد المختلفة فيالحاسوب، وتوزيعها على التطبيقات والمستخدمين بحسب حاجتها.هذا التعريف ابرز احد أهم المهام في أنظمة التشغيل : إدارة الموارد وتخصيصها .وأهم هذه الموارد هي المعالجات - الذاكرة ووسائط التخزين - اجهزة الدخل والخرج واجهزة الاتصالات. ماهي أنظمة التشغيل؟what is an operating system
مهام نظم التشغيل عند تصميم اي نظام تشغيل يجب الاخذ في الاعتبار ان يقوم بثلاثة وظائف اساسية : • اخفاء تفاصيل عمل مكونات الجهاز عن المستخدم والتطبيقات. • تخصيص الإجرائيات بالموارد التي تحتاجها (Resource Manager ) • تزويد المستخدمين بواجهة تخاطبية:
التطور التاريخي لانظمة التشغيل لقد بات التوجه الأساسي في أنظمة التشغيل هو المستخدم وضمان راحته، وتسهيل استخدامه للحاسوب بالاضافة لرفع انتاجيته إلى أقصى مايمكن.لقد ظهرت العديد من الوظائف الموجودة في أنظمة التشغيل قبل أكثر من ثلاثين سنة خلت، بينما هناك مفاهيم أخرى لم تظهر إلا خلال السنوات الخمس الأخيرة. وهي كلها وظائف مهمة وأساسية ولايمكن الاستغناء عنها، ومن المفيد الاطلاع عليها من خلال التطور التاريخي لأنظمة التشغيل لفهم هذه الوظائف وسياق ظهورها وأهمية وجودها.
المرحلة الأولى لأنظمة التشغيل (الخمسينات) الحواسيب كانت مكلفة جدًا، وكذلك صيانتها وتشغيلها، بالاضافة الي ان التعامل معها كان باستخدام واجهة تخاطبية نصية تمكن مستخدم وحيد استخدامها في لحظة ما . وكان المبرمجون يتعاملون مع الحواسيب باستخدام آليات منخفضة جدًا، (البطاقات المثقبة). وكان الدور الأساسي لما يمكن تسميته نظام تشغيل في تلك الفترة هو القيام بالمهام التالية:1- إدارة تجهيزات الادخال والاخراج2- كتابة البرمجيات لتلك التجهيزات والتي كانت معقدة جدً ا.
المرحلة الثانية لأنظمة التشغيل (الستينات) انظمة الباتش Batch computingو الــ Multiprogramming • يقصد بطريقة الباتش ان تجمع جميع الوظائف في مجموعة واحدة من البطاقات التي يتعرف عليها الجهاز ويفصل بين كل وظيفة واخري بطاقة تحكم , • نظام المعالجة (الباتش) قدم تطورا كبيرا في اداء الاجهزة في ذلك الحين كما وضح ضرورة استخدام نظام التشغيل لادارة مكونات الجهاز . • Multiprogramming : هي عملية تعاقب الوظائف (العمليات ) بين المعالج والانتظار لامر ادخال او اخراج والتي توفر اكبر استخدام للمعالج ومصادر الادخال والاخراج . • Time sharing : المشاركة الزمنية
المرحلة الثالثة لأنظمة التشغيل (الثمانينات) • الجدولة • انظمة ادارة الملفات • الواجهات التخاطبية المرحلة الرابعة لأنظمة التشغيل (التسعينات وحتي الان ) الشبكات – شبكة الانترنت Networks & internet UNIX QDOS :Quick and Dirty Operating System MS DOS: Microsoft Desk Operating System 1991
انظمة تشغيل المخدمات كلمة "مخدم" تتضمن تعريفًا وظيفيًا للمخدمات بغض النظر عن حجمها، وإن درجت العادة علي ان تكون المخدمات عبارة عن حواسيب كبيرة. المخدم : هوحاسوب يقوم بتقديم خدمات للزبائن الذين يرسلون طلباتهم عبر اتصال شبكي، كمخدم البريد الإلكتروني ومخدم الملفات .Linux و ،Window 2003 Server ومثال على أنظمة تشغيل المخدماتأنظمة التشغيل متعددة المعالجات إحد أكثر الطرق شيوعًا لزيادة سرعة الحواسيب هي وصل عدة وحدات معالجة ضمن نظام واحد، وغالبًا ما يستخدم ذلك في المخدمات . وبالتالي تكون أنظمة التشغيل التي تتعامل مع هذه المعالجات المتعددة هي نسخة متخصصة من نظام تشغيل المخدم
أنظمة تشغيل الحواسيب الشخصيةتركز هذه الأنظمة على تزويد المستخدم بواجهة تخاطبية ملائمة، وهي مستخدمة على نطاق واسع في التطبيقات المكتبية والدخول إلى الإنترنت . ومن أشهر الامثلة نظام ويندوز بنسخه المختلفة (باستثناء نسخ المخدم )، ونظام ماكينتوش ولينكس . .أنظمة التشغيل بالزمن الحقيقيهذه الأنظمة تعتمد على الزمن كعامل أساسي في عملها . فعلى سبيل المثال، يمكن أن تستخدم هذه الأنظمة في التحكم بالإجرائيات الصناعية حيث يتم جمع معلومات عن عملية الإنتاج واستخدامه للتحكم بالالات في المعمل وغالبا ماتكون هنالك ازمنة حدية يجب الالتزام بها deadlines
أنظمة التشغيل المحمولةوهي المسؤولة عن التحكم بعمل الحواسيب الصغيرة جدًا والأنظمة المحمولة التي لا تعتبربالضرورة حو اسيب، كأجهزة التلفزيون والهواتف المحمولة . وغالبًا ما تكون لهذه الأنظمة نفس متطلبات أنظمة التشغيل بالزمن الحقيقي، ولكن لديها أيضًا ضوابط الحجم والذاكرة واستهلاك القدرة التي تجعل منها أنظمة خاصة . ومن أهم أنظمة التشغيل هذه .Windows CE
هيكلية نظم التشغيل operation system structureهيكلية نظم التشغيل تهدف الي :1- التعريف بالخدمات التي تقدمها أنظمة التشغيل للمستخدمين حيث يقدم نظام التشغيل العديد من الخدمات للبرمجيات ومستخدميها، وذلك بهدف مساعدتهم علىاستخدام الموارد الحاسوبية بشكل أمثل . وتنقسم الخدمات الي مجموعتين المجموعة الأولى تشمل الخدمات التي تسمح للمستخدمين بالتعامل مع المنظومة الحاسوبية والثانية تهدف إلى زيادة فاعلية استخدام موارد الحاسوب2-التعريف باستدعاءات النظام كأداة أساسية لطلب هذه الخدمات 3- التعريف ببرمجيات النظام كمجموعة أدوات أساسية للمستخدم 4- مناقشة الطرق المختلفة لتصميم نظام التشغيل
المجموعة الاولى: خدمات نظام التشغيل التي تساعد المستخدم بشكل مباشر 1- الواجهة التخاطبية User Interface تقدم أنظمة التشغيل واجهة تخاطبية تسمح بتوجيه الأوامر للنظام والتعامل مع خدماته المختلفة. وقد انتشرت الواجهات التخاطبية البيانية (GUI: Graphical User Interface) منذ سنوات التسعينات وتطورت تدريجيًا حتى باتت جزءًا لايتجزأ من نظام التشغيل، لاسيما في حالة محطات العمل والحواسيب الشخصية.وتتدرج أهمية الواجهة التخاطبية البيانية في نظام التشغيل من الحالة القصوى حيث يستحيلالقيام بأية عملية بدونها كما هو الحال في نظام ماكينتوش الذي كان أول من أطلق هذا النوع من الواجهات، مرورًا بنظام ويندوز بأشكاله المختلفة الذي يعتمد أساسًا على هذه الواجهات ولكنه يدعم أيضًا الواجهة التقليدية التي تعتمد على الأوامر النصية المكتوبةووصو ًلا إلى أنظمة تفصل كليًا بين هذه الواجهة ونظام (CLI : Command Line Interface)التشغيل، وتسمح للمستخدم بأن يتعامل مع النظام ويستخدم كافة خدماته بأشكاله المختلفة بدون استثناء دون المرور بالواجهة البيانية، مثل نظام Unix
Program Execution 2- تنفيذ البرامج الغايةالأساسية من استخدام الحاسوب هي تنفيذ البرامج والتطبيقات التي يحتاجها المستخدم ، كمعالجات النصوص وبرامج الرسم ومعالجة الصور . ويجب أن يسمح نظام التشغيل التي (Parameters) للمستخدم بتحديد البرنامج الذي يرغب في استخدامه، وتحديد الوسائطيرغب في تمريرها له، وطلب تنفيذ البرنامج وإيقاف تنفيذه، سواء كان ذلك نتيجة ا نتهاء طبيعي للبرنامج أو نتيجة انتهاء قسري ناتج عن طلب المستخدم أو خطأ في التنفيذ . ويجب أن يعرف المستخدم ما هي نتيجة تنفيذ البرنامج وماهو الخطأ في حال وجوده
I/O Operations 3- عمليات الدخل والخرجهذه العمليات هامة جدًا، إذ أنها تسمح للبرنامج بالاتصال مع العالم الخارجي والحصول على المعلومات اللازمة لتنفيذها وإظهار النتائج المطلوبة . ومنها قراءة الحروف من لوحة الملامس أو عبر البوابة التسلسلية أو قراءة البيانات الواردة عن طريق بطاقة الشبكة، أو إرسال معلومات للطباعة File-system Manipulation 4- التعامل مع نظام الملفاتيعتبر نظام الملفات أحد أهم مكونات نظام التشغيل، وذلك لأنه المسؤول الأساسي عن التعامل مع البيانات الدائمة والتي يتجاوز عمرها عمر البرنامج الذي انشأها او قام بتعديلها ويحتاج المستخدم إلى التمكن من إنشاء الملفات وحذفها، وقراءة محتواها وتعديلها وحفظ هذه التعديلات. وقد تكون هناك حاجة لتحديد صلاحيات الاستخدام وفرض هذه الصلاحيات على التطبيقات المختلفة ولاسيما في الأنظمة متعددة المستخدمين.
Communications 5- الاتصال تحتاج التطبيقات إلى تأمين الاتصال فيما بينها، سواء إن كانت تعمل على الحاسوب نفسه أو على حواسيب مختلفة متصلة عن طريق شبكة، كما هو الحال في تطبيقات الإنترنت وتصفح الويب. ويمكن أن يكون الاتصال عبر ذاكرة مشتركة، أو عن طريق تبادل الرسائل. Error detection 6- اكتشاف الأخطاءيجب أن يكون نظام التشغيل قادرًا باستمرار على اكتشاف الأخطاء التي قد تحصل في الأجزاء المختلفة من المنظومة الحاسوبية . قد تكون الأخطاء عتادية، كتلك الناتجة عن ارتفاع درجة حرارة المعالج او تأكل الاجزاء الداخلية للقرص الصلب أو تعرض الدارات الإلكترونية للغبار .
ويمكن أن تكون الأخطاء برمجية، كتلك الناتجة عن خطأ في عنونة الذاكرة او محاولة فتح ملف غير موجود . يجب أن يتخذ نظام التشغيل الخطوات اللازمة لاكتشاف الأخطاء وتشخيصها وإعلام الشخص المسؤول (عادة يكون هناك مدير للنظام ) عن معالجة هذه الأخطاء وإصلاحها .وذلك بهدف السماح Debugging تقدم أنظمة التشغيل عادة خدمة التنفيذ في حالة الاختبارللمبرمجين ومطوري التطبيقات باكتشاف أكبر قدر ممكن من هذه التطبيقات قبل إرسالهاللزبائن
المجموعة الثانية: المجموعة الثانية من الخدمات تهدف إلى زيادة فاعلية استخدام موارد الحاسوب لضمان كفاءة تشغيل النظام عبر تقاسم الموارد 1- تخصيص المواردويقصد بذلك إدارة الموارد المتاحة والمتنوعة ضمن الحاسوب (زمن المعالج وذاكرة التنفيذوبوابات الدخل والخرج) . وتتميز هذه الموارد بمحدوديتها مما ينتج عنه استحالة تخصيص كافة التطبيقات التي تنفذ في نفس الوقت بكل ما تطلب . ولذلك تتسم هذه الخدمة بأهمية خاصة، إذ يقع على عاتقها إدارة عملية التخصيص للموارد المختلفة وتلافي الأزمات التي يمكن أن تنتج عن سوء الإدارة
2- المحاسبة ويقصد بذلك توليد المعلومات اللازمة لمعرفة حجم استهلاك المستخدمين للموارد المختلفة ضمن المنظومة الحاسوبية 3-الحماية والأمن وهي خدمات ضرورية بسبب وجود عدة مستخدمين يستخدمون الحاسوب وموارده في آن واحد .والهدف هو حماية البرامج التي تنفذ وبيانات المستخدمين من التعديات المقصودة أو غيرالمقصودة. وتنقسم بدورها إلى فئتين من الخدمات :الحماية: ويقصد بها التأكد من أن التعامل مع مكونات النظام العتادية والبرمجية يمر دومًا عبر اليات تحكمتمنع حصول نتائج غير مرغوبة . فعلى سبيل المثال، في حال السماح للتطبيقات بالتعامل المباشر مع التجهيزات، يمكن للبرامج إصدار أوامر لدارات التحكم بالقرص الصلب من شأنها مسح محتواه، وهذا ماكانت تقوم به الفيروسات لفترة طويلة عندما لم يكن نظام التشغيل يقدم هذه الحمايات . ولاتقتصر أهمية الحماية على التخريب المتعمد، بل يمكن ان يكون هناك تخريب غير متعمد.إذ يمكن للمبرمج أن يحاول . كالذي ينتج عن أخطاء العنونة الشائعة جدًا بين مبرمجي لغة C
الأمن: والمقصود بذلك التحقق من هوية المستخدمين الذين يرغبون في استخدام موارد النظام وحصر التعامل مع هذه الموارد بالمستخدمين المخولين بذلك، وقد يتضمن ذلك أيضًاالاحتفاظ بسجلات الدخول إلى النظام بهدف اكتشاف محاولات الاختراق الفاشلة ومصدرها
نداءات النظام System Calls وهي الالية الاساسية لطلب خدمات نظام التشغيل (هي ميكانيكية تستخدمها البرامج التطبيقية للحصول علي خدمة يقوم بها نظام التشغيل ) كيفية الحدوث (تحدث في وقت معالجة برامج التشغيل في الذاكرة ، يتم تحديد اسم الدالة المطلوبة ومناداتها وفي حالة الحوجة لمعلومات اضافية يتم ارسال المعلومات عن طريق معاملات ) وهنالك عدة طرق تستخدم لارسال المعاملات هي : Registers ---Linuxارسال المعاملات الي النظام عن طريق وضعها في احد المسجلات (اسرع طريقة لكنها تفضل فقط عندما يكون هنالك عدد قليل من المعاملات وذلك لانه هنالك عدد محدود من السجلات داخل المعالج )
Stack (un limited data)استخدام تراكيب بيانات من نوع حيث يقوم البرنامج بدفع المعاملات داخلها ومن ثم يقوم نظام التشغيل باستخراجها هذه الطريقة لاتحدد كمية البيانات المخزنة ( (un limited data Block or table (unlimited data & Access Easy)تخزين المعاملات في مكان محدد في الذاكرة او توضع في جدول في الذاكرة ثم يوضع عنوان المكان او الجدول في مسجل ويمرر العنوان الي نظام التشغيل افضل الطرق الثلاث لانها لاتحدد كمية البيانات المخزنة ويمكن لنظام التشغيل الوصول لاي معلومة بسهولة عكس الطريقة الثانية في حالة اراد الحصول علي معلومة اسفل stack فسوف يضطر لتفريغ جميع المعلومات التي تقع فوقها .
System calls Classificationتصنيف نداءات النظام يمكن تصنيف نداءات النظام الي عدة انواع • Files : create - delete – open – read – write (اعمال الملفات ) • Device management : request – edit – read – write (ادارة الاجهزة ) • Information : request – information – date & time (صيانة المعلومات) • Connection : create – delete link – send & received messages (الاتصال) • Control in processes (التحكم في العمليات )
الاوامر البرمجية Application program interface (API) لكل نظام تشغيل مجموعة من الاوامر البرمجية التي تقوم بمناداة نداءات النظام في قلب النظام ثم تنتقل لنظام التشغيل API System calls OS Services المفهوم العام لعلاقة الاوامر البرمجية مع نداءات النظام
من اكثر انواع الاوامر البرمجية شيوعا • win32 API التي تستخدم في نظام التشغيل windows • POSIX API : التي تستخدم في انظمة Linux وUnix وMac OS X • JAVA API : المستخدمة في الالة الوهمية للغة جافا يفضل استخدام الاوامر البرمجية بدلا من نداءات النظام وذلك للاسباب التالية • Portability : قابلية التنقل في الاوامر البرمجية . • System call very difficult : اوامر استدعاء النظام اكثر تفصيلا وتعقيدا ويصعب التعامل معها وتختلف من نظام لنظام بينما الاوامر البرمجية اسهل واقل تعقيدا .
: System programs برامج النظام هي مجموعة برامج توفر بيئة تخاطبية بين نظام التشغيل والبرامج المطورة من قبل المستخدمين ومطوري البرامج واكثر المستخدمين يتعاملون مع نظام التشغيل عبر برامج النظام وليس بالاتصال المباشر بنظام التشغيل TYPESانواع برامج النظام تنقسم برامج النظام الي عدة انواع • Files managementادارة الملفاتوهي المسؤلة عن جميع عمليات الملفات والادلة • System information : معلومات حالة النظام : برامج تسأل النظام عن الوقت –حجم الذاكرة – عدد المستخدمين • Modify files:تعديل الملفات وهي مجموعة من محررات النصوص لعمل تغيرات علي محتويات الملفات • Support programming files :دعم ملفات البرمجة وهي المسؤلة عن التجميع في برامج لغات البرمجة • Load and executed programs:تنفيذ وتحميل البرامج وهي المسؤلة عن تنفيذ البرامج بعد تحميلها • Connections: الاتصالات وهي المسؤلة عن الاتصال بين العمليات او المسخدمين او بين اجهزة واخري
Operating system structureتركيب نظم التشغيل هنالك عدة طرق لتركيب وبناء نظم التشغيل وهي :- 1-monolithic: التركيب البسيط User programs Every thing OS hardware بحيث يكون نظام التشغيل في مستوي واحد او مستويين الميزة : تكلفة الداخلية للنظام منخفضة لانها جميع تقع في نفس المستوي العيوب : صعوبة الفهم –صعوبة التعديل –صعوبة الصيانة – غير موثوق فيه
User interface 2- Layered تركيب الطبقات Layer N النظام مقسم لطبقات بحيث يكون كل جزء من النظام في طبقة مستقلة والطبقة 0 مخصصة للعتاد والطبقة N مخصصة لواجهة المستخدم . الميزة الاساسية : وجود الطبقات الي تسهيل عملية الصيانة العيوب :المشكلة تكمن في عملية ترتيب الطبقات فلاتوجد طريقة واضحة للترتيب Layer 1 Layer 0 hardware
3- Microkernel: تركيب النواة الصغيرة contented basic functions and others functions in user area تكون نواة النظام في هذا التركيب صغيرة جدا ولايوضع بداخلها سوي الوظائف الاساسية اما الوظائف الاخري توضع في مساحة المستخدم ويكون الاتصال بين مساحة المستخدم والنواة عن طريق الرسائل العابرة message passing المميزات : السهل توسيع (تمديد) النظام – النظام اكثر ثقة وامنا. العيوب : الاتصال بين مساحة المستخدم ونواة النظام عملية مكلفة .
Modules – based-4 تركيب الوحدات Scheduling classes a Device and bus drivers Files system KERNEL Miscellaneous modules Loadable system calls Streams modules Executable formats
معظم انظمة التشغيل الحديثة مبنية بهذه الطريقة ، حيث تكون النواة الاساسية في المركز وبقية الوظائف تتفرع منها ، وهي مشابهة للطبقات ولكنها اكثر مرونة واكثر كفاءة .
Virtual machinesالالات الافتراضية او التخيلية الالة الافتراضية هي عبارة عن برامج يسمح بتشغيل اكثر من نظام تشغيل تخيلي افتراضي علي جهاز واحد بحيث يمكن تثبيت اكثر من نظام تشغيل علي نفس الجهاز والتنقل بين هذه الانظمة دون خسارة كبيرة في الاداء • Attributes: خصائصها • تمكن من استخدام انظمة تشغيل متعددة علي جهاز واحد والتنقل بينها دون الحاجة لاعادة تشغيله. • تمكن من تركيب انظمة تشغيل متعددة دون تقسيم جديد للقرص الصلب. • توفر الاتصال بين انظمة تشغيل متعددة علي جهاز شخصي واحد.
Advantages فوائدها : • امكانية تجربة انظمة تشغيل متعددة باقل تكاليف . • امكانية اجراء تعديلات علي النظام التخيلي بحرية وذلك لان الموارد التي يستخدمها معزولة تمام عن موارد النظام الاساسي . • يساعد علي توفير بيئة برمجية جيدة مما يتيح لمطوري انظمة التشغيل اجراء التجارب و البحوث علي الالة الوهمية بدلا من القيام بها علي النظام الاساسي وبالتالي لايؤثر علي اداء النظام . مثال علي الالة الافتراضية : الة جافا الوهمية التي تمكن ملفات الجافا من العمل علي جميع او معظم انظمة التشغيل .
Operating system generationتثبيت نظام التشغيل OS > hardware Functions of Sysgen في الغالب تنتج الشركات نظم التشغيل علي اقراص مدمجة ولكي تتم عملية التركيب بصورة صحيحة يجب استخدام برنامج يطلق عليه SYSGEN يقوم بقراءة بيانات التركيب من ملف معين او يقوم بتوجيه اسئلة للشخص الذي يقوم بتركيب النظام حول معلومات تخص النظام مثل: • نوع المعالج • حجم الذاكرة المتوفر • الاجهزة المتوافرة
العمليات processes العملية هي التعليمة التي تنفذ ضمن سياق تنفيذي معين – البرنامج في مرحلة التنفيذ لتنفيذ العملية تحتاج لعده موارد مثل وقت CPU والذاكرة والملفات اجهزة الادخال والاخراج ، حيث تعطي للعملية وقت انشاؤها . المسؤل عن ادارة هذه العمليات وكل مايتعلق بها من انشاء او الغاء وجدولة وتزامن والية اتصالات هو نظام التشغيل
تحتوي العملية علي عدد من المعلومات • address spaceمساحة العنوان • Program codeالكود المستخدم في البرنامج المراد تنفيذه • Program dataالبيانات • Stack pointer مؤشر للتكديس • Program counterعداد للبرنامج • Registerالسجل وقيمه • Heap الكومة الكومة : هي عملية تحديد البيانات التي استخدمناها في هذه العملية
خصائص العملية process properties 1- احادية التنفيذ 2-احادية تخصيص الموارد 3- العمليات معزولة عن بعضها البعض
Processes states حالات العمليات كل عملية من العمليات لابد ان تمر باكثر من حالة وقت تنفيذها ، هذه الحالات تدل علي نشاطها في هذه اللحظة. الحالات التي تمر بها العملية هي :- • New التجديد • Ready الاستعداد • Running التنفيذ • Waiting الانتظار • Terminatedالانتهاء
كتلة السيطرة علي العملية Process Control Block هي تراكيب بيانات في نواة نظام التشغيل تحتوي علي المعلومات اللازمة لادارة عملية معينة ، يختلف تنفيذها من نظام لاخر وبشكل عام تشمل بشكل مباشر او غير مباشر :- • Process State (new , running , ready , waiting ,terminate)حالة العملية • Program counter عداد البرنامج • Registers (stack pointer , index registers , general purpose registers , condition-code information) • CPU-scheduling informationمعلومات جدولة وحدة المعالجة • memory-management informationمعلومات ادارة الذاكرة
Accounting informationالمعلومات الحسابية للعملية • I/O state informationمعلومات عن حالة الادخال والاخراج • Pointer to next process كتلة السيطرة علي العملية
موقع كتلة السيطرة علي العملية لانها تحتوي علي معلومات مهمة وحساسة فانها توضع في منطقة الذاكرة المحمية من وصول المستخدم العادي في بعض انظمة التشغيل يتم وضعها في بداية نواة للعملية لانه موقع محمي ومناسب .
جدولة العمليات الجدولة تعني : وضع خطة لترتيب دخول العمليات علي المعالج ، حيث تدخل عملية واحدة في كل مرة وتستغل معظم وقت المعالج ، ويقوم مجدول العمليات بترتيب دخول العمليات علي المعالج .
انواع الجدولة Types of scheduler: من المنطقي ان يكون هنالك طريقة لجمع المهام في مكان واحد بشكل منظم ومرتب هذا المكان يسمي طابور او صف(queue). طوابير الجدولة : • طابور المهام job queue: يوجد فيه جميع العمليات الموجودة في النظام . • الطابور الجاهزready queue: به جميع المهام التي تنتظر التنفيذ. • طابور الجهاز device queue: جميع المهام التي تنتظر مدخلات ومخرجات . • Long –term scheduler الجدولة طويلة المدي وهي التي تقرر اي العمليات تدخل الي الطابور الجاهز وايها تخرج او تتاخر .