لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 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
تحقیق درباره مدیریت cpu و پردازشگر