لینک دانلود خرید پایین توضیحات
دسته بندی : وورد
نوع : .doc ( قابل ویرایش اماده پرینت )
تعداد : 14 صفحه
قسمتی متن :
مدیریت cpu پردازشگر
Process : task گفته شود واقع حالتی اجرا برنامه است.
یک job موقعی که دارد سیستم شودتوسط سیستم عامل یک سری process تقسیم شود ممکن است که program تبدیل یک process شود. هر یک عملیات که باید برنامه کامپوتر انجام دهد یک process است.
این پروسس کار cpu process هستند. اتفاقی که افتند صورت است.
Ready state مرحله است که process وارد شوند انجا منتظرند cpu استفاده کننده ولی اگر cpu (process) مشغول باشد حالت run state گویند. ( برنامه حال اجرا است ) حالی که سیستم نیستیم cpu نگاه کند که کسی منتظر اجرای برنامه است که اینجا ready Queue داریم cpu نگاه میکند نفر بعدی وارد cpu وشد که یک روتین صدا کند نام dispatcher که کارش است که process فعلی رهایی پیدا کندو ببیند نفر بعد رد queue کیست cpu اختصاص دهد.
وقتی حالت Run state است چه اتفاق افتد.
1) process که درحال استفاده cpu است ناگهاننیاز I/o پیدا کند ( مثلا page fault اتفاق میافتد )
در فاصله پاسخ گویی I/o process کمک state دیگر (block) wait state گویند فرستیم.
Static :
entry time
priority
Burst time
job
3
10
1
2
1
1
2
4
3
2
3
5
4
1
4
6
2
5
5
فرض است که priority ازنوع preemptive است.
در زمان صفر j1 موجود است. زمان 2 ، j2 وارد شود که اولویت بیشتراست ازj1 پس j1 اندزه 2Ns cpu استفاده کرده j2 پس 3
در زمان فقط 3 j1 است که سیستم است زیرا j3 زمان 4 وارد وشد.
پس j1 دوباره cpu قرارمیگیرد زمان 4، j3 , وارد شود چون اولویت j1 یکسان است پس j1 کارش ادامه دهد. زمان 5، j4 وارد شود که اولویت کمتر است زمان 6، J5 اید که اولویت بیشتر j1 است. پس j5 درcpu قرار میگیرد زمان 11 که کارش تمام وشد حال j1 J2 ماند j1 اندازه نانو ثانیه کار دارد. ولی j3 j2 نانو ثانیه وقت خواهد پس j3 cpu قرار گیرد بعد cpu قرار میگیرد.
؟؟؟؟؟؟؟؟؟؟؟
Round robin scheduling:
در روش process که منتظر cpu هستند د یک صف قرار گیرند انکه اول امده process cpu استفاده کند اما زمان مشخصی گذارند که اگر یک process از زمان بیشتری داشته باشد مجددا صف گردد ( time slice ) ( quantum slice ) روش سیسنژتم time sharing مناسب است.
زیرا نیاز است که زمان اجرا process قابل پیش بینی باشد هر process انداز بقیه cpu استفاده کند.
این روش یک روش منصفانه ایست.
این روش نمی واند تشخیص دهد که نوع job چه است I/o bound است cpu bound است معمولا خواهیم I/o bound اولویت داشته باشد زیرا خواهیم هرچه یک process نیاز زمان بیشتری داشته باشد اولویت کمتر باشد اولویت job بدهد که اصلا cpu استفاده نکرده کمتر استفاده کرده زمانی که I/o مشغول است cpu job دیگر پردازش میکند . پس روشی نام multi level que .shc استفاده ند.
Multi level scheduling:
هدف است که job که نیاز کمتری cpu دارد ارجعیت بدهد.
برای job کوچک منصفانه است.
به سرعتمشخص وشد که یک job چیست؟
Job I/o bound اطلاعات خوبی وسابلI/o م یگیرند.
هر ؟؟؟؟؟ یک Quantum size خودش دارد. Process وارد feuel1 شود. 1ns cpu استفاده کنند.ممکن است قبل اینکه 1ns تمام شود تمام کنند . بروند بیرون اینکه خواست I/o کنند داخل Bock state شوند ولی اگر بیشتراز 1ns باشد صف بعدی میفرستد اگر صف 1 چیزی نباشد سراغ level بعدی میرود.
level اخر round robin است همانجامی چرخد تمامشود اینجا4Q بالا بریم ولی محض اینکه process جدید امد level اول رود.
ممکن است یک job اول I/p bound باشد بعد cpu bound شود. مشکلی نیست ولی اگر یک job اول cpu bound باشد بعد I/O bound شود مشکلی ایجاد میکند.در حالت هر موقع هر level یک شماره داریم که ببینیم که کدام process خودش گوید من cpu