تحقیق در مورد مدیریت cpu و پردازشگر

word قابل ویرایش
15 صفحه
8700 تومان
87,000 ریال – خرید و دانلود

مدیریت 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 است چه اتفاق می افتد.

۱) process که درحال استفاده از cpu است ناگهاننیاز به I/o پیدا می کند ( مثلا page fault اتفاق میافتد )
در این فاصله پاسخ گویی به I/o آن process به کمک state دیگر به آن (block) wait state می گویند می فرستیم.
Static :
entry time priority Burst time job

۳ ۱۰ ۱
۲ ۱ ۱ ۲
۴ ۳ ۲ ۳
۵ ۴ ۱ ۴
۶ ۲ ۵ ۵

فرض بر این است که priority ازنوع preemptive است.
در زمان صفر j1 موجود است. در زمان ۲ ، j2 وارد می شود که اولویت آن بیشتراست ازj1 پس j1 به اندزه ۲Ns از cpu استفاده کرده و j2 پس از آن از ۳
در زمان فقط ۳ j1 است که در سیستم است زیرا j3 در زمان ۴ وارد می وشد.

پس j1 دوباره در cpu قرارمیگیرد و در زمان ۴، j3 , وارد می شود و چون اولویت آن با j1 یکسان است پس j1 به کارش ادامه می دهد. در زمان ۵، j4 وارد می شود که اولویت آن کمتر است در زمان ۶، J5 می آید که اولویت ان بیشتر از j1 است. پس j5 درcpu قرار میگیرد تا زمان ۱۱ که کارش تمام می وشد حال 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 می شود. ۱ns از cpu استفاده کنند.ممکن است قبل از اینکه ۱ns تمام شود تمام کنند . بروند بیرون یا اینکه در خواست I/o کنند و داخل Bock state شوند ولی اگر بیشتراز ۱ns باشد به صف بعدی میفرستد اگر در صف ۱ چیزی نباشد به سراغ level بعدی میرود.

level آخر round robin است و در همانجامی چرخد تا تمامشود در اینجا۴Q را بالا می بریم ولی به محض اینکه process جدید آمد به level اول می رود.
ممکن است یک job در اول I/p bound باشد و بعد cpu bound شود. مشکلی نیست ولی اگر یک job اول cpu bound باشد و بعد I/O bound شود مشکلی ایجاد میکند.در این حالت هر موقع در هر level یک شماره داریم که ببینیم که کدام process خودش می گوید من cpu نمی خواهم (داوطلبانه چک کند) اگر این شماره زیاد باشد یعنی تغییر ماهیت داده پس آن رابه level بالاترمی بردبتدریج این process ها بهlevel بالا می روند.

اگر یک process به block state رفت و حال که کارش تمام شد می خواهد به صف ready برود که به cpu برود. از کجا بدانیم که در کدامlevel یا صف برود واین مشکل است. دراین حالت میگوید در process control ذکر می کینم که در کدام صف بوده که در هنگام برگشت بداند به کدام صف برود.

Multi processing scheduling:
دراین سیستم بیشتر یک cpu موجود است
هدف: افزایش throughput وکاهش turned Around time دو روش وجود دارد
۱) سیستم های چند پردازنده مستقل از هم:

– سیستم ها به هم مربوطند ولی هر cpu حافظه ها و سیستم عامل خاص خود را دارند.
– اطلاعاتی که باهم رد و بدل نمی کنند و بیشتر برای اشکالات احتمالی که در یک سیستم وجود دارد استفاده گردد.یعنی اگر چه سیستم خراب شد.سیستم دیگر جانشینانخواهد شد.

۲) سیستمهای چند پردازنده مربوط به هم
هر پردازش گر سیستم عامل مربوط به خودرا دارد و هر کدامdevice های خودشان را دارند.ولی با هم درارتباطند مثلاً می خواهیم اطلاعات از یک سیستم به سیستم دیگر انتقال نمایند.
O.s ها میتواندد یکی باشد وشبیه هم باشند ویاکاملا متفاوت باشند.
دو سیستم مجزا می توانند با هم ارتباط برقرار کنند.

مثلاً ممکن است سیستم اول عملیات گرافیکی انامدهد وسیستم دوم عملیات دیگری انجامدهد سیستم اول باید پروزه های مربوط به خود را انجام دهد نمی تواند ادامه برنامه را به سیستم دوم محول مند باید خود اجرا نماید.

۳) سیستم های چند پردازنده – tightly coupled
دراین جابیش از یک cpu داریم. ولی تمام cpu ها یک o.s استفاده میکنند.

Cpu ها می توانند از طریق فرستادن پیغام به o.s ارتباط داشته باشند.اطلاعات رابه mail box می فرستند که یک کاری رابه cpu دیگر انجام دهد. پس باهم از طریق فرستادن پیغام ارتباط بر قرار می کنند.

Mail box: محلی است که وقتی یک cpu ها کارش تماممیشود نگاه می کند ببیند چه پیغامی دران است و چه کاری باید انجام شود.

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید
word قابل ویرایش - قیمت 8700 تومان در 15 صفحه
87,000 ریال – خرید و دانلود
سایر مقالات موجود در این موضوع
دیدگاه خود را مطرح فرمایید . وظیفه ماست که به سوالات شما پاسخ دهیم

پاسخ دیدگاه شما ایمیل خواهد شد