100
Operating System Ahmed Eltayeb Abdallah 1

Operating System

Embed Size (px)

DESCRIPTION

Operating System. Ahmed Eltayeb Abdallah. contents of syllabus محتويات المقرر. 1-introduction المقدمة what is an operating system ماهو نظام التشغيل operating system operation عمليات نظم التشغيل functions of operating system وظائف نظم الشغيل - PowerPoint PPT Presentation

Citation preview

Page 1: Operating System

Operating System

Ahmed Eltayeb Abdallah

1

Page 2: Operating System

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

Page 3: Operating System

3

Page 4: Operating System

4

Page 5: Operating System

5

Page 6: Operating System

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

المصدر

Page 7: Operating System

التشغيل؟ أنظمة what is an operating ماهي

system

التي العقود ملموسخالل بشكل السؤال هذا على اإلجابة تطورت

الحاسوب حياة فترة شكلت

باالجهزة " ". تتحكم التي البرمجيات هي اإلجابة كانت الستينات، ففي

إلى الحاسوب استخدام تطور إذ كافية، غير اإلجابة فهذه اليوم أما

دقيقة إجابة إعطاء الصعب من تجعل .درجة

على ليصبح تطويره مع التعريف بهذا االحتفاظ البداية في ويمكن

التالي :الشكل

بعمل التحكم عن المسؤولة البرمجيات مجموعة هو التشغيل نظام

في المختلفة الموارد

حاجتها بحسب والمستخدمين التطبيقات على وتوزيعها .الحاسوب،

الموارد : إدارة التشغيل أنظمة في المهام أهم احد ابرز التعريف هذا

.وتخصيصها

اجهزة - - التخزين ووسائط الذاكرة المعالجات هي الموارد هذه وأهم

االتصاالت واجهزة والخرج .الدخل

7

Page 8: Operating System

8

Page 9: Operating System

التاريخي التطورالتشغيل النظمة

9

Page 10: Operating System

) الخمسينات ) التشغيل ألنظمة األولى المرحلة

ان الي باالضافة وتشغيلها، صيانتها وكذلك جدVا، مكلفة كانت الحواسيب

وحيد مستخدم تمكن نصية تخاطبية واجهة باستخدام كان معها التعامل

ما لحظة في الحواسيب . استخدامها مع يتعاملون المبرمجون وكان

) المثقبة ) البطاقات جدVا، منخفضة آليات الدور . باستخدام وكان

القيام هو الفترة تلك في تشغيل نظام تسميته يمكن لما األساسي

التالية :بالمهام

واالخراج- 1 االدخال تجهيزات إدارة

2 . ا- Vجد معقدة كانت والتي التجهيزات لتلك البرمجيات كتابة

10

Page 11: Operating System

) الستينات ) التشغيل ألنظمة الثانية المرحلة

الباتش الــ Batch computingانظمة Multiprogrammingو

البطاقات من واحدة مجموعة الوظائففي جميع تجمع الباتشان بطريقة يقصد

تحكم , بطاقة واخري وظيفة كل بين ويفصل الجهاز عليها يتعرف التي

) كما ) الحين ذلك في االجهزة اداء في كبيرا تطورا قدم الباتش المعالجة نظام

الجهاز . مكونات الدارة التشغيل نظام استخدام ضرورة وضح

Multiprogramming ) ( : واالنتظار المعالج بين العمليات الوظائف تعاقب عملية هي

االدخال ومصادر للمعالج استخدام اكبر توفر والتي اخراج او ادخال المر

واالخراج .

Time sharing : الزمنية المشاركة

11

Page 12: Operating System

) الثمانينات ) التشغيل ألنظمة الثالثة المرحلة

الجدولة

الملفات ادارة انظمة

التخاطبية الواجهات

االن ) ( وحتي التسعينات التشغيل ألنظمة الرابعة المرحلة

االنترنت – شبكة & Networks الشبكات

internet

UNIX

QDOS :Quick and Dirty Operating System

MS DOS: Microsoft Desk Operating System 1991

12

Page 13: Operating System

المخدمات تشغيل انظمة

" حجمها، " عن النظر بغض للمخدمات وظيفيVا ا Vتعريف تتضمن مخدم كلمة

كبيرة حواسيب عن عبارة المخدمات تكون ان علي العادة درجت .وإن

يرسلون : الذين للزبائن خدمات بتقديم يقوم هوحاسوب المخدم

ومخدم اإللكتروني البريد كمخدم شبكي، اتصال عبر طلباتهم

الملفات

.Linux و ،Window 2003 Server المخدمات تشغيل أنظمة على ومثال

المعالجات متعددة التشغيل أنظمة

عدة وصل الحواسيبهي سرعة لزيادة شيوعVا الطرق أكثر إحد

في ذلك يستخدم ما وغالبVا واحد، نظام ضمن معالجة وحدات

هذه . مع تتعامل التي التشغيل أنظمة تكون وبالتالي المخدمات

المخدم تشغيل نظام من متخصصة نسخة هي المتعددة المعالجات

13

Page 14: Operating System

الشخصية الحواسيب تشغيل أنظمة

وهي مالئمة، تخاطبية بواجهة المستخدم تزويد على األنظمة هذه تركز

اإلنترنت . إلى والدخول المكتبية التطبيقات في واسع نطاق على مستخدمة

) ( ، المخدم نسخ باستثناء المختلفة بنسخه ويندوز نظام االمثلة أشهر ومن

ماكينتوشولينكس . ونظام

.

الحقيقي بالزمن التشغيل أنظمة

سبيل . فعلى عملها في أساسي كعامل الزمن على تعتمد األنظمة هذه

الصناعية باإلجرائيات التحكم في األنظمة هذه تستخدم أن يمكن المثال،

في باالالت للتحكم واستخدامه اإلنتاج عملية عن معلومات جمع يتم حيث

بها االلتزام يجب حدية ازمنة هنالك ماتكون وغالبا المعمل

deadlines

14

Page 15: Operating System

المحمولة التشغيل أنظمة

واألنظمة جدVا الصغيرة الحواسيب بعمل التحكم عن المسؤولة وهي

تعتبر ال التي المحمولة

وغالبVا . المحمولة والهواتف التلفزيون كأجهزة اسيب، حو بالضرورة

بالزمن التشغيل أنظمة نفسمتطلبات األنظمة لهذه تكون ما

واستهالك والذاكرة الحجم ضوابط ا Vأيض لديها ولكن الحقيقي،

التشغيل . أنظمة أهم ومن خاصة أنظمة منها تجعل التي القدرة

Windows CE.هذه

15

Page 16: Operating System

التشغيل نظم operation system structureهيكلية

الي : تهدف التشغيل نظم هيكلية

للمستخدمين- 1 التشغيل أنظمة تقدمها التي بالخدمات التعريف

ومستخدميها، للبرمجيات الخدمات من العديد التشغيل نظام يقدم حيث

على بهدفمساعدتهم وذلك

الي . الخدمات وتنقسم أمثل بشكل الحاسوبية الموارد استخدام

للمستخدمين تسمح التي الخدمات تشمل األولى المجموعة مجموعتين

فاعلية زيادة إلى تهدف والثانية الحاسوبية المنظومة مع بالتعامل

الحاسوب موارد استخدام

الخدمات -2 هذه لطلب أساسية كأداة النظام باستدعاءات التعريف

للمستخدم- 3 أساسية أدوات كمجموعة النظام ببرمجيات التعريف

التشغيل- 4 نظام لتصميم المختلفة الطرق مناقشة

16

Page 17: Operating System

: بشكل المستخدم تساعد التي التشغيل نظام خدمات االولى المجموعةمباشر

التخاطبية- 1 User Interface الواجهة

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

. البيانية التخاطبية الواجهات انتشرت وقد المختلفة GUI: Graphical User)خدماته

Interface) من اليتجزأ جزءVا باتت حتى تدريجيVا وتطورت التسعينات سنوات منذ

الشخصية والحواسيب العمل محطات حالة في السيما التشغيل، .نظام

القصوى الحالة من التشغيل نظام في البيانية التخاطبية الواجهة أهمية وتتدرج

يستحيل حيث

من أول كان ماكينتوشالذي نظام في الحال هو كما بدونها عملية بأية القيام

يعتمد الذي المختلفة بأشكاله ويندوز بنظام ا Vمرور الواجهات، من النوع هذا أطلق

على تعتمد التي التقليدية الواجهة ا Vأيض يدعم ولكنه الواجهات هذه على ا Vأساس

المكتوبة النصية األوامر

ونظام الواجهة هذه بين كليVا تفصل أنظمة إلى ووصوً ال

(CLI : Command Line Interface)

خدماته كافة ويستخدم النظام مع يتعامل بأن للمستخدم وتسمح التشغيل،

نظام مثل البيانية، بالواجهة المرور دون استثناء بدون المختلفة Unixبأشكاله

17

Page 18: Operating System

Program Execution 2- البرامج تنفيذ

التي والتطبيقات البرامج تنفيذ هي الحاسوب استخدام من الغايةاألساسية

الصور . ومعالجة الرسم النصوصوبرامج كمعالجات ، المستخدم يحتاجها

التشغيل نظام يسمح أن ويجب

وتحديد )Parameters( التي استخدامه، يرغبفي الذي البرنامج بتحديد للمستخدم

الوسائط

ذلك كان سواء تنفيذه، وإيقاف البرنامج تنفيذ وطلب له، تمريرها يرغبفي

المستخدم طلب عن ناتج قسري انتهاء نتيجة أو للبرنامج طبيعي نتهاء ا نتيجة

البرنامج . تنفيذ نتيجة هي ما المستخدم يعرف أن ويجب التنفيذ في خطأ أو

وجوده حال في الخطأ وماهو

18

Page 19: Operating System

I/O Operations 3- والخرج الدخل عملياتالخارجي العالم مع باالتصال للبرنامج تسمح أنها إذ جدVا، هامة العمليات هذه

ومنها . المطلوبة النتائج وإظهار لتنفيذها الالزمة المعلومات على والحصول

البيانات قراءة أو التسلسلية البوابة عبر المالمسأو لوحة من الحروف قراءة

معلومات إرسال أو الشبكة، بطاقة طريق عن الواردة

للطباعة

File-system Manipulation 4- الملفات نظام مع التعاملالمسؤول ألنه وذلك التشغيل، نظام مكونات أهم أحد الملفات نظام يعتبر

البرنامج عمر عمرها يتجاوز والتي الدائمة البيانات مع التعامل عن األساسي

المستخدم ويحتاج بتعديلها قام او انشأها الذي

هذه وحفظ وتعديلها محتواها وقراءة وحذفها، الملفات إنشاء من التمكن إلى

وفرضهذه. االستخدام صالحيات لتحديد حاجة هناك تكون وقد التعديالت

متعددة األنظمة في والسيما المختلفة التطبيقات على الصالحيات

19.المستخدمين

Page 20: Operating System

Communications 5- االتصال

تعمل كانت إن سواء بينها، فيما االتصال تأمين إلى التطبيقات تحتاج

طريق عن متصلة مختلفة حواسيب على أو نفسه الحاسوب على

. أن ويمكن الويب وتصفح اإلنترنت تطبيقات في الحال هو كما شبكة،

الرسائل تبادل طريق عن أو مشتركة، ذاكرة عبر االتصال .يكون

Error detection 6- األخطاء اكتشافاألخطاء اكتشاف على باستمرار ا Vقادر التشغيل نظام يكون أن يجب

قد . الحاسوبية المنظومة من المختلفة األجزاء في تحصل قد التي

او المعالج حرارة درجة ارتفاع عن الناتجة كتلك عتادية، األخطاء تكون

الصلب للقرص الداخلية االجزاء تأكل

للغبار اإللكترونية الدارات تعرض . أو

20

Page 21: Operating System

عن الناتجة كتلك برمجية، األخطاء تكون أن الذاكرة ويمكن عنونة في او خطأ

موجود غير ملف فتح . محاولة

وتشخيصها األخطاء الكتشاف الالزمة الخطوات التشغيل نظام يتخذ أن يجب

هذه ) ( معالجة عن للنظام مدير هناك يكون عادة الشخصالمسؤول وإعالم

وإصالحها .األخطاء

السماح بهدف في Debugging وذلك التنفيذ خدمة عادة التشغيل أنظمة تقدم

االختبار حالة

هذه من ممكن قدر أكبر باكتشاف التطبيقات ومطوري للمبرمجين

إرسالها قبل التطبيقات

للزبائن

21

Page 22: Operating System

: الثانية المجموعة

موارد استخدام فاعلية زيادة إلى تهدف الخدمات من الثانية المجموعة

الموارد تقاسم عبر النظام تشغيل كفاءة لضمان الحاسوب

الموارد- 1 تخصيص

زمن ) الحاسوب ضمن والمتنوعة المتاحة الموارد إدارة بذلك ويقصد

التنفيذ وذاكرة المعالج

. ) ينتج مما بمحدوديتها الموارد هذه وتتميز والخرج الدخل وبوابات

الوقت نفس في تنفذ التي التطبيقات تخصيصكافة استحالة عنه

على . يقع إذ خاصة، بأهمية الخدمة هذه تتسم ولذلك تطلب ما بكل

األزمات وتالفي المختلفة للموارد التخصيص عملية إدارة عاتقها

اإلدارة سوء عن تنتج أن يمكن التي

22

Page 23: Operating System

المحاسبة- 2

المختلفة للموارد المستخدمين استهالك حجم لمعرفة الالزمة المعلومات توليد بذلك ويقصد

الحاسوبية المنظومة ضمن

واألمن -3 الحماية

آن في وموارده الحاسوب يستخدمون مستخدمين عدة وجود بسبب ضرورية خدمات وهي

.واحد

غير أو المقصودة التعديات من المستخدمين وبيانات تنفذ التي البرامج حماية هو والهدف

الخدمات. من فئتين إلى بدورها وتنقسم :المقصودة

ا: الحماية Vدوم يمر والبرمجية العتادية النظام مكونات مع التعامل أن من التأكد بها ويقصد

تحكم اليات عبر

بالتعامل . للتطبيقات السماح حال في المثال، سبيل فعلى مرغوبة غير نتائج حصول تمنع

من الصلب بالقرص التحكم لدارات أوامر إصدار للبرامج يمكن التجهيزات، مع المباشر

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

يمكن . بل المتعمد، التخريب على الحماية أهمية والتقتصر الحمايات هذه يقدم التشغيل

متعمد غير تخريب هناك يكون يحاول .ان أن للمبرمج يمكن أخطاء . إذ عن ينتج كالذي

لغة مبرمجي بين جدVا الشائعة C العنونة

23

Page 24: Operating System

الذين األمن: المستخدمين هوية من التحقق بذلك والمقصود

موارد استخدام في يرغبون

المخولين بالمستخدمين الموارد هذه مع التعامل وحصر النظام

ا Vأيض ذلك يتضمن وقد بذلك،

محاوالت اكتشاف بهدف النظام إلى الدخول بسجالت االحتفاظ

ومصدرها الفاشلة االختراق

24

Page 25: Operating System

System callsالنظام نداءات

25

Page 26: Operating System

النظام System Callsنداءات ( تستخدمها ميكانيكية هي التشغيل نظام خدمات لطلب االساسية االلية تستخدمها ) وهي ميكانيكية هي التشغيل نظام خدمات لطلب االساسية االلية وهي

التشغيل ( نظام بها يقوم خدمة علي للحصول التطبيقية التشغيل (البرامج نظام بها يقوم خدمة علي للحصول التطبيقية البرامج

( يتم ، الذاكرة في التشغيل برامج معالجة وقت في تحدث الحدوث يتم ) كيفية ، الذاكرة في التشغيل برامج معالجة وقت في تحدث الحدوث كيفية

يتم اضافية لمعلومات الحوجة حالة وفي ومناداتها المطلوبة الدالة اسم يتم تحديد اضافية لمعلومات الحوجة حالة وفي ومناداتها المطلوبة الدالة اسم تحديد

معامالت ( طريق عن المعلومات معامالت (ارسال طريق عن المعلومات ارسال

: هي المعامالت الرسال تستخدم طرق عدة هي :وهنالك المعامالت الرسال تستخدم طرق عدة وهنالك

Registers ---LinuxRegisters ---Linux احد في وضعها طريق عن النظام الي المعامالت احد ارسال في وضعها طريق عن النظام الي المعامالت ارسال

المسجالتالمسجالت

المعامالت) من قليل عدد هنالك يكون عندما فقط تفضل لكنها طريقة المعامالت) اسرع من قليل عدد هنالك يكون عندما فقط تفضل لكنها طريقة اسرع

المعالج ( داخل السجالت من محدود عدد هنالك النه المعالج (وذلك داخل السجالت من محدود عدد هنالك النه وذلك

26

Page 27: Operating System

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

Page 28: Operating System

28

Page 29: Operating System

Application program interface )API(

API

System calls

OS Services

29

االوامر البرمجية

من مجموعة تشغيل نظام لكلتقوم التي البرمجية االوامرفي النظام نداءات بمناداة

لنظام تنتقل ثم النظام قلبالتشغيل

النظام نداءات مع البرمجية االوامر لعالقة العام المفهوم

Page 30: Operating System

شيوعا البرمجية االوامر انواع اكثر من

.1 win32 API التشغيل نظام في تستخدم windowsالتي

.2POSIX API :انظمة في تستخدم Mac OS Xو Unixو Linuxالتي

.3JAVA API : جافا للغة الوهمية االلة في المستخدمة

لالسباب وذلك النظام نداءات من بدال البرمجية االوامر استخدام يفضل

التالية

.1Portability . :البرمجية االوامر في التنقل قابلية

.2System call very difficult : ويصعب وتعقيدا تفصيال اكثر النظام استدعاء اوامر

تعقيدا . واقل اسهل البرمجية االوامر بينما لنظام نظام من وتختلف معها التعامل

30

Page 31: Operating System

: System programs النظام برامج

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

التشغيل بنظام المباشر باالتصال وليس النظام برامج عبر التشغيل نظام مع يتعاملون المستخدمين واكثر

TYPES النظام برامج انواع

انواع عدة الي النظام برامج تنقسم

•Files management الملفات واالدلة ادارة الملفات عمليات جميع عن المسؤلة وهي

•System information – – : :المستخدمين عدد الذاكرة حجم الوقت عن النظام تسأل برامج النظام حالة معلومات

•Modify files :محتويات علي تغيرات لعمل النصوص محررات من مجموعة وهي الملفات تعديل

الملفات

•Support programming files : البرمجة لغات برامج في التجميع عن المسؤلة وهي البرمجة ملفات دعم

•Load and executed programs :تحميلها بعد البرامج تنفيذ عن المسؤلة وهي البرامج وتحميل تنفيذ

•Connections : اجهزة بين او المسخدمين او العمليات بين االتصال عن المسؤلة وهي االتصاالت

واخري

31

Page 32: Operating System

Operating system structure التشغيل نظم تركيب

وهي :- التشغيل نظم وبناء لتركيب طرق عدة هنالك

1-monolithic : البسيط التركيب

32

User programs

hardware

Every thingOS

مستويين او واحد مستوي في التشغيل نظام يكون بحيث

نفس : في تقع جميع النها منخفضة للنظام الداخلية تكلفة الميزة

المستوي

فيه : – – – موثوق غير الصيانة صعوبة التعديل صعوبة الفهم صعوبة العيوب

Page 33: Operating System

2- Layered الطبقات تركيب

33

Layer 0 hardware

Layer 1

Layer N

User interface

مقسم النظاميكون بحيث لطبقاتالنظام من جزء كلمستقلة طبقة في

مخصصة 0والطبقة والطبقة للعتاد

N لواجهة مخصصةالمستخدم .

االساسية : الميزةالي الطبقات وجود

الصيانة عملية تسهيلالمشكلة العيوب :

ترتيب عملية في تكمنفالتوجد الطبقات

للترتيب واضحة طريقة

Page 34: Operating System

3- Microkernel : الصغيرة النواة تركيب

contented basic functions and others functions in user area

بداخلها واليوضع جدا صغيرة التركيب هذا في النظام نواة تكون

مساحة في توضع االخري الوظائف اما االساسية الوظائف سوي

طريق عن والنواة المستخدم مساحة بين االتصال ويكون المستخدم

العابرة message passingالرسائل

. – ) وامنا : ) ثقة اكثر النظام النظام تمديد توسيع السهل المميزات

مكلفة : . عملية النظام ونواة المستخدم مساحة بين االتصال العيوب

34

Page 35: Operating System

a

35

Modules – based-4 تركيبالوحدات

KERNEL

Files system

Scheduling classes

Device and bus drivers

Loadable system calls

Executable formats

Miscellaneous modules

Streams modules

Page 36: Operating System

النواة تكون حيث ، الطريقة بهذه مبنية الحديثة التشغيل انظمة معظم

مشابهة وهي ، منها تتفرع الوظائف وبقية المركز في االساسية

كفاءة . واكثر مرونة اكثر ولكنها للطبقات

36

Page 37: Operating System

Virtual machines التخيلية او االفتراضية االالت

تشغيل نظام من اكثر بتشغيل يسمح برامج عن عبارة هي االفتراضية االلة

تشغيل نظام من اكثر تثبيت يمكن بحيث واحد جهاز علي افتراضي تخيلي

االداء في كبيرة خسارة دون االنظمة هذه بين والتنقل الجهاز نفس علي

•Attributes :خصائصها

والتنقل 1. واحد جهاز علي متعددة تشغيل انظمة استخدام من تمكن

. تشغيله العادة الحاجة دون بينها

للقرص 2. جديد تقسيم دون متعددة تشغيل انظمة تركيب من تمكن

الصلب.

.3 . واحد شخصي جهاز علي متعددة تشغيل انظمة بين االتصال توفر

37

Page 38: Operating System

Advantages : فوائدها

تكاليف .1. باقل متعددة تشغيل انظمة تجربة امكانية

الموارد 2. الن وذلك بحرية التخيلي النظام علي تعديالت اجراء امكانية

االساسي . النظام موارد عن تمام معزولة يستخدمها التي

انظمة 3. لمطوري يتيح مما جيدة برمجية بيئة توفير علي يساعد

من بدال الوهمية االلة علي البحوث و التجارب اجراء التشغيل

النظام . اداء علي اليؤثر وبالتالي االساسي النظام علي بها القيام

االفتراضية : االلة علي مثال

او جميع علي العمل من الجافا ملفات تمكن التي الوهمية جافا الة

التشغيل . انظمة معظم

38

Page 39: Operating System

Operating system generation التشغيل نظام تثبيت

OS > hardwareFunctions of Sysgen

تتم ولكي اقراصمدمجة علي التشغيل نظم الشركات تنتج الغالب في

عليه يطلق برنامج استخدام يجب صحيحة بصورة التركيب عملية

SYSGEN بتوجيه يقوم او معين ملف من التركيب بيانات بقراءة يقوم

النظام تخص معلومات حول النظام بتركيب يقوم الذي للشخص اسئلة

مثل:

المعالج – نوع

المتوفر – الذاكرة حجم

المتوافرة – االجهزة

39

Page 40: Operating System

processes العمليات

40

Page 41: Operating System

processesالعمليات – في البرنامج معين تنفيذي سياق ضمن تنفذ التي التعليمة هي في – العملية البرنامج معين تنفيذي سياق ضمن تنفذ التي التعليمة هي العملية

التنفيذ التنفيذ مرحلة مرحلة

وقت مثل موارد لعده تحتاج العملية وقت لتنفيذ مثل موارد لعده تحتاج العملية اجهزة CPUCPUلتنفيذ والملفات اجهزة والذاكرة والملفات والذاكرة

انشاؤها . وقت للعملية تعطي حيث ، واالخراج انشاؤها .االدخال وقت للعملية تعطي حيث ، واالخراج االدخال

وجدولة الغاء او انشاء من بها مايتعلق وكل العمليات هذه ادارة عن وجدولة المسؤل الغاء او انشاء من بها مايتعلق وكل العمليات هذه ادارة عن المسؤل

التشغيل نظام هو اتصاالت والية التشغيل وتزامن نظام هو اتصاالت والية وتزامن

41

Page 42: Operating System

42

Page 43: Operating System

العملية process propertiesخصائص

43

التنفيذ- 1 احادية

الموارد- 2 تخصيص احادية

البعض- 3 بعضها عن معزولة العمليات

Page 44: Operating System

Processes states العمليات حاالت

تدل الحاالت هذه ، تنفيذها وقت حالة من باكثر تمر ان البد العمليات من عملية تدل كل الحاالت هذه ، تنفيذها وقت حالة من باكثر تمر ان البد العمليات من عملية كل

. اللحظة هذه في نشاطها .علي اللحظة هذه في نشاطها علي

هي :- العملية بها تمر التي هي :-الحاالت العملية بها تمر التي الحاالت

1.1. New New التجديدالتجديد

2.2. ReadyReady االستعداداالستعداد

3.3. RunningRunning التنفيذالتنفيذ

4.4. WaitingWaiting االنتظاراالنتظار

5.5. TerminatedTerminatedاالنتهاءاالنتهاء

44

Page 45: Operating System

45

Page 46: Operating System

العملية علي السيطرة 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

Page 47: Operating System

Accounting information للعملية الحسابية المعلومات

I/O state information واالخراج االدخال حالة عن معلومات

Pointer to next process

47

العملية علي السيطرة كتلة

Page 48: Operating System

العملية علي السيطرة كتلة موقع

منطقة في توضع فانها وحساسة مهمة معلومات علي تحتوي النها

العادي المستخدم وصول من المحمية الذاكرة

موقع النه للعملية نواة بداية في وضعها يتم التشغيل انظمة بعض في

ومناسب . محمي

48

Page 49: Operating System

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

حيث : ، المعالج علي العمليات دخول لترتيب خطة وضع تعني الجدولة

، المعالج وقت معظم وتستغل مرة كل في واحدة عملية تدخل

المعالج . علي العمليات دخول بترتيب العمليات مجدول ويقوم

49

Page 50: Operating System

الجدولة :Types of schedulerانواع

بشكل واحد مكان في المهام لجمع طريقة هنالك يكون ان المنطقي من

( صف او طابور يسمي المكان هذا ومرتب (.queueمنظم

الجدولة : طوابير

المهام 1. في: job queueطابور الموجودة العمليات جميع فيه يوجد

النظام .

الجاهز 2. .ready queueالطابور التنفيذ: تنتظر التي المهام جميع به

الجهاز 3. ومخرجات: device queueطابور مدخالت تنتظر التي المهام جميع

.

.4Long –term scheduler المدي طويلة الجدولة

تتاخر . او تخرج وايها الجاهز الطابور الي تدخل العمليات اي تقرر التي وهي

50

Page 51: Operating System

.5Medium –term scheduler المدي متوسطة الجدولة

بعملية يقوم فهو االفتراضية الذاكرة ذات االنظمة كل في موجودة

الي الرئيسية الذاكرة من مؤقت بشكل العمليات يزيل اي التبديل

الثانوية الذاكرة

.6Short-term scheduler المدي قصيرة الجدولة

وهي المقاطعة عملية بعد معالجتها سيتم الجاهزة العمليات اي تقرر

في القرارات تأخذ حيث والمتوسطة الطويلة الجدولة من اسرع

المعالج من الخروج علي عمليات تجبر ان ويمكن قصير وقت

حتي المعالج في عمليات ببقاء تسمح او اخري عمليات وادخال

تنتهي .

51

Page 52: Operating System

Types of Processes العمليات انواع

.1CPU bound process المركزية المعالجة وحدة نطاق في

وتكون المركزية المعالجة وحدة علي وقتها معظم العملية هذه تقضي

طويلة ) المركزية المعالجة وحدة علي عملها (.cpu burstفترات

.2I/O bound process واالخراج االدخال نطاق في

واالخراج ) االدخال في وقتها معظم تقضي التي وتكون( I/Oهي

طويلة ) واالخراج االدخال في عملها (I/O burstفترات

52

Page 53: Operating System

context switching العمليات تبديل

وحدة ومجدول الخري عملية من المعالج تبديل يعني العمليات تبديل

بين التبديل تنفيذ يتم متي يحدد الذي هو المركزية المعالج

. عمليتين

التبديل عملية حدوث -: الية

موضع -1. في المعالج حالة وحفظ العمليات من عملية اكمال ارجاء

الذاكرة في

المعالج -2 سجالت في التالية للعملية التحكم كتلة قيم ارجاع

التي ) -3 المنطقة البرنامج عداد عليه يؤشر الذي المكان الي الرجوع

العملية ( تنفيذ الكمال القطع فيها حدث

53

Page 54: Operating System

المهام علي operations on processالعمليات

العمليات -1 انشاء

طيلة . النظام استدعاءات بواسطة الجديدة العمليات من العديد بانشاء يسمح

لهذه التطبيق فترة

عليها يطلق الجديدة والعملية يطلق Parent Process االب العملية وانشاء العملية

عليه

Child process

العمليات -2 انهاء

العملية النهاء اسباب عده هنالك

1-Normal Exit . انهائها وتم عملها انهت قد وهوالعملية الطبيعي الخروج

2 -Error Exit. فادح خطأ العملية تكتشف خطأ بسبب الخروج

3-Fatal Exit :تنفيذ العملية به قامت خطأ عن نتج انهائها يكون الفادح الخطأ

بالذاكرة . موجود غير لمكان االحالة او صفر علي كالقسمة مسموح غير امر

4 -Kill اخري عملية بواسطة قتلها

العلميات -3 بين االتصال

54

Page 55: Operating System

العمليات Processes Types انواع

العلمية تنفيذ خالل التشغيل نظام في للعمليات انواع هنالك

( مستقلة والتاثر(: independentعملية التتأثر التي العملية هي

بذاتها . مستقلة تعمل وانما النظام في اخري عملية تنفيذ في

( متعاونة تاثر( : cooperatingعملية او تتاثر يمكن التي وهي

نوعين تستخدم العملية وهذه النظام في اخري عمليات بتنفيذ

االتصال من

الرسائل )1. (message passingتبادل

المشتركة )2. ( shared memoryالذاكرة

المتعاونة العملية مميزات

الملفات مشاركة او المعلومات تقسيم

العمليات انجاز تسريع

منفصلة عمليات الي المهام نظام تقسيم 55

Page 56: Operating System

( الرسائل (message passingتبادل

مع االتصال طريق عن العمليات بين الرسائل تبادل يتم حيث

الرسائل لتخزين مشترك مكان وجود دون بعضها

اليات ثالثة عبر الرسائل تبادل عبر االتصال يتم

المباشر 1. غير او المباشر االتصال

المتزامن 2. غير او المتزامن االتصال

المؤقت )3. (bufferالمخزن

( المشتركة ( shared memoryالذاكرة

ويتم منهم لكل مشتركة ذاكرة مكان العمليات بين يوجد حيث

بداخلها . المشتركة الملفات وضع فيها

56

Page 57: Operating System

57

Threads الخيوط

Page 58: Operating System

58

الخيط : مهمة • لتنفيذ المعالج يتبعة طريق او مسار عن عبارة هو

) تابع   ) يكون واحد تنفيذ مسار كل ، معين كود أو معين. واحدة مهمة أو كود او لبرنامج

إليها • ينقسم التي التعليمات من متسلسلة مجموعة هيمهمة من بأكثر ليقوم متزامن . Taskبرنامج بشكل

ال انواع حسب المعالج في العمليات تنفيذ : threadsكيفيةواحد • تنفيذي مسار في تتم Single threadedعمليات

processمتعدده • تنفيذية مسارات في تتم Multithreadedعمليات

process

Page 59: Operating System

59

Single and Multithreaded Processes

Page 60: Operating System

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

Page 61: Operating System

61

Concurrent Execution on a Single-core System

Parallel Execution on a Multicore System

Page 62: Operating 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

Page 63: Operating System

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

Page 64: Operating System

64

One-to-One• Each user-level thread maps to kernel thread

• Examples

– Windows NT/XP/2000

– Linux

– Solaris 9 and later

Page 65: Operating System

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

Page 66: Operating System

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

Page 67: Operating System

Java Thread States

67

Page 68: Operating System

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?

Page 69: Operating System

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

Page 70: Operating System

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

Page 71: Operating System

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)

Page 72: Operating System

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

Page 73: Operating System

73

Windows XP Threads

Data structures of a Windows XP thread

Page 74: Operating System

74

Linux Threads

Page 75: Operating System

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)

Page 76: Operating System

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)

Page 77: Operating System

77

CPU Schedulingالمركزية المعالجة وحدة جدولة

Page 78: Operating System

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

Page 79: Operating System

79

Histogram of CPU-burst Times

Page 80: Operating System

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

Page 81: Operating System

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

Page 82: Operating System

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 : (هو الزمن الفعلي للمعالج لالنتهاء من مهمة ما )

Page 83: Operating System

83

Scheduling Algorithm Optimization Criteria

• Max CPU utilization

• Max throughput

• Min turnaround time

• Min waiting time

• Min response time

Page 84: Operating System

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.

Page 85: Operating System

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

Page 86: Operating System

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

Page 87: Operating System

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

Page 88: Operating System

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

Page 89: Operating System

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

Page 90: Operating System

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

Page 91: Operating System

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

Page 92: Operating System

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

Page 93: Operating System

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

Page 94: Operating System

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

Page 95: Operating System

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

Page 96: Operating System

96

Multilevel Queue Scheduling

Page 97: Operating System

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

Page 98: Operating System

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.

Page 99: Operating System

99

Multilevel Feedback Queues

Page 100: Operating System

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