در این جلسه از سری جلسات “سیستم های عامل” به بررسی چند پردازشی متقارن و ریز سیستم ها می پردازیم.
به دلیل اینکه حجم مطالب در این خصوص زیاد است ،آن را در دو بخش قرار خواهیم داد. این جلسه اول بحث می باشد …

سیستم های عامل - چند پردازشی متقارن و ریز هسته

رویکردهای ترکیبی :

– ترکیبی از امکانات نخ سطح کاربر و نخ سطح هسته را فراهم می کند. مانند solaris
– ایجاد نخ به طور کامل در فضای کاربرد ،در داخل یک کاربرد صورت می گیرد.
– به تعداد (کمتر یا مساوی) از نخ های سطح هسته نگاشته می شود.
– نخ ها به موازات هم روی پردازنده های متعدّد اجرا می شوند.
– یک فراخوان مسدود کننده ،کل سیستم را مسدود نمی کند.

 

رابط بین نخ ها و فرآیندها :

رابط بین نخ ها و فرآیند ها

 

روش های پیاده سازی رابط چند به چند :
– تمام برنامه به صورت یک فرآیند واحد پیاده سازی شود. (از نظر مدیریت حافظه اشکالاتی دارد.)
– برنامه اصلی و زیر برنامه ورودی / خروجی ،به صورت دو فرآیند جداگانه پیاده سازی شوند. (مستلزم سر بار اضافی است.)
– برنامه اصلی و زیر برنامه ورودی / خروجی ،به عنوان یک فعّالیت و به صورت یک نخ پیاده سازی شود. ولی یک فضای آدرس و یکی برای زیربرنامه ورودی / خروجی ایجاد گردد. (بهترین روش است.)

 

معماری چند پردازشی متقارن :
FLYNN گروه های زیر را پیشنهاد کرده است :
جریان دستورالعمل واحد و داده های واحد : یک پردازنده دستورات واحدی را برای داده ها دریافت می کند.
جریان دستورالعمل چند گانه و داده های واحد : اجرای هم زمان تعدادی از دستورات پردازشی
جریان دستورالعمل چند گانه و داده های چند گانه : اجرای هم زمان چنددستور بر روی چند داده
جریان دستورالعمل واحد و داده های چند گانه : اجرای هم زمان چنددستور بر روی داده

 

سازمان چند پردازنده متقارن :
– هر یک واحد کنترل ،واحد حساب و منطق و ثبات های خاص خود را دارند.
– به یک حافظه اصلی مشترک دسترسی دارد.
– پردازنده ها از طریق حافظه با یکدیگر در ارتباط هستند.
– امکان تبادل مستقیم وجود دارد.
– هر پردازنده از طریق یک گذرگاه مشترک به یک حافظه اصلی متصل است.
– امکان دسترسی به بلوک ها مهیا است.
– تغییر در یک حافظه پنهان سبب تغییر در حافظه پنهان دیگر می شود. (وابستگی حافظه پنهان)
– با آن در سخت افزار برخورد می شود.

 

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

 

ریز هسته ها :
– ریز هسته ،سیستم عامل کوچکی است که بنیان لازم برای گسترش های مؤلّفه ای را به وجود می آورد.
– رویکرد ریز هسته با به کارگیری آن در سیستم عامل Mach ،مورد توجّه عمومی قرار گرفت.
– سیستم عامل windows NT ،نیز داردای ریز هسته است که مدعی قابلیّت حمل و مؤلفه ای بودن است.

 

معماری ریز هسته :
– در این سیستم های عامل یکپارچه ،هر رویه ای مجازاً می توانست هر رویه دیگری را فراخوانی کند.
– در سیستم عامل های لایه ای ،عمل ها به صورت سلسله مراتبی طراحی شده است و تنها سطوح مجاور با یکدیگر محاوره داشته باشند.
– فلسفه ریز هسته این است که تنها اعمال کاملاً اصلی سیستم عامل باید در هسته باشد.
– کاربردها روی ریز هسته ساخته شده اند.
– بخش هایی از سیستم عامل که درخارج ریز هسته قرار دارند ،به صورت فرآیند خدمتگذار پیاده سازی می شوند.
– بر مبنای برابری و از طریق ریز هسته با هم ارتباط برقرار می کنند.
– ریز هسته به عنوان یک مبادله کننده پیام عمل می کند.

 

مزایای ریز هسته :
– واسط یکنواخت (برای درخواست های فرآیند)
– قابلیت گسترش (مجاز دانستن افزایش خدمات)
– قابلیّت انعطاف (به قابلیت گسترش مربوط است.)
– قابلیّت حمل (تمام کد مربوط به ویژگی های خاص پردازنده در هسته وجود دارد.)
– قابلیّت اطمینان
– حمایت سیستم توزیعی (توسط سیستم عامل توزیعی)
– سیستم عامل شیءگرا

 

کارایی ریز هسته :
ریز هسته خیلی کوچک سبب شده که کاهش کارایی را حذف و انعطاف و قابلیّت اطمینان را بهتر کند.
به دلیل اینکه ریز هسته های مختلف ،طیفی از اعمال و اندازه را نشان می دهند ،نمی توان هیچ قاعده محکم و سریعی در مورد اعمالی که ریز هسته باید ارائه کند
و ساختار پیاده سازی آن اظهار داشت.

 

طرح ریز هسته :
ریز هسته مستقیماً به سخت افزار بستگی دارد و اعمال زیر را حمایت می کند :
1- مدیریت حافظه اولیه
2- ارتباط بین فرآیندها
3- ورودی / خروجی
4- مدیریت وقفه

 

در جلسه بعدی در مورد مدیریت ورودی و خروجی وقفه ها ،شیء نخ ها و مدیریت نخ ها و چند پردازشی متقارن در Solaris بحث خواهیم نمود …