این پاورپوینت در مورد همزمانی بن بست و گرسنگی در سیستم عامل در 55 اسلاید کامل با افکت مناسب و شامل: همزمانی بن بست و گرسنگی در سیستم عامل، اصول بن بست،اجتناب از بن بست،عدم تخصیص،انحصار متقابل و همگام سازی در سیستم عامل،تعريف سيستم عامل، نخها، چندپردازشی متقارن و ریز هسته ها،تعاریف سخت افزار،Operating System،تعريف سيستم عامل ،سخت افزار،انواع سیستم عامل های شبكه ،سیستم های چند پردازنده ای ،شبكه هاي بلادرنگساختارهای کنترلی سیستم عامل،سیستم های عامل توزیعی، و...ومنابع می باشد
nبن بست را به صورت مسدود بودن دائمی مجموعه ای از فرآیند ها که برای منابع سیستم رقابت می کنند یا با یکدیگر در ارتباط هستند .
n
nراه حل کارامدی برای بن بست وجود ندارد.
n
nتمام بن بستهابی نیاز های متضاد دو فرآیند یا بیشتر ،برای منابع هم راه هستند.
nمنابع قابل استفاده مجدد: بدون صدمه توسط یک فرآیند می توان در هر زمان مورد استفاده قرار می گیردو تمام نمی شود.
مثل :پردازنده ها،حافظه اصلی و ثانویه و...
n
nمنابع مصرف شدنی: منبعی هستند که می تواند ایجاد ونابود گردد.
نوعا روی تعداد منابع مصرف شدنی از یک نوع به خصوص ،حدی وجود ندارد.
nانحصار متقابل باید اعمال گردد:
n
n فرایندی که در بخش غیر بحرانی خود متوقف می شود ، باید طوری عمل کند که هیچ دخالتی در فرایند های دیگر نداشته باشد .
n
nبرای فرایندی که نیاز به دسترسی یک بخش بحرانی دارد،نباید به تاخیر انداختن نا محدود آن وجود داشته باشد ، بن بست یا گرسنگی نمی تواند مجاز باشد.
nهنگامی که هیچ فرایندی در ناحیه بحرانی نیست ورود یک فرایند بدون تاخیر است.
n
nهیچ فرضی در باره تعداد فرایند ها و یا سرعت آن داشت.
n
nهر فرایندی تنها برای زمان محدودی در ناحیه بحرانی قرار می گیرد.
n
nسیستم عامل باید به تواند فرایندهای فعال مختلف را دنبال کند که این کار توسط بلوک های کنترل فرایند انجام می شود.
nسیستم عامل باید منابع را به هر یک از فرایند ها تخصیص دهد و یا باز پس بگیرد از جمله:
(وقت پردازنده، حافظه، پرونده هاريا، دستگاههای ورودی و خروجی)
- تملک منبع: ( فرآیند یا وظیفه )
به هر فرآیند یک آدرس مجازی برای نگهداری تصویر فرآیند می دهد.
- توزیع وقت فرآیند: ( نخ یا فرآیند سبک وزن )
فرآیند مسیر اجرای یک یا چند برنامه است و توسط سیستم عامل مورد زمان بندی و توزیع قرار می گیرد.
nبه قابلیتی از سیستم که امکان اجرای چند نخ را حمایت می کند.
n
nتک نخی: به رویکرد سنتی یک نخ اجرا در هر فرآیند .
nمانند MS-DOS از فرآیند تک کاربره و از یک نخ حمایت می کند.
استفاده بهینه از منابع و جلوگیری از به هدر رفتن آنها
nتخصیص و آزاد سازی منابع
nاداره صفها و زمان بندی استفاده از منابع
nحساب داری (Accounting) میزان استفاده از منابع
nایجاد امنیت (security)
nایجاد، حذف و اداره فرایندها
nایجاد مکانیسمهای ارتباط بین فرایندها و همگام سازی آنها
nمدیریت حافظههای اصلی و جانبی
nبرقراری امکان دسترسی چندتایی (Multiaccess) و اجرای هم روند (Concurrent) فرایندها
nبه اشتراک گذاری منابع (Resource Sharing)
nتعیین راهکارهایی برای اداره بن بست (deadlock)ها
nجلوگیری از شرایط رقابتی (Race Condition) و تد
در فرهنگ رایانه سیستم عامل Operating System) نرمافزاری است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم میسازد که نرم افزار کاربردی اجرا شده و از خدمات آن استفاده کنند.
از انواع مختلف سیستم عامل میتوان به چند سیستم زیر اشاره کرد:
در اینجا کمی سخت است که بین سیستم عاملهای شبکه و سیستم عاملهای MultiUser تفاوت قایل شد. سیستم عاملی مثل ویندوز 2000 در حقیقت مانند باقی ویندوزها یک سیستم عامل SingleUser است و تفاوت آن با سیستم عاملهای MultiUser این است که تنظیمات شبکه و اطلاعات کاربران شبکه فقط به صورت یک برنامه روی آن اجرا میشود و کاربران دیگر شبکه توسط سیستم عامل ویندوز 2000روی شبکه قرار میگیرند و باقی کارکرد آنها توسط سیستم عامل کامپیوتر خودشان انجام میگیرد.
وقتی کامپیوترتان را روشن میکنید، برنامهای به نام ( POST(Power-On Self Test از روی ROM اجرا میشود. این برنامه کوچک، تمام قطعات کامپیوتر را چک میکند. ابتدا پردازشگر و بعد RAM و BIOS [چطور حافظه کامپیوتر کار میکند؟]. سپس برنامه دیگری از ROM اجرا میشود که هارد دیسک شما را فعال میسازد و به دنبال اولین قسمت سیستم عامل یعنی BootstrapLoader میگردد. Bootstrap سیستم عامل را به ترتیب اجرا میکند تا جایی که کنترل کامپیوتر را به آن میسپارد.
پیش از این گفتیم که مدیریت و هدایت پردازشهای کامپیوتر توسط سیستم عامل انجام میشود. مدیریت پردازش شامل تقسیم بندی و اولویت دهی به پردازشها است. نرم افزاری که سیستم عامل برای اینکار از آن استفاده میکند به نام Process یا Thread معروف است.
در حقیقت سیستم عامل کار برنامهها را به صورت پردازش در میآورد و آنها را به پردازشگر میفرستد. مشکلی که در اینجا با آن روبرو میشویم این است که پردازشگر فقط توانایی انجام یک پردازش در یک لحظه را دارد. برای اینکه کار سیستم MultiTask یا چند کاره به نظر برسد، پردازشگر باید چندین بار در هر لحظه به چندین پردازش مخ تلف بپردازد. بیایید به این عملیات به صورت نزدیکتری نگاه کنیم.
فرض کنید دو برنامه داریم که هر کدام پردازشهای خود را به پردازشگر میفرستد. ابتدا برنامهای که اولویت بیشتری دارد پردازش میشود. پردازش اول کامل نمیشود و پردازشگر اطلاعات برنامه اول را تا جایی که پردازش شده، ضبط میکند. سپس نوبت به برنامه دوم میرسد. همین اتفاق برای برنامه دوم میافتد. سپس پردازشگر از همانجایی که برنامه اول متوقف شده شروع به پردازش میکند. و بعد نوبت به تمام کردن پردازش دوم میرسد. این اطلاعات پردازشها در قسمتی از RAM به نام Process Control Block ذخیره میشود. این اطلاعات شامل شماره مخصوصی است که به هر پردازش داده میشود. اولویت پردازش، محلی که پردازش درآنجا متوقف شده، تعداد فایلهایی که توسط پردازشها باز شده و اطلاعات سخت افزارهای خروجی/ ورودی که توسط پردازش مورد استفاده قرار گرفتهاند، نیز در این اطلاعات وجود دارد.
هر پردازشی با توجه به اولویت و مرحلهای که در آن قرار دارد یک وضعیت (Status) دریافت میکند. برای مثال پردازشی که برای اجرا شدن نیاز به دستور کاربر دارد، تا زمانی که این دستور برای مثال توسط فشاردادن دکمه صفحه کلید وارد نشود، این پردازش به صورت غیر فعال و در حالت انتظار (Pending) قرار میگیرد و در این حالت پردازشگر را مشغول نمیسازد.
عملیات تغییر وضعیت پردازشها و جابجایی بین آنها نیز بخشی از ظرفیت پردازشگر را اشغال میکند. اگر سیستم عامل در انجام این عملیات دارای خطا باشد، بجای کنترل کردن درست پردازشها و هدایت آنها به سمت پردازشگر تمام ظرفیت پردازشگر را برای جابجا کردن پردازشها صرف میکند. این کار سرعت کامپیوتر را به شدت کاهش میدهد. این مشکل به Thrashing معروف است.
توضیحاتی ک
همزمانی بن بست و گرسنگی در سیستم عامل_1555711954_17950_4215_1045.zip0.33 MB |