58
امیرکبیرشگاه صنعتی دان( نیک پلی تک تهران) عات و فنآوری اط کامپیوترشکدۀ مهندسی دان عاملیستمفاهیم سل و م اصو ترم بهمن97 فصل دوم: مدیریت فرآیند( بندی زمان) هری جوان نستوه طا[email protected]

لماع متسیس میهافم و لوصا - Nastoohدنیآرف تیریدم [email protected] لماع متسیس میهافم و لوصا PCB لماش ،اهدنیآرف هب

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

(تهرانپلی تکنیک)دانشگاه صنعتی امیرکبیر دانشکدۀ مهندسی کامپیوتر و فنآوری اطالعات

اصول و مفاهیم سیستم عامل97بهمن ترم

مدیریت فرآیند : فصل دوم(زمانبندی)

نستوه طاهری جوان[email protected]

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

فرآیند

فرآیندتعریف:oلفمختمراحلگردونۀواردوانتخابزمانبندتوسطکاریککهایلحظهاز

فتهگفرآیندیابد،میخاتمهکاملطوربهآناجرایکهایلحظهتاشودمی.شودمی

درفرآیندهابهمربوطاطالعاتدرجProcess Tableسیستمتوسطعامل

دردرایهیکاختصاصProcess TableعنوانبافرآیندهربهPCB

(Process Control Block)

2

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

PCB

ساختمان داده ای جهت نگهداری اطالعات مربوط به فرآیندها، شامل:oشناسۀ فرآیندoاولویت فرآیندoثبات های پردازندهoوضعیت فرآیندoاطالعات منابع در اختیار فرآیندoاشاره گرهایی به قسمت های کد، داده و پشتۀ فرآیندoاطالعات مربوط به مدیریت حافظهo و...

3

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

ی فرآیند(وضعیت ها)حالت ها

حالت اول :New

oفرآیند در حال ایجاد شدن

حالت دوم :Ready

oفرآیند درون حافظه، در اختیار داشتن همۀ منابع، منتظر پردازنده

حالت سوم :Running

oدر اختیار داشتن پردازنده و در حال اجرا

حالت چهارم :Waiting( یاBlocked)o منتظر وقوع یک رخداد( مثال اختصاص یک منبع، یا تکمیلI/O )عدم نیاز به پردازنده

حالت پنجم :Terminated

oاتمام اجرای فرآیند

4

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تغییر حاالت ممکن برای یک فرآیند

ازNew بهReady

oسیستم آمادۀ دریافت یک فرآیند جدیدo انجام توسط زمانبند کار(Job Scheduler)

ازReady بهRunning

oاختصاص پردازنده به فرآیندo انجام توسط زمانبند فرآیند(Process Scheduler)

ازRunning بهReady

oپس گرفتن پردازنده از فرآیندفرآیند اختیاری پردازنده را رها کند•سهمیۀ فعلیِ اجرای فرآیند پایان یابد•فرآیندی با اولویت باالتر از راه برسد•

5

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تغییر حاالت ممکن برای یک فرآیند

ازRunning بهWaiting

oانتظار فرآیند برای وقوع یک رخداد

ازWaiting بهReady

oرخ دادن رویدادی که فرآیند منتظر آن است

ازRunning بهTerminated

oاتمام فرآیند

6

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

(تکمیلی)وضعیت های فرآیند

موقعیتSuspend(معلق )برای فرآیندها:oبیرون راندن فرآیند از حافظه به دیسک!

حالت ششم :Suspend Wait

oفرآیند در حالت انتظار، از حافظه به دیسک منتقل شود

حالت هفتم :Suspend Ready

oرودفرآیند به علت کمبود حافظه مستقیم از حالت آماده به آماده و معلق میo فرآیند بر روی دیسک و در حالت منتظر و معلق قرار دارد، حادثۀ مورد

.نظرش رخ می دهد

7

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

(تکمیلی)تغییر حالت های یک فرآیند

ازWaiting بهSuspend Waiting

o از ، یک فرآیند(هیچ فرآیندی آماده نیست)همۀ فرآیندها در حال انتظارندافظه تا فضا بر روی ح)صف انتظار انتخاب شده و به دیسک منتقل می شود

(ایجاد شده و یک فرآیند از حالت جدید یا آماده و معلق به آماده رود

ازSuspend Waiting بهSuspend Ready

oرخ دادن رویدادی که یک فرآیند منتظر و معلق منتظر آن بود.

ازSuspend Ready بهReady

oهیچ فرآیندی در حالت آماده در سیستم نباشد

oاولویت فرآیند آماده و معلق از همۀ فرآیند های آماده باالتر باشد

8

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

(تکمیلی)تغییر حالت های یک فرآیند

ازReady بهSuspend Ready

oاحتمال وقوع پایینoدر فرآیند در حال اجرا به حافظۀ بیشتری نیاز دارد، از طرفی هیچ فرآیندی

.حالت انتظار نیست

ازSuspend Waiting بهWaiting

oخالی شدن حافظه

9

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

زمانبندها

انواع زمانبندهاo زمانبند بلند مدت(Long Term Scheduler)

انتخاب فرآیندها از بین کارها•مشخص کردن درجۀ چند برنامگی•

(Admission)یا زمانبند پذیرش (job)زمانبند کار : نام های دیگر•

o زمانبند میان مدت(Middle Term Scheduler)

جابجا کردن فرآیندها از حافظه به دیسک و بالعکس•زمانبند حافظه: نام دیگر•

o زمانبند کوتاه مدت(Short Term Scheduler)

انتخاب از بین فرآیندهای آماده برای اجرا•

زمانبند فرآیند یا زمانبند پردازنده: نام های دیگر•

10

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تعویض متن

تعویض متن(Context Switch)

oسوئیچ کردن پردازنده بین فرآیندهای مختلفo ،(زیرا از نظر اجرایی کار مفیدی صورت نمی گیرد)نوعی سربارoلینیازمند ذخیره کردن حالت فرآیند قبلی و بارگذاری حالت فرآیند فعo انجام توسط ماژولی از سیستم عامل به نامDispatcher

11

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

(کوتاه مدت)زمانبند فرآیند

برخی اهدافoعدالتo کاهش زمان پاسخ(Response Time)

(اهمیت در سیستم های محاوره ای)زمان بین لحظۀ ورود کار و لحظۀ شروع پاسخ •

o کاهش زمان گردش کار(Turnaround Time)

زمان بین لحظۀ ورود کار و لحظۀ خروج کامل•

o کاهش زمان انتظار(Waiting Time)

(انتظار برای پردازنده)مجموع زمان های حالت آماده برای یک فرآیند •

oافزایش بهره وری پردازنده(CPU Utilization, Efficiency)

o افزایش توان گذردهی(Throughput)

تعداد فرآیندهای تکمیل شده در واحد زمان•

12

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

انواع زمانبندها

( یا انحصاری)غیر قابل پس گیری(Non Preemptive)

oنمی توان پردازنده را به زور از فرآیندی گرفتoیا باید فرآیند خاتمه یابد، یا فرآیند داوطلبانه پردازنده را رها کند!oمناسب و کارآ برای سیستم های دسته ای

( یا غیر انحصاری)قابل پس گیری(Preemptive)

oمی توان پردازنده را به زور از فرآیندی گرفتoمناسب برای سیستم های محاوره ایoاتالف زمان پردازنده به دلیل تعویض متن های پی در پی

13

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

الگوریتم های زمانبندی فرآیند

تنوع الگوریتم ها:

oFCFS

oSJF

oRR

oSRT

oHRRN

oPriority

oMLQ

14

oMLFQ

oLPT

oLottery

oGuaranteed

oFSS

o و...

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تعاریف اولیهبرخی

زمان اجرا، زمان سرویس، زمان انفجار(CPU Burst Time)

oمدت زمان نیاز یک فرآیند به پردازنده

میانگین زمان انتظارoمیانگین مدت زمان انتظار فرآیندها در صف آماده

میانگین زمان پاسخ!o میانگین زمان اجرای !( برخالف تعریف قبل)تعریف معمول در تست ها

!(در واقع معادل زمان گردش کار)فرآیندها، به عالوۀ زمان انتظار آنها

مشکل گرسنگی، قحطی زدگی(Starvation)

oبه تعویق افتادن اجرای یک فرآیند تا بی نهایتاحتمال

15

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

FCFSالگوریتم

(مانند یک صف)اجرای کارها با همان ترتیب ورودبه نوعی ساده ترین الگوریتم زمانبندینام دیگر :FIFO

از نوع انحصاری(Non Preemptive)

نبود مشکل گرسنگی

16

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

FCFSمثال از

توجهبا(اندکختالفبا)اندشدهسیستموارد0لحظۀدرهمگینامشانترتیببهفرآیند،چهاراست؟چقدرفرآیندچهاراینبرایانتظارزمانمیانگینزیر،جدولبه

oگانتنمودار:کوتاهپاسخ:

W.𝑇.=0 + 4 + 7 + 9

4= 5

17

دفرآین CBT (ms)

P1 4

P2 3

P3 2

P4 4

P1 P2 P3 P40 4 7 9 13

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

SJF(Shortest Job First)الگوریتم

انتخاب کوتاهترین کار باقیمانده برای اجرا

حداقل کردن میانگین زمان انتظار و زمان پاسخ: هدفالگوریتم انحصاریدارای مشکل گرسنگی

oورود پیوستۀ تعدادی کار کوچک و تعویق یک کار بزرگ تا ابد!

اعمال ایدۀFCFS در صورت داشتن بین دو فرآیندCBTیکساندر عمل قابل پیاده سازی نیست

oزیرا زمان اجرای فرآیندها عمالً از قبل مشخص نیست!

نام های دیگر :SPN(Shortest Process Next)

SPT(Shortest Processing Time)

18

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

SJFمثال از

فرآیندهاینابرایراپاسخزمانمیانگینوانتظارزمانمیانگینبگیرید،درنظررازیرفرآیندچهار.آوریددستبهSJFروشبا

کوتاهپاسخ:

گرفتیمنظردرکارگردشزمانهمان(هاتستهمانند)راپاسخزمان:نکته!

19

فرآیند CBT زمان ورود

P1 15 0

P2 5 2

P3 8 2

P4 3 2

P1 P4 P2 P30 15 18 23 31

W.𝑇.=0 + 16 + 21 + 13

4= 12.5 𝑅. 𝑇. =

15 + 21 + 29 + 16

4= 22.5

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

Round Robinالگوریتم

تقسیم زمان پردازنده به برش های کوتاه(Time Slice)

ندهاسرویس دهیِ پردازنده از ابتدای صف به اندازۀ یک برش به فرآیورود فرآیندهای تازه وارد به انتهای صفرها کردن فرآیند جاری پس از اتمام برش زمانی

oانتقال فرآیند رها شده به انتهای صف!

قابل استفاده در سیستم های اشتراک زمانی نوع قابل پس گیریFCFS

غیر انحصاری

نبود مشکل گرسنگی

20

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

.R.Rمثال از

زمانبندینیهثامیلییکزمانیبرشباوچرخشی،نوبتالگوریتمازاستفادهبارازیرفرآیندسهدردهافرآینکنیدفرض).آوریددستبهرافرآیندهاپاسخزمانوانتظارزمانمیانگین.کنید.اندشدهواردنامترتیببهوصفرلحظۀ

oداریمپس:

21

فرآیند CBT زمان ورود

P1 2 0

P2 3 0

P3 2 0

P1 P2 P3 P10 1 2 3 4

P2 P3 P25 6 7

فرآیند زمان پاسخ زمان انتظار

P1 4 2

P2 7 4

P3 6 4

W.𝑇.=2 + 4 + 4

3= 3.3

𝑅. 𝑇. =4 + 7 + 6

3= 5.6

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

.R.Rنکات حل مسالۀ

صفانتهایبهزمانیکدردوهروارد،تازهفرآیندیکوقدیمیفرآیندیکاگردر).دمیگیرقرارانتهادرقدیمیفرآیندوجلوترواردتازهفرآیندبرسند،آماده(شودنمیرعایتهاعاملسیستمهمۀ

دررازندهپرداداوطلبانهبرسد،پایانبهزمانیبرشپایانازپیشفرآیندیاگر.یردگمیقراربعدیفرآینداختیاردرپردازندهوکندمیرهازمانیبرشنیمۀ

استپاسخزمانبرابرورودزمانوخروجزمانبینفاصلۀ.شودمیحاصلانتظارزمانکنیم،کمپاسخزمانازرااجرازماناگر.(لزومانه).شودمیگرفتهنادیدهمتنتعویضزمانمعموالگذاردمیتاثیرفرآیندهاپاسخزمانمیانگینرویبرزمانیبرشاندازۀتغییر.

oافزایشگاهیودهدمیکاهشراپاسخزمانگاهی.

22

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

.R. Rمثالی از

لی ثانیه میسیستم از روش نوبت چرخشی با برش زمانی یک . فرآیندهای زیر را در نظر بگیرید.میانگین زمان پاسخ را بیابید. استفاده می کند

oنمودار ابداعی..زمان باقی مانده هر فرآیند: اعداد قرمز باالی نمودار•

23

فرآیند CBT

(دقیقه)

زمان ورود

(دقیقه)

P1 8 0

P2 1 1

P3 4 3

P4 6 3

P5 2 3

0 1 3 11 17 21

8

1

7

4

6

2 0

0

0

0

4

4 2

24

0

6P1

P2

P3

P4

P5

Time

(min)

𝑅. 𝑇. =21 + 2 + 14 + 18 + 8

5= 12.6

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

SRTالگوریتم

نسخۀ غیر انحصاری(preemptive) الگوریتمSJF

پس گرفتن پردازنده از فرآیند در حال اجرا، در صورت ورود یک.فرآیند با زمان اجرای کوتاه تر

نام های مصطلح:o SRT(Shortest Remaining Time)

o SRPT(Shortest Remaining Processing Time)

o SRTF(Shortest Remaining Time First)

o SRTN(Shortest Remaining Time Next)

احتمال وقوع قحطی زدگی برای کارهای بزرگ!!!

24

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

SRTمثال از

با روش . چهار فرآیند زیر را در نظر بگیریدSRTمیانگین زمان انتظار برای فرآیندها چقدر است؟

25

دفرآین CBT زمان ورود

P1 8 0

P2 4 1

P3 9 2

P4 5 3

P1 P2 P4 P10 1 5 10 17

P326

𝑊.𝑇.=9 + 0 + 15 + 2

4= 6.5

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

HRRNالگوریتم

مشکل قحطی زدگی : انگیزهSJF وSRTبرای کارهای بزرگ.دادن اولویت به کارهایی که زیاد منتظر مانده اند: راه کار.

تعریف اولویت

در لحظۀ تصمیم گیری، اولویت ها محاسبه می شوند.تاثیر پذیری اولویت هم از زمان اجرا و هم از زمان انتظار

oهر چه فرآیندی کوچکتر باشد، اولوین باالتری دارد.oهر چه فرآیند بیشتر منتظر مانده باشد، اولویت باالتری دارد.

از نوع انحصاری.

مشکل قحطی زدگی ندارد.

26

اولویت =اجرا زمان + انتظار زمان

اجرا زمان

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

HRRNمثال از

میانگین زمان پاسخ و زمان انتظار برای چهار فرآیند زیر را به روشHRRNمحاسبه کنید.

o 0در لحظۀ :P1فقط فرآیند •

o 11در لحظۀ:P2 :2اولویت •P3 :1.75اولویت •P4 :1.5اولویت •

o 16در لحظۀ:P3 :3اولویت •P4 :4اولویت •

o 18در لحظۀ :P3فقط •

27

فرآیند CBT ورودزمان

P1 11 0

P2 5 6

P3 4 8

P4 2 10

P1 P2 P4 P30 11 16 18 22

W.𝑇.=0 + 5 + 10 + 6

4= 5.25

𝑅. 𝑇. =11 + 10 + 14 + 8

4= 10.75

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

LPT (Longest Processing Time)الگوریتم

انتخاب طوالنی ترین کارo برخالفSJF

(معموال)پیاده سازی به صورت انحصاریاحتمال قحطی زدگی برای کارهای کوچک.

حداکثر شدن میانگین زمان پاسخ و زمان انتظار!!

28

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

Lotteryالگوریتم

توزیع تعدادی بلیط بین فرآیندها.oبر اساس اولویت می توان تعداد بلیطهای هر فرآیند را تعیین کرد.

رش اعالم تصادفی یکی از بلیط ها به عنوان برنده در ابتدای هر بزمانیoشانس باالتر فرآیندهایی که بلیطهای بیشتری دارند.

(قابل پس گیری)از نوع غیر انحصاریعدم وجود مشکل قحطی زدگیامکان مبادلۀ بلیطها بین فرآیندها

o مثال فرآیندی منتظرI/Oاست و بلیط خود را اهدا می کند!

29

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

FSSالگوریتم

تالش برای رعایت عدالت-Fair Share Scheduling

در نظر گرفتن مالک فرآیند برای سهم بندی.oایده های پیشین مالک فرآیندها را در نظر نمی گرفتند.

دو کاربر : انگیزهA وB که کاربرA فرآیند دارد و کاربر 8جمعاB

م؟؟؟آیا باید مالک فرآیندها را در نظر بگیری. فقط یک فرآیند دارد

کاربر : مثالA چهار فرآیندa1, a2, a3, a4 و کاربرB فقط یک.را داردbفرآیند

o پردازنده باشد% 50اگر سهم هر کاربر :a1,b,a2,b,a1,b,a2,b,a1,b,a2

o اگر سهم کاربرA وB باشد% 25و % 75به ترتیب:a1,a2,a3,b,a4,a1,a2,b,a3,a4,a1,b,a2,a3,a4,b,….

30

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

MLQالگوریتم

دسته بندی فرآیندها در چند صفدادن اولویت خاص به هر صفاستفاده از یک الگوریتم خاص در هر صفتخصیص پردازنده بین صفها:

oانحصاری.ابتدا باید صف با اولویت باالتر تکمیل شود•

oغیر انحصاری.صف آخر% 20صف دو و % 30سهم صف یک، % 50مثال .R.Rشبیه به •

31

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

MLFQالگوریتم

اطالح ایدۀMLQبا امکان جابجایی بین صف هاo ه صف فرآیند در صف های پایین با افزایش زمان انتظار، ببه عنوان مثال یک

.یا بلعکس. های باالتر منتقل می شود

ازلاوصفدر.گرفتنظردرراصفچهارباسیستمیتوانمی:مثالRRازدومصفدروثانیهمیلی4زمانیبرشباRRزمانیبرشبا

ثانیهمیلی16زمانیبرشباRRازسومصفدروثانیهمیلی8.کرداستفادهFCFSسیستمازنیزانتهاییصفدر.کرداستفاده

بهصفایندراگرشود،میواردیکصفبهابتدافرآیندهاحالنیزصفایندراگروشوندمیمنتقلدومصفبهنرسیدند،پایان

.شوندمیواردچهارموسومصفبهنشدندتکمیل

32

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

Thread

نکات مربوط به نخo در یک فضای حافظۀ یکسان از یک فرآیندمسیرهای مختلف اجرایoنیاز به حمایت سیستم عامل جهت وجود چند نخ در یک فرآیندoل دسترسی همۀ نخ ها به فضای حافظۀ یکسان، متغییرهای سراسری، فای

...های باز و

o اختصاص یک شمارندۀ برنامه(P.C.)و ثبات های جداگانه به هر نخoته، فرآیند سبک وزن، نخ، سرنخ، ریسمان، بند، ریسه، رش: نام های مصطلح

.رگه، ریز پردازه

oمرورگر وب و لود کردن تصاویر مختلف به صورت همزمان: مثال مناسب.

33

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

Thread

مدیریت نخ هاoدر سطح کاربر

ک در داخل ی( بدون اطالع هسته)ایجاد، انتظار، اتمام، زمانبندی نخ ها در فضای کاربر •.فرآیند صورت می گیرد

.هسته فقط فرآیند را می شناسد•ستم اگر یک نخ یک فراخوان سیستمیِ مسدود کننده را اجرا کند، سی: به عنوان مثال•

.را مسدود می کند( شامل همۀ نخ ها)عامل کل آن فرآیند

oدر سطح هسته.کلیۀ اعمال مدیریت و زمانبندی نخ ها توسط سیستم عامل انجام می شود•.چند پردازنده به طور همزمان می توانند چند نخ یک فرآیند را اجرا کنند•

.اگر یک نخ مسدود شود، سایر نخ ها میتوانند اجرا شوند•

34

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

Thread

زمانبندی نخ ها در سطح کاربرoفرآیندسه:مثالAوBوCتمالگوریتوسطسیستمیکدرزمانبندیآمادۀصفرلحظۀدر

RRاستزیرشرحبههایینخشاملفرآیندهر.هستندزمانیواحد1.5زمانیبرشبا:3اجرایزمانباA2نخو2اجرایزمانباA1نخ:Aفرآیند•3اجرایزمانباB2نخو1اجرایزمانباB1نخ:Bفرآیند•2اجرایزمانباC2نخو3اجرایزمانباC1نخ:Cفرآیند•

آغازلحظۀدرفرآیندهراولنخوباشدFCFSفرآیندهردرونهاینخزمانبندیاگرفرآیندکاربهآغازلحظۀاززمانیواحد0.5ازپسفرآیندآندومنخوفرآیندآناجرای

رامسیستهاینخهمۀانتظارزمانمتوسطوپاسخزمانمتوسطشوند،واردسیستمبه.کنیدمحاسبه

35

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

Thread

oادامۀ مثال قبل

36

نخ CBT ورودزمان زمان اتمام زمان پاسخ زمان انتظار

A1 2 0 5 5 3

A2 3 0.5 13.5 13 10

B1 1 1.5 2.5 1 0

B2 3 2 11.5 9.5 6.5

C1 3 3 9 6 3

C2 2 3.5 14 10.5 8.5

A1 B1 B2 C10 2.5 5 7.5 1413.51311.510.5964.531.5

A1 A2 B2 C1 A2 B2 C2 A2 C2

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

زمانبندی سیستم های چند پردازنده ای

زمان مورد نیاز برای اجرای )معموالً کاهش طول زمانبندی : هدف(کارها

oزمان بندی قابل پس گیری برای کارهای مستقلBin Packingمانند الگوریتم •

oزمان بندی غیرقابل پس گیری برای کارهای مستقلLPTمانند الگوریتم •

37

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

زمانبندی سیستم های چند پردازنده ای

o الگوریتمBin Packing

.توزیع کارها بین پردازنده ها به گونه ای که همیشه پردازنده ها مشغول باشند•.به حداقل ممکن رساندن طول زمانبندی•.دستورات یک فرآیند باید پشت سر هم اجرا شوند: فرض•:ابتدا باید کمترین طول زمانبندی محاسبه شود•

𝑊𝑜𝑝𝑡 = 𝑀𝐴𝑋1

𝑀𝑇𝑖 , 𝑀𝐴𝑋 𝑇𝑖

امiزمان اجرای کار Tiتعداد پردازنده ها و Mکه

(ترتیب انتخاب مهم نیست)انتخاب کارها و انتساب آنها به پردازنده ها •

جا Woptمعموال آخرین کاری که برای یک پردازنده انتخاب می شود، در محدودۀ•.نمیگیرد، باقیماندۀ کار به پردازندۀ بعدی سپرده می شود

38

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

زمانبندی سیستم های چند پردازنده ایشش فرآیند زیر را با استفاده از الگوریتم : مثالBin Packing برای حالت های دو پردازنده، سه

. پردازنده و چهار پردازنده، زمانبندی کنید

P1=12, P2=10, P3=8, P4=6, P5=3, P6=3

دو پردازنده: حالت اول

𝑊𝑜𝑝𝑡 = 𝑀𝐴𝑋1

212 + 10 + 8 + 6 + 3 + 3 ,𝑀𝐴𝑋{12,10,8,6,3,3}

=MAX{21, 12}= 21

39

0 21Time

P2(1) P3(8) P4(6) P5(3) P6(3)Second Processor

First Processor P1(12 unit) P2(9 unit) یک مثال از زمانبندیحالت های دیگر هم )

(وجود دارند

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

زمانبندی سیستم های چند پردازنده ای

سه پردازنده: حالت دوم

𝑊𝑜𝑝𝑡 = 𝑀𝐴𝑋1

312 + 10 + 8 + 6 + 3 + 3 ,𝑀𝐴𝑋{12,10,8,6,3,3}

=MAX{14, 12}= 14

40

یک مثال از زمانبندیحالت های دیگر هم )

(وجود دارند

0 14Time

P2(8) P3(6)Second Processor

First Processor P1(12 unit) P2(2 unit)

Third Processor P3(2) P4(6) P5(3) P6(3)

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

زمانبندی سیستم های چند پردازنده ای

چهار پردازنده: حالت سوم

𝑊𝑜𝑝𝑡 = 𝑀𝐴𝑋1

412 + 10 + 8 + 6 + 3 + 3 ,𝑀𝐴𝑋{12,10,8,6,3,3}

=MAX{10.5, 12}= 12

41

یک مثال از زمانبندیحالت های دیگر هم )

(وجود دارند

0 12Time

P3(6) P4(6)

Second Processor

First ProcessorP1(12 unit)

Third Processor

P5(3) P6(3)Fourth Processor

P2(10) P3(2)

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

زمانبندی سیستم های چند پردازنده ای

الگوریتمLPT(برای زمانبندی غیرقابل پس گیری)oغیر در سیستم های انحصاری رسیدن به یک زمانبندی با طول بهینه عمال

.ممکن استo الگوریتمLPT در صورت به کار گیری در سیستم های چند پردازنده ای

.می شود( نه بهینه)معموال منجر به زمانبندی با طول معقول oهر گاه یک پردازنده آزاد است، از بین کارهای باقیمانده، طوالنی: روال کار

.ترین کار را انتخاب می کندo الگوریتمLPTاما زمان . از نظر طول زمانبندی معموال خوب عمل می کند

.پاسخ را افزایش می دهد

42

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

زمانبندی سیستم های چند پردازنده ایرا {5,5,4,4,3,3,3}هفت فرآیند با طول های . پردازنده را در نظر بگیرید3سیستمی با : مثال

.زمانبندی کنیدLPTبا استفاده از

حالت بهینه به صورت زیر بوداما:

43

0 11Time

5 3Second Processor

First Processor 5 3

Third Processor 4 4

3

0 9Time

5 4Second Processor

First Processor 5

Third Processor 3 3

4

3

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

زمانبندی سیستم های چند پردازنده ای

نقص عمدۀLPT :افزایش میانگین زمان پاسخ فرآیندهاoزمانبندی با همان ایدۀ : یک ایده بهبودLPT و سپس معکوس کردن کارهای

(Reverse Processing Timeمعروف به ایدۀ ! )هر پردازنده

جهت کاهش میانگین زمان پاسخ، می توان از الگوریتمSPT استفاده.کردoافزایش طول زمانبندی به بدترین حالت ممکن!

44

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

زمانبندی سیستم های چند پردازنده ایپنج فرآیند زیر را برای دو پردازنده با الگوریتم های : مثالLPT ،RPT وSPTزمانبندی کنید.

{5,4,3,2,2}

45

0 9Time

5 2

Second Processor

First Processor

4 3

2

0 9Time

2 5

Second Processor

First Processor

3 4

2

0 10Time

2 5

Second Processor

First Processor

2 4

3

0 8Time

2

5

Second Processor

First Processor

24

3

2

LPT SPT

RPT

بهبهینهحالتواقعدرامانآکشفکهاستروبروصورت

!گیردنمیصورتراحتیبه

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تمرین ها

دربارۀ فرمول : 1تمرینLittleداد پیرامون رابطۀ پایداری سیستم با تع.فرآیندها و زمان سرویس فرآیندهای سیستم تحقیق کنید

oدر این مورد صحبت شده است2-8-6بخش [1]در مرجع : راهنمایی.

در مورد پدیدۀ وارونگی اولویت تحقیق کنید: 2تمرین.o 4-6-5، بخش [1]منبع.

م های پاسخ گویی پردازنده به وقایع در سیستشرطدرباره : 3تمرین.بالدرنگ تحقیق کنید

oدر این مورد بحث شده است4-4-2بخش [2]در مرجع : راهنمایی.

46

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تمرین ها

دربارۀ اهداف روش های زمانبندی در سیستم های مختلف : 4تمرین.تحقیق کنید

o23-2شکل [4]مرجع : راهنمایی.

فراخوان سیستمی دربارۀ : 5تمرینfork یونیکس تحقیق کنیددر.oآزاد: منبع

زمانبندیالگوریتمدربارۀ:6تمرینCPUدرLinuxوWindows .کنیدتحقیق2000

o6-10و3-10هایبخش[3]مرجع:راهنمایی

47

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تمرین ها

میهاستفادابداعیزمانبندیالگوریتمیکازکنیدفرض:7تمریندرکهدشونمیانتخاباجرابرایفرآیندهاییکهصورتاینبهکنیم

مورددراند،داشتهپردازندهزمانازرااستفادهکمتریناخیر،گذشتۀبافرآیندهایوI/Oعطشبافرآیندهایقبالدرالگوریتماینرفتار

.کنیدبحثپردازندهعطش

نیدسیستم های بالدرنگ تحقیق کزمانبندیدربارۀ انواع : 8تمرین.oو زیر بخش های مربوطه6-6بخش [1]مرجع : راهنمایی .

48

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تمرین ها

و به طور کاملتست های انتهای اسالید را تشریحیحل : 9تمرین. انجام دهیددقیقیر در صورت نیاز، حل تشریحی را به صورت خوانا و خوش خط روی کاغذ نوشته و تصو•

.آن را ضمیمه کنید

را از کتاب سیلبرشاتس 6و 4و 3فصل های : 1تمرین امتیازیمطالعه کرده، و از هر فصل یک سوال مفهومی طرح کرده و پاسخ

.دهید

تنن« سیستم عامل های مدرن»از فصل دوم کتاب : 2تمرین امتیازی، هر یک یک سوال مفهومی 2.4و 2.2و 2.1باوم، از بخش های

.طرح کرده و پاسخ دهید

49

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

پروژه فصل دو

کهتاسشدهگرفتهنظردرنویسیبرنامهپروژهدوفصلاینبرایئهاراتدریسیارهایکالسدرآنهاارائهوسازیپیادهنحوۀجزئیات،

.گرددمی

50

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تست های کنکور ارشد

،76ارشد، دولتیoپردازهچهارکهصورتیدرAوBوCوDیکاجرایآمادۀهایپردازهلیستدرترتیبهمینبه

ثانیهمیلی30و50و20و40برابرترتیببهآنهاتخمینیاجرایزمانباشند،داشتهقرارزمانبندContextهرزمانوباشد Switchروشازوباشدثانیهمیلی5برابرهاپردازهبینRRبرشبا

قدرچهاپردازهانتظارزمانمتوسطوپاسخگوییزمانمتوسطشود،استفادهثانیهمیلی20زمانیاست؟105و135(د110و128.75(ج67.5و102.5(ب90و125(الف

الف(جواب

،81آزاد،ارشدoروشازاگردارند،وجودسیستمدرزیرجدولمطابقفرآیندچهارRRثانیهمیلییکزمانیبرشبا

ست؟اچقدرهافرآیندانتظارزمانمیانگینشود،نظرصرفمتنتعویضسربارازوشوداستفادهدقیقه3(الفدقیقه6(بثانیه30ودقیقه3(جثانیه30ودقیقه6(دالف:جواب•

51

P1 P2 P3 P4

(دقیقه)زمان ورود 0 1 3 9

(دقیقه)زمان اجرا 3 5 2 2

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تست های کنکور ارشد

،81ارشد، دولتیoفرآینددوP1وP2نیازموردمنبعسطرهراطالعاتموجودند،سیستمدرزیراجرایمشخصاتبا

کهاستاینبیانگرچهارمسطردرnet3مثال.کندمیمشخصرانیازموردزمانوپراسسهربرایبهP1ازبعدثانیه2دقیقاP2پراسساگر.داردنیازثانیه3مدتبهراشبکهکارتدومپراسسپراسسریزیبرنامهبرایراPreemptionخاصیتباSJFسیاستسیستموباشد،رسیدهسیستم

چقدرثانیهحسببرCPUوقترفتگیهدرزمانومذکورپراسسدواجرایزمانکند،اعمالهااست؟0رفتگیهدرو24زمانکل(الف1رفتگیهدرو25زمانکل(ب2رفتگیهدرو27زمانکل(ج3رفتگیهدرو28زمانکل(د

3:جواب•.کنیدرسمفرآینددوهربرایهمزمانابداعیچارتگانتیک:راهنمایی•.هستندکاریکاختیاردرواحدآندرخروجیورودیدستگاههای:نکته•

52

P1 P2

CPU3 CPU4

Net4 Disk3

CPU2 CPU3

Disk3 Net3

CPU5 CPU3

DISK2 Net3

CPU2 CPU3

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تست های کنکور ارشد

،80ارشد، دولتیoسطحیچندبازخوردصفباایپردازندهتکسیستمیک(MLFQ)اولصفبه.بگیریدنظردررا

صفواستشدهدادهثانیهمیکرو16معادلزمانیتکهدومصفبهوثانیهمیکرو8معادلزمانیتکهواردسیستمبهصفرزماندرهمگیکارششکنیدفرض.استشدهزمانبندیFCFSصورتبهسومپاسخزمانمیانگین.باشدثانیهمیکرو30و25و20و12و7و4ترتیببهآنهااجرایزمانوشوند

.بیابیدراانتظارزمانمیانگینو24.75و51.83(د16.33و48.5(ج35.5و51.83(ب35.5و16.33(الفب:جواب•میناتمامکهفرآیندهاییدهد،میسرویسدوریکاولصفبهابتداپردازندهکهاستشدهفرضحالتایندر:راهنمایی•

واولصفدرفرآیندهایعنی.سومصفسراغبعدورودمیدومصفسراغپردازندهبعد.شوندمیواردبعدیصفبهیابند.شوندمیماندگارسومصفدرنهایتدرومیگیرندسرویسدوریکفقطدوم

،83آزادارشدoالگوریتمازایپردازندهتکسیستمیکSRTتخمینیاجرایزمانبافرآیندچهار.کندمیاستفاده

رآیندهافتمامیوباشدناچیزمتنتعویضزماناگر.شوندمیسیستمواردثانیهمیلی3و2و3و6؟استثانیهمیلیچندفرآیندهاانتظارزمانمیانگینانگاهباشند،داشتهپردازشیکارفقط

2.25(د2.5(ج0.25(ب1.5(الفد(جواب•

53

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تست های کنکور ارشد

،84ارشد، آزادoزمانبندیالگوریتمازایپردازندهتکسیستمیکHRRNکهصورتیدر.کندمیاستفاده

سیستموارد7و5و3و1و0زمانهایدرترتیببه2و3و3و7و6اجرایزمانبافرآیندهاییشود؟میاجراانتهادرفرآیندکدام.شوند.شدهوارد1زماندرکهفرآیندی(الف.شدهوارد3زماندرکهفرآیندی(ب.شدهوارد5زماندرکهفرآیندی(ج.شدهوارد7زماندرکهفرآیندی(دالف(جواب•

،85آزاد،ارشدoالگوریتمازسیستمیSRTمتوسطباشد،ثانیهمیلی1فرآیندهاتعویضزماناگر.کندمیاستفاده

است؟چقدرفرآیندهااجرایبرایانتظارزمان5.25(الف4.75(ب5(ج4.5(دالف(جواب•

54

P0 P1 P2 P3

زمان ورود 0 2 3 8

اجرازمان 6 4 2 1

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تست های کنکور ارشد

،86ارشد، آزادoزمانبندیالگوریتمازاستفادهباپراسسهفتسیستمیکدرRRآنهااجرایزماناگر.شوندمیاجرا

(برش)کوانتوممقدارCPUوریبهرهافزایشبرایباشد،ثانیهمیلی6و2و4و3و4و5ترتیببهباشد؟چقدرزمانی7( د4( ج5( ب6( الف

،87ارشد، آزادo به طوری که میانگین زمان . فرآیند وارد می شوند10ثانیه، 50در سیستمی به طور متوسط در هر

میلی ثانیه باشد و 100با کوانتوم زمانی RRاگر زمانبندی از نوع . ثانیه است2سرویس هر فرآیند، زمان تعویض فرآیند ناچیز باشد، میانگین بار سیستم کدام است؟

اطالعات داده شده کافی نیست( درصد د80( درصد ج40( درصد ب60( الفبهره وری پردازنده= بار سیستم : راهنمایی•

55

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

تست های کنکور ارشد

،90ارشد، آزادoازترتیببهآنهااجرایتخمینزمان.دارندقرارآمادهصفدرلحظهیکدرفرآیندچهارP1تاP4

راxمقدارباشد13.5برابرفرآیندهاپاسخزمانمیانگینحداقلچنانچه.باشدمی8و5و7وxبرابر(استx<5کهاستاینبرفرض).بیابید4( د4.5(ج4.25( ب4.75( الف

56

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

منابع

[1]. A. Silberschatz, P. B. Galvin and G. Gagne, “Operating System

Concepts,” 9th ed., John Wiley Inc., 2013.

[2] A. S. Tanenbaum and H. Bos, “Modern Operating Systems,”

4rd ed., Pearson, 2014.

[3] W. Stallings, “Operating Systems,” 8th ed., Pearson, 2014.

[4] A. S. Tanenbaum, A. S. Woodhull, “Operating Systems Design

and Implementation,” 3rd ed., Pearson, 2006.

انتشارات”عامل،سیستممفاهیمواصول“طورانی،محسنوجوانطاهرینستوه[5].1386پارسه،عالیآموزشموسسه

57

مدیریت فرآیند

[email protected]

اصول و مفاهیم سیستم عامل

پایان

58