Download - Operating System
Operating System
Ahmed Eltayeb Abdallah
1
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 التشغيل نظم هيكلية2
3
4
5
1- Operating System Concepts (Seventh Edition): Abraham Silberschatz,Peter Baer Galvin,Greg Gagne
6
2- http://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/sysService.htm
المصدر
التشغيل؟ أنظمة what is an operating ماهي
system
التي العقود ملموسخالل بشكل السؤال هذا على اإلجابة تطورت
الحاسوب حياة فترة شكلت
باالجهزة " ". تتحكم التي البرمجيات هي اإلجابة كانت الستينات، ففي
إلى الحاسوب استخدام تطور إذ كافية، غير اإلجابة فهذه اليوم أما
دقيقة إجابة إعطاء الصعب من تجعل .درجة
على ليصبح تطويره مع التعريف بهذا االحتفاظ البداية في ويمكن
التالي :الشكل
بعمل التحكم عن المسؤولة البرمجيات مجموعة هو التشغيل نظام
في المختلفة الموارد
حاجتها بحسب والمستخدمين التطبيقات على وتوزيعها .الحاسوب،
الموارد : إدارة التشغيل أنظمة في المهام أهم احد ابرز التعريف هذا
.وتخصيصها
اجهزة - - التخزين ووسائط الذاكرة المعالجات هي الموارد هذه وأهم
االتصاالت واجهزة والخرج .الدخل
7
8
التاريخي التطورالتشغيل النظمة
9
) الخمسينات ) التشغيل ألنظمة األولى المرحلة
ان الي باالضافة وتشغيلها، صيانتها وكذلك جدVا، مكلفة كانت الحواسيب
وحيد مستخدم تمكن نصية تخاطبية واجهة باستخدام كان معها التعامل
ما لحظة في الحواسيب . استخدامها مع يتعاملون المبرمجون وكان
) المثقبة ) البطاقات جدVا، منخفضة آليات الدور . باستخدام وكان
القيام هو الفترة تلك في تشغيل نظام تسميته يمكن لما األساسي
التالية :بالمهام
واالخراج- 1 االدخال تجهيزات إدارة
2 . ا- Vجد معقدة كانت والتي التجهيزات لتلك البرمجيات كتابة
10
) الستينات ) التشغيل ألنظمة الثانية المرحلة
الباتش الــ Batch computingانظمة Multiprogrammingو
البطاقات من واحدة مجموعة الوظائففي جميع تجمع الباتشان بطريقة يقصد
تحكم , بطاقة واخري وظيفة كل بين ويفصل الجهاز عليها يتعرف التي
) كما ) الحين ذلك في االجهزة اداء في كبيرا تطورا قدم الباتش المعالجة نظام
الجهاز . مكونات الدارة التشغيل نظام استخدام ضرورة وضح
Multiprogramming ) ( : واالنتظار المعالج بين العمليات الوظائف تعاقب عملية هي
االدخال ومصادر للمعالج استخدام اكبر توفر والتي اخراج او ادخال المر
واالخراج .
Time sharing : الزمنية المشاركة
11
) الثمانينات ) التشغيل ألنظمة الثالثة المرحلة
الجدولة
الملفات ادارة انظمة
التخاطبية الواجهات
االن ) ( وحتي التسعينات التشغيل ألنظمة الرابعة المرحلة
االنترنت – شبكة & Networks الشبكات
internet
UNIX
QDOS :Quick and Dirty Operating System
MS DOS: Microsoft Desk Operating System 1991
12
المخدمات تشغيل انظمة
" حجمها، " عن النظر بغض للمخدمات وظيفيVا ا Vتعريف تتضمن مخدم كلمة
كبيرة حواسيب عن عبارة المخدمات تكون ان علي العادة درجت .وإن
يرسلون : الذين للزبائن خدمات بتقديم يقوم هوحاسوب المخدم
ومخدم اإللكتروني البريد كمخدم شبكي، اتصال عبر طلباتهم
الملفات
.Linux و ،Window 2003 Server المخدمات تشغيل أنظمة على ومثال
المعالجات متعددة التشغيل أنظمة
عدة وصل الحواسيبهي سرعة لزيادة شيوعVا الطرق أكثر إحد
في ذلك يستخدم ما وغالبVا واحد، نظام ضمن معالجة وحدات
هذه . مع تتعامل التي التشغيل أنظمة تكون وبالتالي المخدمات
المخدم تشغيل نظام من متخصصة نسخة هي المتعددة المعالجات
13
الشخصية الحواسيب تشغيل أنظمة
وهي مالئمة، تخاطبية بواجهة المستخدم تزويد على األنظمة هذه تركز
اإلنترنت . إلى والدخول المكتبية التطبيقات في واسع نطاق على مستخدمة
) ( ، المخدم نسخ باستثناء المختلفة بنسخه ويندوز نظام االمثلة أشهر ومن
ماكينتوشولينكس . ونظام
.
الحقيقي بالزمن التشغيل أنظمة
سبيل . فعلى عملها في أساسي كعامل الزمن على تعتمد األنظمة هذه
الصناعية باإلجرائيات التحكم في األنظمة هذه تستخدم أن يمكن المثال،
في باالالت للتحكم واستخدامه اإلنتاج عملية عن معلومات جمع يتم حيث
بها االلتزام يجب حدية ازمنة هنالك ماتكون وغالبا المعمل
deadlines
14
المحمولة التشغيل أنظمة
واألنظمة جدVا الصغيرة الحواسيب بعمل التحكم عن المسؤولة وهي
تعتبر ال التي المحمولة
وغالبVا . المحمولة والهواتف التلفزيون كأجهزة اسيب، حو بالضرورة
بالزمن التشغيل أنظمة نفسمتطلبات األنظمة لهذه تكون ما
واستهالك والذاكرة الحجم ضوابط ا Vأيض لديها ولكن الحقيقي،
التشغيل . أنظمة أهم ومن خاصة أنظمة منها تجعل التي القدرة
Windows CE.هذه
15
التشغيل نظم operation system structureهيكلية
الي : تهدف التشغيل نظم هيكلية
للمستخدمين- 1 التشغيل أنظمة تقدمها التي بالخدمات التعريف
ومستخدميها، للبرمجيات الخدمات من العديد التشغيل نظام يقدم حيث
على بهدفمساعدتهم وذلك
الي . الخدمات وتنقسم أمثل بشكل الحاسوبية الموارد استخدام
للمستخدمين تسمح التي الخدمات تشمل األولى المجموعة مجموعتين
فاعلية زيادة إلى تهدف والثانية الحاسوبية المنظومة مع بالتعامل
الحاسوب موارد استخدام
الخدمات -2 هذه لطلب أساسية كأداة النظام باستدعاءات التعريف
للمستخدم- 3 أساسية أدوات كمجموعة النظام ببرمجيات التعريف
التشغيل- 4 نظام لتصميم المختلفة الطرق مناقشة
16
: بشكل المستخدم تساعد التي التشغيل نظام خدمات االولى المجموعةمباشر
التخاطبية- 1 User Interface الواجهة
مع والتعامل للنظام األوامر بتوجيه تسمح تخاطبية واجهة التشغيل أنظمة تقدم
. البيانية التخاطبية الواجهات انتشرت وقد المختلفة GUI: Graphical User)خدماته
Interface) من اليتجزأ جزءVا باتت حتى تدريجيVا وتطورت التسعينات سنوات منذ
الشخصية والحواسيب العمل محطات حالة في السيما التشغيل، .نظام
القصوى الحالة من التشغيل نظام في البيانية التخاطبية الواجهة أهمية وتتدرج
يستحيل حيث
من أول كان ماكينتوشالذي نظام في الحال هو كما بدونها عملية بأية القيام
يعتمد الذي المختلفة بأشكاله ويندوز بنظام ا Vمرور الواجهات، من النوع هذا أطلق
على تعتمد التي التقليدية الواجهة ا Vأيض يدعم ولكنه الواجهات هذه على ا Vأساس
المكتوبة النصية األوامر
ونظام الواجهة هذه بين كليVا تفصل أنظمة إلى ووصوً ال
(CLI : Command Line Interface)
خدماته كافة ويستخدم النظام مع يتعامل بأن للمستخدم وتسمح التشغيل،
نظام مثل البيانية، بالواجهة المرور دون استثناء بدون المختلفة Unixبأشكاله
17
Program Execution 2- البرامج تنفيذ
التي والتطبيقات البرامج تنفيذ هي الحاسوب استخدام من الغايةاألساسية
الصور . ومعالجة الرسم النصوصوبرامج كمعالجات ، المستخدم يحتاجها
التشغيل نظام يسمح أن ويجب
وتحديد )Parameters( التي استخدامه، يرغبفي الذي البرنامج بتحديد للمستخدم
الوسائط
ذلك كان سواء تنفيذه، وإيقاف البرنامج تنفيذ وطلب له، تمريرها يرغبفي
المستخدم طلب عن ناتج قسري انتهاء نتيجة أو للبرنامج طبيعي نتهاء ا نتيجة
البرنامج . تنفيذ نتيجة هي ما المستخدم يعرف أن ويجب التنفيذ في خطأ أو
وجوده حال في الخطأ وماهو
18
I/O Operations 3- والخرج الدخل عملياتالخارجي العالم مع باالتصال للبرنامج تسمح أنها إذ جدVا، هامة العمليات هذه
ومنها . المطلوبة النتائج وإظهار لتنفيذها الالزمة المعلومات على والحصول
البيانات قراءة أو التسلسلية البوابة عبر المالمسأو لوحة من الحروف قراءة
معلومات إرسال أو الشبكة، بطاقة طريق عن الواردة
للطباعة
File-system Manipulation 4- الملفات نظام مع التعاملالمسؤول ألنه وذلك التشغيل، نظام مكونات أهم أحد الملفات نظام يعتبر
البرنامج عمر عمرها يتجاوز والتي الدائمة البيانات مع التعامل عن األساسي
المستخدم ويحتاج بتعديلها قام او انشأها الذي
هذه وحفظ وتعديلها محتواها وقراءة وحذفها، الملفات إنشاء من التمكن إلى
وفرضهذه. االستخدام صالحيات لتحديد حاجة هناك تكون وقد التعديالت
متعددة األنظمة في والسيما المختلفة التطبيقات على الصالحيات
19.المستخدمين
Communications 5- االتصال
تعمل كانت إن سواء بينها، فيما االتصال تأمين إلى التطبيقات تحتاج
طريق عن متصلة مختلفة حواسيب على أو نفسه الحاسوب على
. أن ويمكن الويب وتصفح اإلنترنت تطبيقات في الحال هو كما شبكة،
الرسائل تبادل طريق عن أو مشتركة، ذاكرة عبر االتصال .يكون
Error detection 6- األخطاء اكتشافاألخطاء اكتشاف على باستمرار ا Vقادر التشغيل نظام يكون أن يجب
قد . الحاسوبية المنظومة من المختلفة األجزاء في تحصل قد التي
او المعالج حرارة درجة ارتفاع عن الناتجة كتلك عتادية، األخطاء تكون
الصلب للقرص الداخلية االجزاء تأكل
للغبار اإللكترونية الدارات تعرض . أو
20
عن الناتجة كتلك برمجية، األخطاء تكون أن الذاكرة ويمكن عنونة في او خطأ
موجود غير ملف فتح . محاولة
وتشخيصها األخطاء الكتشاف الالزمة الخطوات التشغيل نظام يتخذ أن يجب
هذه ) ( معالجة عن للنظام مدير هناك يكون عادة الشخصالمسؤول وإعالم
وإصالحها .األخطاء
السماح بهدف في Debugging وذلك التنفيذ خدمة عادة التشغيل أنظمة تقدم
االختبار حالة
هذه من ممكن قدر أكبر باكتشاف التطبيقات ومطوري للمبرمجين
إرسالها قبل التطبيقات
للزبائن
21
: الثانية المجموعة
موارد استخدام فاعلية زيادة إلى تهدف الخدمات من الثانية المجموعة
الموارد تقاسم عبر النظام تشغيل كفاءة لضمان الحاسوب
الموارد- 1 تخصيص
زمن ) الحاسوب ضمن والمتنوعة المتاحة الموارد إدارة بذلك ويقصد
التنفيذ وذاكرة المعالج
. ) ينتج مما بمحدوديتها الموارد هذه وتتميز والخرج الدخل وبوابات
الوقت نفس في تنفذ التي التطبيقات تخصيصكافة استحالة عنه
على . يقع إذ خاصة، بأهمية الخدمة هذه تتسم ولذلك تطلب ما بكل
األزمات وتالفي المختلفة للموارد التخصيص عملية إدارة عاتقها
اإلدارة سوء عن تنتج أن يمكن التي
22
المحاسبة- 2
المختلفة للموارد المستخدمين استهالك حجم لمعرفة الالزمة المعلومات توليد بذلك ويقصد
الحاسوبية المنظومة ضمن
واألمن -3 الحماية
آن في وموارده الحاسوب يستخدمون مستخدمين عدة وجود بسبب ضرورية خدمات وهي
.واحد
غير أو المقصودة التعديات من المستخدمين وبيانات تنفذ التي البرامج حماية هو والهدف
الخدمات. من فئتين إلى بدورها وتنقسم :المقصودة
ا: الحماية Vدوم يمر والبرمجية العتادية النظام مكونات مع التعامل أن من التأكد بها ويقصد
تحكم اليات عبر
بالتعامل . للتطبيقات السماح حال في المثال، سبيل فعلى مرغوبة غير نتائج حصول تمنع
من الصلب بالقرص التحكم لدارات أوامر إصدار للبرامج يمكن التجهيزات، مع المباشر
نظام يكن لم عندما طويلة لفترة الفيروسات به تقوم ماكانت وهذا محتواه، مسح شأنها
يمكن . بل المتعمد، التخريب على الحماية أهمية والتقتصر الحمايات هذه يقدم التشغيل
متعمد غير تخريب هناك يكون يحاول .ان أن للمبرمج يمكن أخطاء . إذ عن ينتج كالذي
لغة مبرمجي بين جدVا الشائعة C العنونة
23
الذين األمن: المستخدمين هوية من التحقق بذلك والمقصود
موارد استخدام في يرغبون
المخولين بالمستخدمين الموارد هذه مع التعامل وحصر النظام
ا Vأيض ذلك يتضمن وقد بذلك،
محاوالت اكتشاف بهدف النظام إلى الدخول بسجالت االحتفاظ
ومصدرها الفاشلة االختراق
24
System callsالنظام نداءات
25
النظام System Callsنداءات ( تستخدمها ميكانيكية هي التشغيل نظام خدمات لطلب االساسية االلية تستخدمها ) وهي ميكانيكية هي التشغيل نظام خدمات لطلب االساسية االلية وهي
التشغيل ( نظام بها يقوم خدمة علي للحصول التطبيقية التشغيل (البرامج نظام بها يقوم خدمة علي للحصول التطبيقية البرامج
( يتم ، الذاكرة في التشغيل برامج معالجة وقت في تحدث الحدوث يتم ) كيفية ، الذاكرة في التشغيل برامج معالجة وقت في تحدث الحدوث كيفية
يتم اضافية لمعلومات الحوجة حالة وفي ومناداتها المطلوبة الدالة اسم يتم تحديد اضافية لمعلومات الحوجة حالة وفي ومناداتها المطلوبة الدالة اسم تحديد
معامالت ( طريق عن المعلومات معامالت (ارسال طريق عن المعلومات ارسال
: هي المعامالت الرسال تستخدم طرق عدة هي :وهنالك المعامالت الرسال تستخدم طرق عدة وهنالك
Registers ---LinuxRegisters ---Linux احد في وضعها طريق عن النظام الي المعامالت احد ارسال في وضعها طريق عن النظام الي المعامالت ارسال
المسجالتالمسجالت
المعامالت) من قليل عدد هنالك يكون عندما فقط تفضل لكنها طريقة المعامالت) اسرع من قليل عدد هنالك يكون عندما فقط تفضل لكنها طريقة اسرع
المعالج ( داخل السجالت من محدود عدد هنالك النه المعالج (وذلك داخل السجالت من محدود عدد هنالك النه وذلك
26
Stack )un limited data(Stack )un limited data( نوع من بيانات تراكيب نوع استخدام من بيانات تراكيب استخدام
التشغيل نظام يقوم ثم ومن داخلها المعامالت بدفع البرنامج يقوم التشغيل حيث نظام يقوم ثم ومن داخلها المعامالت بدفع البرنامج يقوم حيث
باستخراجها باستخراجها
المخزنة ) البيانات كمية التحدد الطريقة المخزنة )هذه البيانات كمية التحدد الطريقة un limited dataun limited data ) )هذه
Block or table )unlimited data & Access Easy(Block or table )unlimited data & Access Easy(
الذاكرة في جدول في توضع او الذاكرة في محدد مكان في المعامالت الذاكرة تخزين في جدول في توضع او الذاكرة في محدد مكان في المعامالت تخزين
نظام الي العنوان ويمرر مسجل في الجدول او المكان عنوان يوضع نظام ثم الي العنوان ويمرر مسجل في الجدول او المكان عنوان يوضع ثم
التشغيلالتشغيل
التشغيل لنظام ويمكن المخزنة البيانات كمية التحدد النها الثالث الطرق التشغيل افضل لنظام ويمكن المخزنة البيانات كمية التحدد النها الثالث الطرق افضل
الحصول اراد حالة في الثانية الطريقة عكس بسهولة معلومة الي الحصول الوصول اراد حالة في الثانية الطريقة عكس بسهولة معلومة الي الوصول
اسفل معلومة اسفل علي معلومة تقع stackstackعلي التي المعلومات جميع لتفريغ يضطر تقع فسوف التي المعلومات جميع لتفريغ يضطر فسوف
فوقها .فوقها .
27
28
Application program interface )API(
API
System calls
OS Services
29
االوامر البرمجية
من مجموعة تشغيل نظام لكلتقوم التي البرمجية االوامرفي النظام نداءات بمناداة
لنظام تنتقل ثم النظام قلبالتشغيل
النظام نداءات مع البرمجية االوامر لعالقة العام المفهوم
شيوعا البرمجية االوامر انواع اكثر من
.1 win32 API التشغيل نظام في تستخدم windowsالتي
.2POSIX API :انظمة في تستخدم Mac OS Xو Unixو Linuxالتي
.3JAVA API : جافا للغة الوهمية االلة في المستخدمة
لالسباب وذلك النظام نداءات من بدال البرمجية االوامر استخدام يفضل
التالية
.1Portability . :البرمجية االوامر في التنقل قابلية
.2System call very difficult : ويصعب وتعقيدا تفصيال اكثر النظام استدعاء اوامر
تعقيدا . واقل اسهل البرمجية االوامر بينما لنظام نظام من وتختلف معها التعامل
30
: System programs النظام برامج
البرامج ومطوري المستخدمين قبل من المطورة والبرامج التشغيل نظام بين تخاطبية بيئة توفر برامج مجموعة هي
التشغيل بنظام المباشر باالتصال وليس النظام برامج عبر التشغيل نظام مع يتعاملون المستخدمين واكثر
TYPES النظام برامج انواع
انواع عدة الي النظام برامج تنقسم
•Files management الملفات واالدلة ادارة الملفات عمليات جميع عن المسؤلة وهي
•System information – – : :المستخدمين عدد الذاكرة حجم الوقت عن النظام تسأل برامج النظام حالة معلومات
•Modify files :محتويات علي تغيرات لعمل النصوص محررات من مجموعة وهي الملفات تعديل
الملفات
•Support programming files : البرمجة لغات برامج في التجميع عن المسؤلة وهي البرمجة ملفات دعم
•Load and executed programs :تحميلها بعد البرامج تنفيذ عن المسؤلة وهي البرامج وتحميل تنفيذ
•Connections : اجهزة بين او المسخدمين او العمليات بين االتصال عن المسؤلة وهي االتصاالت
واخري
31
Operating system structure التشغيل نظم تركيب
وهي :- التشغيل نظم وبناء لتركيب طرق عدة هنالك
1-monolithic : البسيط التركيب
32
User programs
hardware
Every thingOS
مستويين او واحد مستوي في التشغيل نظام يكون بحيث
نفس : في تقع جميع النها منخفضة للنظام الداخلية تكلفة الميزة
المستوي
فيه : – – – موثوق غير الصيانة صعوبة التعديل صعوبة الفهم صعوبة العيوب
2- Layered الطبقات تركيب
33
Layer 0 hardware
Layer 1
Layer N
User interface
مقسم النظاميكون بحيث لطبقاتالنظام من جزء كلمستقلة طبقة في
مخصصة 0والطبقة والطبقة للعتاد
N لواجهة مخصصةالمستخدم .
االساسية : الميزةالي الطبقات وجود
الصيانة عملية تسهيلالمشكلة العيوب :
ترتيب عملية في تكمنفالتوجد الطبقات
للترتيب واضحة طريقة
3- Microkernel : الصغيرة النواة تركيب
contented basic functions and others functions in user area
بداخلها واليوضع جدا صغيرة التركيب هذا في النظام نواة تكون
مساحة في توضع االخري الوظائف اما االساسية الوظائف سوي
طريق عن والنواة المستخدم مساحة بين االتصال ويكون المستخدم
العابرة message passingالرسائل
. – ) وامنا : ) ثقة اكثر النظام النظام تمديد توسيع السهل المميزات
مكلفة : . عملية النظام ونواة المستخدم مساحة بين االتصال العيوب
34
a
35
Modules – based-4 تركيبالوحدات
KERNEL
Files system
Scheduling classes
Device and bus drivers
Loadable system calls
Executable formats
Miscellaneous modules
Streams modules
النواة تكون حيث ، الطريقة بهذه مبنية الحديثة التشغيل انظمة معظم
مشابهة وهي ، منها تتفرع الوظائف وبقية المركز في االساسية
كفاءة . واكثر مرونة اكثر ولكنها للطبقات
36
Virtual machines التخيلية او االفتراضية االالت
تشغيل نظام من اكثر بتشغيل يسمح برامج عن عبارة هي االفتراضية االلة
تشغيل نظام من اكثر تثبيت يمكن بحيث واحد جهاز علي افتراضي تخيلي
االداء في كبيرة خسارة دون االنظمة هذه بين والتنقل الجهاز نفس علي
•Attributes :خصائصها
والتنقل 1. واحد جهاز علي متعددة تشغيل انظمة استخدام من تمكن
. تشغيله العادة الحاجة دون بينها
للقرص 2. جديد تقسيم دون متعددة تشغيل انظمة تركيب من تمكن
الصلب.
.3 . واحد شخصي جهاز علي متعددة تشغيل انظمة بين االتصال توفر
37
Advantages : فوائدها
تكاليف .1. باقل متعددة تشغيل انظمة تجربة امكانية
الموارد 2. الن وذلك بحرية التخيلي النظام علي تعديالت اجراء امكانية
االساسي . النظام موارد عن تمام معزولة يستخدمها التي
انظمة 3. لمطوري يتيح مما جيدة برمجية بيئة توفير علي يساعد
من بدال الوهمية االلة علي البحوث و التجارب اجراء التشغيل
النظام . اداء علي اليؤثر وبالتالي االساسي النظام علي بها القيام
االفتراضية : االلة علي مثال
او جميع علي العمل من الجافا ملفات تمكن التي الوهمية جافا الة
التشغيل . انظمة معظم
38
Operating system generation التشغيل نظام تثبيت
OS > hardwareFunctions of Sysgen
تتم ولكي اقراصمدمجة علي التشغيل نظم الشركات تنتج الغالب في
عليه يطلق برنامج استخدام يجب صحيحة بصورة التركيب عملية
SYSGEN بتوجيه يقوم او معين ملف من التركيب بيانات بقراءة يقوم
النظام تخص معلومات حول النظام بتركيب يقوم الذي للشخص اسئلة
مثل:
المعالج – نوع
المتوفر – الذاكرة حجم
المتوافرة – االجهزة
39
processes العمليات
40
processesالعمليات – في البرنامج معين تنفيذي سياق ضمن تنفذ التي التعليمة هي في – العملية البرنامج معين تنفيذي سياق ضمن تنفذ التي التعليمة هي العملية
التنفيذ التنفيذ مرحلة مرحلة
وقت مثل موارد لعده تحتاج العملية وقت لتنفيذ مثل موارد لعده تحتاج العملية اجهزة CPUCPUلتنفيذ والملفات اجهزة والذاكرة والملفات والذاكرة
انشاؤها . وقت للعملية تعطي حيث ، واالخراج انشاؤها .االدخال وقت للعملية تعطي حيث ، واالخراج االدخال
وجدولة الغاء او انشاء من بها مايتعلق وكل العمليات هذه ادارة عن وجدولة المسؤل الغاء او انشاء من بها مايتعلق وكل العمليات هذه ادارة عن المسؤل
التشغيل نظام هو اتصاالت والية التشغيل وتزامن نظام هو اتصاالت والية وتزامن
41
42
العملية process propertiesخصائص
43
التنفيذ- 1 احادية
الموارد- 2 تخصيص احادية
البعض- 3 بعضها عن معزولة العمليات
Processes states العمليات حاالت
تدل الحاالت هذه ، تنفيذها وقت حالة من باكثر تمر ان البد العمليات من عملية تدل كل الحاالت هذه ، تنفيذها وقت حالة من باكثر تمر ان البد العمليات من عملية كل
. اللحظة هذه في نشاطها .علي اللحظة هذه في نشاطها علي
هي :- العملية بها تمر التي هي :-الحاالت العملية بها تمر التي الحاالت
1.1. New New التجديدالتجديد
2.2. ReadyReady االستعداداالستعداد
3.3. RunningRunning التنفيذالتنفيذ
4.4. WaitingWaiting االنتظاراالنتظار
5.5. TerminatedTerminatedاالنتهاءاالنتهاء
44
45
العملية علي السيطرة 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 الذاكرة ادارة معلومات
46
Accounting information للعملية الحسابية المعلومات
I/O state information واالخراج االدخال حالة عن معلومات
Pointer to next process
47
العملية علي السيطرة كتلة
العملية علي السيطرة كتلة موقع
منطقة في توضع فانها وحساسة مهمة معلومات علي تحتوي النها
العادي المستخدم وصول من المحمية الذاكرة
موقع النه للعملية نواة بداية في وضعها يتم التشغيل انظمة بعض في
ومناسب . محمي
48
العمليات جدولة
حيث : ، المعالج علي العمليات دخول لترتيب خطة وضع تعني الجدولة
، المعالج وقت معظم وتستغل مرة كل في واحدة عملية تدخل
المعالج . علي العمليات دخول بترتيب العمليات مجدول ويقوم
49
الجدولة :Types of schedulerانواع
بشكل واحد مكان في المهام لجمع طريقة هنالك يكون ان المنطقي من
( صف او طابور يسمي المكان هذا ومرتب (.queueمنظم
الجدولة : طوابير
المهام 1. في: job queueطابور الموجودة العمليات جميع فيه يوجد
النظام .
الجاهز 2. .ready queueالطابور التنفيذ: تنتظر التي المهام جميع به
الجهاز 3. ومخرجات: device queueطابور مدخالت تنتظر التي المهام جميع
.
.4Long –term scheduler المدي طويلة الجدولة
تتاخر . او تخرج وايها الجاهز الطابور الي تدخل العمليات اي تقرر التي وهي
50
.5Medium –term scheduler المدي متوسطة الجدولة
بعملية يقوم فهو االفتراضية الذاكرة ذات االنظمة كل في موجودة
الي الرئيسية الذاكرة من مؤقت بشكل العمليات يزيل اي التبديل
الثانوية الذاكرة
.6Short-term scheduler المدي قصيرة الجدولة
وهي المقاطعة عملية بعد معالجتها سيتم الجاهزة العمليات اي تقرر
في القرارات تأخذ حيث والمتوسطة الطويلة الجدولة من اسرع
المعالج من الخروج علي عمليات تجبر ان ويمكن قصير وقت
حتي المعالج في عمليات ببقاء تسمح او اخري عمليات وادخال
تنتهي .
51
Types of Processes العمليات انواع
.1CPU bound process المركزية المعالجة وحدة نطاق في
وتكون المركزية المعالجة وحدة علي وقتها معظم العملية هذه تقضي
طويلة ) المركزية المعالجة وحدة علي عملها (.cpu burstفترات
.2I/O bound process واالخراج االدخال نطاق في
واالخراج ) االدخال في وقتها معظم تقضي التي وتكون( I/Oهي
طويلة ) واالخراج االدخال في عملها (I/O burstفترات
52
context switching العمليات تبديل
وحدة ومجدول الخري عملية من المعالج تبديل يعني العمليات تبديل
بين التبديل تنفيذ يتم متي يحدد الذي هو المركزية المعالج
. عمليتين
التبديل عملية حدوث -: الية
موضع -1. في المعالج حالة وحفظ العمليات من عملية اكمال ارجاء
الذاكرة في
المعالج -2 سجالت في التالية للعملية التحكم كتلة قيم ارجاع
التي ) -3 المنطقة البرنامج عداد عليه يؤشر الذي المكان الي الرجوع
العملية ( تنفيذ الكمال القطع فيها حدث
53
المهام علي operations on processالعمليات
العمليات -1 انشاء
طيلة . النظام استدعاءات بواسطة الجديدة العمليات من العديد بانشاء يسمح
لهذه التطبيق فترة
عليها يطلق الجديدة والعملية يطلق Parent Process االب العملية وانشاء العملية
عليه
Child process
العمليات -2 انهاء
العملية النهاء اسباب عده هنالك
1-Normal Exit . انهائها وتم عملها انهت قد وهوالعملية الطبيعي الخروج
2 -Error Exit. فادح خطأ العملية تكتشف خطأ بسبب الخروج
3-Fatal Exit :تنفيذ العملية به قامت خطأ عن نتج انهائها يكون الفادح الخطأ
بالذاكرة . موجود غير لمكان االحالة او صفر علي كالقسمة مسموح غير امر
4 -Kill اخري عملية بواسطة قتلها
العلميات -3 بين االتصال
54
العمليات Processes Types انواع
العلمية تنفيذ خالل التشغيل نظام في للعمليات انواع هنالك
( مستقلة والتاثر(: independentعملية التتأثر التي العملية هي
بذاتها . مستقلة تعمل وانما النظام في اخري عملية تنفيذ في
( متعاونة تاثر( : cooperatingعملية او تتاثر يمكن التي وهي
نوعين تستخدم العملية وهذه النظام في اخري عمليات بتنفيذ
االتصال من
الرسائل )1. (message passingتبادل
المشتركة )2. ( shared memoryالذاكرة
المتعاونة العملية مميزات
الملفات مشاركة او المعلومات تقسيم
العمليات انجاز تسريع
منفصلة عمليات الي المهام نظام تقسيم 55
( الرسائل (message passingتبادل
مع االتصال طريق عن العمليات بين الرسائل تبادل يتم حيث
الرسائل لتخزين مشترك مكان وجود دون بعضها
اليات ثالثة عبر الرسائل تبادل عبر االتصال يتم
المباشر 1. غير او المباشر االتصال
المتزامن 2. غير او المتزامن االتصال
المؤقت )3. (bufferالمخزن
( المشتركة ( shared memoryالذاكرة
ويتم منهم لكل مشتركة ذاكرة مكان العمليات بين يوجد حيث
بداخلها . المشتركة الملفات وضع فيها
56
57
Threads الخيوط
58
الخيط : مهمة • لتنفيذ المعالج يتبعة طريق او مسار عن عبارة هو
) تابع ) يكون واحد تنفيذ مسار كل ، معين كود أو معين. واحدة مهمة أو كود او لبرنامج
إليها • ينقسم التي التعليمات من متسلسلة مجموعة هيمهمة من بأكثر ليقوم متزامن . Taskبرنامج بشكل
ال انواع حسب المعالج في العمليات تنفيذ : threadsكيفيةواحد • تنفيذي مسار في تتم Single threadedعمليات
processمتعدده • تنفيذية مسارات في تتم Multithreadedعمليات
process
59
Single and Multithreaded Processes
60
Benefitsالمميزات •Responsiveness للمستخدم االستجابة مستوي رفع•Resource Sharing الموارد مشاركة•Economy االقتصاد •ScalabilityMulticore Programming•Multicore systems putting pressure on programmers, challenges include:
– Dividing activities– Balance– Data splitting– Data dependency– Testing and debugging
61
Concurrent Execution on a Single-core System
Parallel Execution on a Multicore System
62
User Threads• Thread management done by user-level threads library• Three primary thread libraries:
– POSIX Pthreads يونكسوماك – Win32 threads ويندوز – Java threads
Kernel Threads Supported by the Kernel Examples
Windows XP/2000 Solaris( يونكس من متفرعة تشغيل انظمة عدة علي اعتمادا بني تشغيل نظام
) sun Microsystems Linux Tru64 UNIX Mac OS X
63
Multithreading Models1. Many-to-One2. One-to-One3. Many-to-Many
Many-to-OneMany user-level threads mapped to single kernel threadExamples:
Solaris Green ThreadsGNU Portable Threads
64
One-to-One• Each user-level thread maps to kernel thread
• Examples
– Windows NT/XP/2000
– Linux
– Solaris 9 and later
65
Many-to-Many Model• Allows many user level threads to be mapped to many kernel
threads• Allows the operating system to create a sufficient number of
kernel threads• Solaris prior to version 9• Windows NT/2000 with the ThreadFiber package
66
Thread Libraries
• Thread library provides programmer with API for
creating and managing threads
• Two primary ways of implementing
– Library entirely in user space
– Kernel-level library supported by the OS
Java Thread States
67
68
Threading Issues• Semantics of fork() and exec() system calls• Thread cancellation of target thread
– Asynchronous or deferred(مؤجلة)• Signal handling• Thread pools (تجمعات)• Thread-specific data• Scheduler activations
Semantics of fork() and exec)(
Does fork() duplicate only the calling thread or all threads?
69
Thread Cancellation
• Terminating a thread before it has finished (completed).
• Two general approaches:
– Asynchronous cancellation terminates the target thread
immediately
– Deferred cancellation allows the target thread to
periodically check if it should be cancelled
70
Signal Handling•Signals are used in UNIX systems to notify a process that a particular event has occurred.•A signal handler is used to process signals.
1. Signal is generated by particular event2. Signal is delivered to a process3. Signal is handled
•Options:
– Deliver the signal to the thread to which the signal applies– Deliver the signal to every thread in the process– Deliver the signal to certain threads in the process– Assign a specific thread to receive all signals for the
process
71
Thread Pools• Create a number of threads in a pool where they
await work.• Advantages:
– Usually slightly faster to service a request with an existing thread than create a new thread.
– Allows the number of threads in the application(s) to be bound to the size of the pool.
Thread Specific DataAllows each thread to have its own copy of data
Useful when you do not have control over the thread creation process (i.e., when using a thread pool)
72
Scheduler Activations• Both M:M and Two-level models require communication
to maintain the appropriate number of kernel threads allocated to the application
• Scheduler activations provide upcalls - a communication mechanism from the kernel to the thread library
• This communication allows an application to maintain the correct number kernel threads
Operating System ExamplesWindows XP Threads
Linux Thread
73
Windows XP Threads
Data structures of a Windows XP thread
74
Linux Threads
75
Windows XP Threads• Implements the one-to-one mapping, kernel-level• Each thread contains
– A thread id– Register set– Separate user and kernel stacks– Private data storage area
• The register set, stacks, and private storage area are known as the context of the threads
• The primary data structures of a thread include:– ETHREAD (executive thread block)– KTHREAD (kernel thread block)– TEB (thread environment block)
76
Linux Threads
• Linux refers to them as tasks rather than threads
• Thread creation is done through clone() system call
• clone() allows a child task to share the address
space of the parent task (process)
77
CPU Schedulingالمركزية المعالجة وحدة جدولة
78
Objectives
•To introduce CPU scheduling, which is the basis for Multiprogrammed
operating systems
•To describe various CPU-scheduling algorithms
•To discuss evaluation criteria for selecting a CPU-scheduling algorithm for a
particular systemBasic Concepts•Maximum CPU utilization obtained with multiprogramming
•CPU–I/O Burst Cycle – Process execution consists of a cycle of CPU execution
and I/O wait
•CPU burst distribution
79
Histogram of CPU-burst Times
80
CPU Scheduler•Selects from among the processes in memory that are ready to execute, and allocates the CPU to one of them•CPU scheduling decisions may take place when a process:
1. Switches from running to waiting state2. Switches from running to ready state3. Switches from waiting to ready4. Terminates
•Scheduling under 1 and 4 is no-preemptive•All other scheduling is preemptive
81
Dispatcher
•Dispatcher module gives control of the CPU to the process
selected by the short-term scheduler; this involves:
– switching context
– switching to user mode
– jumping to the proper location in the user
program to restart that program
•Dispatch latency – time it takes for the dispatcher to stop one
process and start another running
82
Scheduling Criteria
•CPU utilization – keep the CPU as busy as possible
•Throughput – Number of processes that complete their
execution per time unit
•Turnaround time – amount of time to execute a process
•Waiting time – amount of time a process has been waiting in the
ready queue•Response time – amount of time it takes from when a request was submitted until the first response is produced, not output (for time-sharing environment)•Burst Time : (هو الزمن الفعلي للمعالج لالنتهاء من مهمة ما )
83
Scheduling Algorithm Optimization Criteria
• Max CPU utilization
• Max throughput
• Min turnaround time
• Min waiting time
• Min response time
84
Scheduling Algorithms
CPU scheduling deals with the problem of deciding which of the
processes in the ready queue is to be allocated the CPU. There are
many different CPU-scheduling algorithms for example:
1. First-Come, First-Served Scheduling.
2. Shortest-Job-First Scheduling.
3. Priority Scheduling.
4. Round-Robin Scheduling.
5. Multilevel Feedback Queue Scheduling.
85
First-Come, First-Served (FCFS) Scheduling
Suppose that the processes arrive in the order: P1 , P2 , P3 The Gantt Chart for the schedule is:
• Waiting time for P1 = 0; P2 = 24; P3 = 27• Average waiting time: (0 + 24 + 27)/3 = 17
P1 P2 P3
24 27 300
Process Arrival Time Burst TimeP1 0 24
P2 2 3
P3 5 3
86
Suppose that the processes arrive in the order: P2 , P3 , P1
• The Gantt chart for the schedule is:
• Waiting time for P1 = 6; P2 = 0; P3 = 3
• Average waiting time: (6 + 0 + 3)/3 = 3
• Much better than previous case
P1P3P2
63 300
87
Shortest-Job-First (SJF) Scheduling
•Associate with each process the length of its next CPU burst.
Use these lengths to schedule the process with the shortest
time
•SJF is optimal – gives minimum average waiting time for a
given set of processes
– The difficulty is knowing the length of the next CPU request
88
Process Arrival Time Burst Time P1 0.0 6 P2 2.0 8 P3 4.0 7 P4 5.0 3
• SJF scheduling chart
• Average waiting time = (3 + 16 + 9 + 0) / 4 = 7
P4 P3P1
3 160 9
P2
24
89
Priority Scheduling•A priority number (integer) is associated with each process•The CPU is allocated to the process with the highest priority (smallest integer highest priority)
– Preemptive– Non-preemptive
•SJF is a priority scheduling where priority is the predicted next CPU burst time•Problem Starvation – low priority processes may never execute•Solution Aging – as time progresses increase the priority of the process
90
Process Priority Burst Time
P1 3 10
P2 1 1
P3 4 2
P4 5 1
P5 2 5
The SJF algorithm is a special case of the general priority scheduling algorithm. A priority is associated with each process, and the CPU is allocated to the process with the highest priority. Equal-priority processes are scheduled in FCFS order.
P2 P5
61 180
P3
16
P1P4
19
Average of witting time (6+0+16+18+1)5/ = 8.2
91
Process Arrival time Priority Burst Time
P1 0 2 4P2 1 3 3P3 2 1 3P4 3 4 5
Draw a Gantt chart to illustrate how to implement the operations if it works according to: 1. Non Primitive .
2. Primitive . P1 P3
52 100
P2
7
P1 P4
15
P1 P3
74 100
P2 P4
15
92
Round Robin (RR)
• Each process gets a small unit of CPU time (time quantum), usually 10-100 milliseconds. After this time has elapsed, the process is preempted and added to the end of the ready queue.
• If there are n processes in the ready queue and the time quantum is q, then each process gets 1/n of the CPU time in chunks of at most q time units at once. No process waits more than (n-1)q time units.
• Performance– q large FIFO– q small q must be large with respect to context switch,
otherwise overhead is too high
93
Example of RR with Time Quantum = 4Process Burst Time
P1 24 P2 3 P3 3
• The Gantt chart is:
• Typically, higher average turnaround than SJF, but better response
P1 P2 P3 P1 P1 P1 P1 P1
0 4 7 10 14 18 22 26 30
94
Process Burst TimeP1 53 P2 17 P3 68 P4 24
The Gantt chart is:
Typically, higher average turnaround than SJF, but better response
Quantum Time = 20
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
0 20 37 57 77 97 117 121 134 154 162
95
Multilevel Queue• Ready queue is partitioned into separate queues:
foreground (interactive)background (batch)
• Each queue has its own scheduling algorithm– foreground – RR– background – FCFS
• Scheduling must be done between the queues– Fixed priority scheduling; (i.e., serve all from foreground
then from background). Possibility of starvation.– Time slice – each queue gets a certain amount of CPU time
which it can schedule amongst its processes; i.e., 80% to foreground in RR
– 20% to background in FCFS
96
Multilevel Queue Scheduling
97
Multilevel Feedback Queue• A process can move between the various queues;
aging can be implemented this way
• Multilevel-feedback-queue scheduler defined by the following parameters:– number of queues– scheduling algorithms for each queue– method used to determine when to upgrade a
process– method used to determine when to demote a process– method used to determine which queue a process
will enter when that process needs service
98
Example of Multilevel Feedback Queue• Three queues:
– Q0 – RR with time quantum 8 milliseconds– Q1 – RR time quantum 16 milliseconds– Q2 – FCFS
• Scheduling– A new job enters queue Q0 which is served FCFS.
When it gains CPU, job receives 8 milliseconds. If it does not finish in 8 milliseconds, job is moved to queue Q1.
– At Q1 job is again served FCFS and receives 16 additional milliseconds. If it still does not complete, it is preempted and moved to queue Q2.
99
Multilevel Feedback Queues
100
Thread Scheduling
• Distinction between user-level and kernel-level threads
• Many-to-one and many-to-many models, thread library
schedules user-level threads to run on LWP
– Known as process-contention scope (PCS) since scheduling
competition is within the process
• Kernel thread scheduled onto available CPU is system-
contention scope (SCS) – competition among all
threads in system