(ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · operating...

15
Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 ﻣﺪﻝ ﻋﻤﻠﮑﺮﺩ ﻓﺮﺁﻳﻨﺪ) ﻣﺪﻝ ﭘﻨﺞ ﺣﺎﻟﺘﻪ( q ﺩﺭ ﺍﻳﻦ ﻣﺪﻝ ﺣﺎﻟﺘﻲ ﺑﻪ ﻣﺪﻝ ﻗﺒﻠﻲ ﺍﺿﺎﻓﻪ ﺷﺪﻩ ﺍﺳﺖ ﮐﻪ ﻭﺿﻌﻴﺖ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯI/O ﺭﺍ ﻧﺸﺎﻥ ﻣﻴﺪﻫﺪ. q ﺣﺎﻻﺕ ﺳﻴﺴﺘﻢ: q ﺷﺮﻭﻉq ﺁﻣﺎﺩﻩq ﺍﺟﺮﺍq ﻣﺴﺪﻭﺩq ﺧﺘﻢOperating System Design, Ali Jahanian, Summer 2008 Page 2 of 30 ﻣﺪﻝ ﻋﻤﻠﮑﺮﺩ ﻓﺮﺁﻳﻨﺪ) ﻣﺪﻝ ﭘﻨﺞ ﺣﺎﻟﺘﻪ( q ﺑﺤﺚ: ﭼﮕﻮﻧﮕﻲ ﺍﻧﺘﻘﺎﻝ ﻓﺮﺁﻳﻨﺪﻫﺎﻱ ﻣﺴﺪﻭﺩ ﺑﻪ ﺻﻒ ﺁﻣﺎﺩﻩ. ﻓﺮﺁﻳﻨﺪﻫﺎﻱ ﺻﻒ ﻋﺪﻡ ﺍﺟﺮﺍ، ﺁﻣﺎﺩﻩ ﺩﺭﻳﺎﻓﺖ ﭘﺮﺩﺍﺯﻧﺪﻩ ﻫﺴﺘﻨﺪ. ﺗﻮﺿﻴﺢTimeout ﺁﻳﺎ ﻓﺮﺁﻳﻨﺪﻫﺎ ﻣﻴﺘﻮﺍﻧﻨﺪ ﺍﺯ ﺣﺎﻟﺖ ﻣﺴﺪﻭﺩ ﻣﺴﺘﻘﻴﻤﺎ ﺑﻪ ﺧﺘﻢ ﺭﻭﻧﺪ؟

Upload: others

Post on 20-Feb-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30

)مدل پنج حالته(مدل عملکرد فرآيند q در اين مدل حالتي به مدل قبلي اضافه شده است که وضعيت استفاده ازI/O

. را نشان ميدهد q حاالت سيستم :q شروعq آمادهqاجراq مسدودq ختم

Operating System Design, Ali Jahanian, Summer 2008 Page 2 of 30

)مدل پنج حالته(مدل عملکرد فرآيند qبحث:

. چگونگي انتقال فرآيندهاي مسدود به صف آماده –. فرآيندهاي صف عدم اجرا، آماده دريافت پردازنده هستند –Timeoutتوضيح –آيا فرآيندها ميتوانند از حالت مسدود مستقيما به ختم روند؟ –

Page 2: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 3 of 30

)مدل پنج حالته(مدل عملکرد فرآيند

Operating System Design, Ali Jahanian, Summer 2008 Page 4 of 30

)مدل پنج حالته(مدل عملکرد فرآيند q نياز داريم ) ليست (در اين حالت به دو صف .

Page 3: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 5 of 30

Operating System Design, Ali Jahanian, Summer 2008 Page 6 of 30

مدل عملکرد فرآيند با حالت معلقq فرآيندهايي که براي مدت زمان طوالني باI/O کار دارند ميتوانند از حافظه اصلي به

. ديسک منتقل شوند تا فضاي حافظه آزادتر باشد q شوند، به ديسک ميتوان حالتي را در نظر گرفت که اگر فرآيندهاي آماده هم خيلي منتظر

.منتقل گردند q اين مدل يک مشکل با ايده حافظه مجازي دارد که به موقع بحث خواهد شد.

Page 4: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 7 of 30

مدل عملکردي فرآيند با يک حالت معلق

Operating System Design, Ali Jahanian, Summer 2008 Page 8 of 30

مدل عملکردي فرآيند با دو حالت معلق

Page 5: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 9 of 30

داليل نياز به تعليق

Operating System Design, Ali Jahanian, Summer 2008 Page 10 of 30

ساختارهاي مورد نياز سيستم عامل جهت کنترل منابع سيستم

q دسيستم عامل بايد از آخرين وضعيت فرآيندها، منابع و حافظه باخبر باش .q اد سيستم عامل جداولي براي آگاهي از وضعيت اجزاي فوق و کنترل آنها ايج

. ميکند

Page 6: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 11 of 30

جداول حافظهqاين جداول حاوي اطالعات زير است:

وضعيت تخصيص حافظه اصلي به فرآيندها –وضعيت تخصيص حافظه ثانويه به فرآيندها –محدوديتهاي ايمني براي دسترسي به حافظه مشترک –اطالعات مربوط به مديريت حافظه مجازي –

Operating System Design, Ali Jahanian, Summer 2008 Page 12 of 30

I/Oجداول qاين جداول حاوي اطالعات زير است:

اختصاص يافته و آزاد I/Oمنابع –I/Oوضعيت تبادل با –فضاي اختصاص يافته در حافظه به هر ابزار جانبي –

Page 7: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 13 of 30

جداول فايلهاqاين جداول حاوي اطالعات زير است:

وجود فايلهاي سيستم –آدرس فايل روي حافظه ثانويه –...) باز، بسته و ( وضعيت فعلي فايل –(File Attributes)ويژگيهاي فايل –اطالعات خاص يک سيستم فايل –

Operating System Design, Ali Jahanian, Summer 2008 Page 14 of 30

جداول فرآيندهاqمحل قرارگيري فرآيند در حافظه ثانويه

داده هاي سراسري و محلي –مقادير اوليه داده ها –استک برنامه –

q اطالعات الزم براي کنترل فرآيند(Process Control Block)(Process ID)شناسه فرآيند –(Process State)وضعيت فرآيند –محل قرارگيري فرآيند در حافظه اصلي –

qبه مجموع اطالعات فوق تصوير فرآيند ميگويند.

Page 8: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 15 of 30

Operating System Design, Ali Jahanian, Summer 2008 Page 16 of 30

)1(بلوک کنترلي فرآيند qشناسه فرآيند

شناسه هر فرآين يک عدد صحيح يکتاست که موجوديت فرآيند را نشان –. ميدهد

شناسه فرآيند والد –شناسه کاربر –

Page 9: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 17 of 30

)2(بلوک کنترلي فرآيند qاطالعات مربوط به حالت فرآيند

رجيسترهاي قابل مشاهده توسط کاربر –رجيسترهاي کنترلي و وضعيتي –اشاره گرهاي استک –اطالعات زمان بندي فرآيند –(Inter-process communication)اطالعات مربوط به ارتباط بين فرآيندها –

(Process Privileges)حقوق و امتيازات فرآيند –

Operating System Design, Ali Jahanian, Summer 2008 Page 18 of 30

)3(بلوک کنترلي فرآيند q رجيسترهاي قابل مشاهده توسط کاربر

.مقدار اين رجيسترها براي زمان تغيير فرآيند ضروري است–. تعداد اين رجيسترها در برخي از پردازنده ها قابل توجه است –

q رجيسترهاي کنترلي و وضعيتي.مقدار اين رجيسترها هم براي زمان تغيير فرآيند ضروري است –. معموال تعداد اين رجيسترها کم است –.پرچم ها هم جزو اين دسته هستند –

q اشاره گر استک.مقدار اين اشاره گر هم براي زمان تغيير فرآيند ضروري است–.در هر لحظه به وضعيت جاري استک اشاره ميکند–.در برخي از سيستمها خود يک رجيستر است–

Page 10: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 19 of 30

)4(بلوک کنترلي فرآيند q اطالعات زمان بندي(Scheduling information)

حالت فرآيند –فرآيند در کدام يک از حاالت آماده، اجرا، مسدود يا معلق قرار دارد؟ •

(Priority)اطالعات مربوط به ارجحت فرآيند –اطالعات زمان بندي –رويدادهاي سيستم –

. ليست و شرايط رويدادهايي که فرآيندها به آنها حساس هستند •.دبعنوان مثال فرآيندهاي مسدود منتظر رويدادهايي براي بيدار شدن هستن •

Operating System Design, Ali Jahanian, Summer 2008 Page 20 of 30

)5(بلوک کنترلي فرآيند qاطالعات مربوط به ارتباط بين فرآيندها

– (Inter-process communication)يندها مجموعه از پرچمها، سيگنالها و پيامها که براي ايجاد ارتباط بين فرآ –

. مورد استفاده قرار ميگيرند qحقوق و امتيازات فرآيند

حق دسترسي به حافظه و ساير منابع سيستم براي هر فرآيند توسط سيستم –. عامل نگهداري ميشود

Page 11: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 21 of 30

)6(بلوک کنترلي فرآيند qاطالعات مربوط به مديريت حافظه

اطالعات حافظه مجازي و بخشهاي مورد دسترسي –

qاطالعات مربوط به استفاده از منابع سيستمده اطالعاتي در مورد گذشته فرآيند و ليست منابعي که تابحال مورد استفا –

. قرارگرفته است

Operating System Design, Ali Jahanian, Summer 2008 Page 22 of 30

Page 12: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 23 of 30

فعاليتهاي الزم براي ايجاد يک فرآيندqاختصاص يک شناسه براي فرآيند جديدqدر نظر گرفتن و اختصاص حافظه براي فرآيندq مقداردهي اوليهPCBفرآيند جديد q ايجاد ليستهاي پيوندي براي ايجاد صف زمان بندي و ايجاد

)مثل ساختار داده الزم براي حسابداري(ساختارهاي داده ديگر

Operating System Design, Ali Jahanian, Summer 2008 Page 24 of 30

تغيير فرآيند (Process Switching) يا (Context Switching)

qکي بايد فرآيند جابجا شود؟qرخداد وقفه ساعت

ن هرگاه زمان کوانتوم فرآيند جاري تمام شود يا زمان قابل اختصاص به آ –. پايان يابد

q رخداد وقفهI/Oqرخداد خرابي حافظه

Page 13: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 25 of 30

مراحل انجام تغيير فرآيندq وضعيت پردازنده شامل همه رجيسترها و پرچم ها بايد در حافظه

.ذخيره شوندq محتوايPCBفرآيند در حال اجرا تغيير ميکند .qفرآيند درحال اجرا به صف آماده يا مسدود اضافه ميشود.qيک فرآيند از صف آماده انتخاب ميشود.q محتوايPCBفرآيند انتخاب شده تغيير ميکند .qوضعيت پردازنده براي فرآيند جديد بازيابي ميگردد.

Operating System Design, Ali Jahanian, Summer 2008 Page 26 of 30

انواع سيستم عامل از نظر نوع هستهq سيستم عاملهاي با هسته غير فرآيندي(Non-process Kernel)

qMacro-kernel.هسته بصورت يک بخش مجزا از فرآيندهاي سيستم است –دهاي کد هسته بصورت يک موجوديت مجزا با دسترسيهاي کامال متفاوت از فرآين –

.سيستم اجرا ميگردد

Page 14: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 27 of 30

انواع سيستم عامل از نظر نوع هستهq اجراي هسته از داخل فرآيندها(Execution Within User Processes)

ا صدا هسته بصورت يکسري توابع است که کاربران بايد در داخل کد خود آنها ر –. بزنند

.حجم کد فرآيندها خيلي زياد ميشود –

Operating System Design, Ali Jahanian, Summer 2008 Page 28 of 30

انواع سيستم عامل از نظر نوع هستهq سيستم عاملهاي فرآيندي(Process-Based Operating System)

qMicro-kernel.ستاجزاي داخلي سيستم عامل خود فرآيندهايي مثل بقيه فرآيندهاي سيستم ا –. اين سيستم براي حالت چند پردازنده اي بسيار مناسب است –

Page 15: (ﻪﺘﻟﺎﺣ ﺞﻨﭘ ﻝﺪﻣ) ﺪﻨﻳﺁﺮﻓ ﺩﺮﮑﻠﻤﻋ ﻝﺪﻣ · Operating System Design, Ali Jahanian, Summer 2008 Page 1 of 30 (ﻪﺘﻟﺎﺣ ﺞﻨﭘ

Operating System Design, Ali Jahanian, Summer 2008 Page 29 of 30

مزاياي سيستم ريزهستهq واسط يکسان براي همه فرآيندهاي سيستم و فرآيندهاي هستهq قابليت گسترش سيستم

.هر سرويسي جديدي به سادگي قابل افزودن به سيستم است–q قابليت انعطاف پذيري

.قابليتهاي جديد قابل افزودن است–.قابليتهاي موجود قابل حذف است–

q قابليت انتقال.برنامه ها بسادگي قابل انتقال هستند–

q قابليت اطمينانساختار ماجوالر–تست ساده–

q قابليت طراحي با روش طراحي شيءگراq مناسب براي سيستمهاي توزيع شده

Operating System Design, Ali Jahanian, Summer 2008 Page 30 of 30

UNIX SVR4مديريت فرآيندها در qتوابع داخلي سيستم عامل از داخل فضاي کاربر صدا زده ميشوند.