فصل چهارم نخها، چندپردازشی متقارن و ریز هسته ها
فرآیندها و نخ ها:
فرآیند دو خصوصیت زیر را دارد:
- تملک منبع: ( فرآیند یا وظیفه )
به هر فرآیند یک آدرس مجازی برای نگهداری تصویر فرآیند می دهد.
- توزیع وقت فرآیند: ( نخ یا فرآیند سبک وزن )
فرآیند مسیر اجرای یک یا چند برنامه است و توسط سیستم عامل مورد زمان بندی و توزیع قرار می گیرد.
چند نخی:
به قابلیتی از سیستم که امکان اجرای چند نخ را حمایت می کند.
تک نخی: به رویکرد سنتی یک نخ اجرا در هر فرآیند .
مانند MS-DOS از فرآیند تک کاربره و از یک نخ حمایت می کند.
UNIX از چند کاربر ولی تنها از یک نخ حمایت می کند.
موتور زمان اجرا یjava نمونه سیستمی از یک فرآیند چند نخی است.
در سيستمهاي عامل هاي زیرازسيستم جند نخي استفاده شده است
Windows NT ; solaris ; Mach ; os/2
موارد همراه فرآیند:
فضای آدرس مجازی که تصویر فرآیند را در بر دارد.
دسترسی حفاظت شده به فرآیند.
حالت اجرای نخ.
متن ذخیره شده.
پشته اجرا.
مقداری حافظه ایستا برای متغییرهای محلی هر نخ.
دسترسی به منابع و حافظه فرآیند.
مقاسیه فرآیند تک نخی و چند نخی:
فرآیند چند نخی:
یک بلوک کنترل فرآیند،فضای آدرس فرآیند،برای هر نخ پسته جدا گانه و بلوک کنترل جدا گانه و ... وجود دارد.
تمام نخ های فرآیند ،در حالت و منابع آن فرآیند شریک هستند.
در یک فضای آدرس هستندوبه داده های یکسانی دسترسی دارند.
فرآیند تک نخی:
شامل بلوک کنترل ،فضای آدرس فرآیند،فضای آدرس فرآیند،پشته کاربر،هسته یرای مدیریت و ... است.
حالات نخ :
ایجاد (زایش):
با ایجاد یک فرآیند ،نخ هم ایجاد می شود.
مسدود شدن:
تا بروز حادثه نخ مسدود می شود.
رفع مسدود بودن:
اتفاق حادثه لازم.
پایان:
با تکمیل یک نخ ،متن ثبات و پشته هایش آزاد می شود.
همگام سازی نخ ها
تمام نخ ها یک فرآیند در فضای آدرس و در منابع دیگر شریک هستند به همین تغییر در هر یک از منابع توسط یک نخ در محیط سایرین تغییر ایجاد می کند لذا همگام سازی فرآیند ها ضروری است.
به دو دلیل از نخ جداگانه برای رسم مجدد صفحه نمایش استفاده می کنند:
1-page maker تعدادشیء هایی که در روی یک صفحه است را محدود نکند.
2-استفاده از نخ جداگانه،امکان قطع کردن رسم را در اختیار می گذارد.
نخهای سطح کاربر
کار مدیریت توسط کاربر انجام می شود.
هسته از وجود این نخ ها بی اطلاع است.
از کتابخانه ها برای مدیریت نخها استفا ده می کنند.
هر کاربردی با یک نخ شروع می شود و شروع اجرایش از همان نخ است.
هرگاه این نخ در حال اجرا باشد می توان نخ جدیدی را ایجاد کرد که به احضار کتابخانه منجر می شود.
الگوریتم زمانبندی آن ایجاد می شود تا آماده اجرا می شود.
نخهای سطح هسته
تمام کار مدیریت نخ توسط هسته انجام می شود.
کد مدیریت در ناحیه کاربرد وجود ندارد.
یک نخ واسط برنامه سازی کاربردی به نخ هسته وجود دارد.
امتیاز نخ سطح کاربر به سطح هسته:
تعویض نخ به حالت ممتاز نیاز ندارد.
کاربرد می تواند زمانبندی خاص داشته باشد
نخ های سطح کاربر می توانند روی هر سیستم عامل اجرا گردند.
اشکال نخ های سطح کاربر به سطح هسته:
اکثر فراخوانی های سیستم مسدود کننده هستند.
کاربرد چند نخی نمی تواند از امتیازات چند پردازشی استفاده کند.
رفع اشکال نخ های سطح کاربر به سطح هسته
نوشتن کاربردها به صورت فرآیندهای متعدد به جای نخ های متعدد که امتیاز اصلی نخ ها را از بین می برد.
راه حل غلبه بر نخ های مسدود کننده : استفاده از روشی به نام جلد کردن که هدف آن تبدیل فراخوانی سیستم از مسدود کننده به غیر مسدود کننده.
امتیاز نخ های سطح هسته:
(تمام کارمدیریت نخ توسط هسته انجام می شود.)
هسته می تواند به صورت هم زمان،نخ های چند گانه یک فرآند واحد را روی پردازنده های متعدد زمانبندی کند.
اگر نخی در یک فرآیند مسدود شد ،هسته می تواند نخ دیگری از آن فرآیند را بار گئاری کند.
<خود روالهای هسته نیز می تواند چند نخی باشد.
عیب اصلی نخ های سطح هسته:
انتقال کنترل از یک نخ به نخ دیگر در داخل یک فرآیند واحد نیز نیازمند تغییر به حالت هسته است.
رویکردهای ترکیبی:
ترکیبی از امکانات نخ سطح کاربر و نخ سطح هسته را فراهم می کند. مانند solaris .
ایجاد نخ به طور کامل در فضای کاربرد در داخل یک کاربرد صورت می گیرد.
به تعداد (کمتر یا مساوی) از نخ های سطح هسته نگاشته می شود.
نخ ها به موازات هم روی پردازنده های متعدد اجرا می شود.
یک فراخوان مسدود کننده کل سیستم را مسدود نمی کند.
رابط بین نخ ها و فرآیندها:
نخها:فرآیندها شرح مثال سیستم های عامل
یک به یک هر نخ اجرا یک فرآیند unix
چند به یک یک فرآیند یک فضای آدرس Windows NT
یک به چند یک نخ از یک محیط به دیگر رود )Ra(clouds
چند به چند ترکیب چند به یک ویک به چند TRIX
روش های پیاده سازی رابط چند به چند:
تمام برنامه به صورت یک فرآیند واحد پیاده سازی شود.
از نظر مدیریت حافظه اشکالاتی دارد.
برنامه اصلی و زیر برنامه ورودی /خروجی به صورت دو فرآیند جداگانه پیاده سازی شوند. مستلزم سر بار اضافی است.
برنامه اصلی و زیر برنامه ورودی / خروجی به عنوان یک فعالیت و به صورت یک نخ پیاده سازی شود. ولی یک فضای آدرس ویکی برای زیربرنامه ورودی/خروجی ایجاد گردد. (بهترین روش است.)
معماری چند پردازشی متقارن:
FLYNN گروههای زیر را پیشنهاد کرده است:
جریان دستورالعمل واحد و داده های واحد: یک پردازنده دستورات واحدی را برای داده ها دریافت می کند.
جریان دستورالعمل چند گانه و داده های واحد: اجرای هم زمان تعدادی از دستورات پردازشی.
جریان دستورالعمل چند گانه و داده های چند گانه: اجرای هم زمان چنددستور بر روی چند داده.
جریان دستورالعمل واحد و داده های چند گانه: اجرای هم زمان چنددستور بر روی داده.
سازمان چند پردازنده متقارن:
هر یک واحد کنترل ،واحد حساب و منطق و ثباتهای خاص خود را دارند.
به یک حافظه اصلی مشترک دسترسی دارد.
پردازنده ها از طریق حافظه با یکدیگر در ارتباط هستند.
امکان تبادل مستقیم وجود دارد.
هر پردازنده از طریق یک گذرگاه مشترک به یک حافظه اصلی متصل است.
امکان دسترسی به بلوک ها مهیا است.
تغییر در یک حافظه پنهان سبب تغییر در حافظه پنهان دیگر می شود.(وابستگی حافظه پنهان)
با آن در سخت افزار بر خورد می شود.
ملاحظات طراحی سیستم عامل چند پردازنده ای:
هم زمانی فرآیند ها یا نخ ها: توسط هر یک از پردازنده ها انجام شود .
زمانبندی: توسط هر یک از پردازنده ها انجام شود .
همگام سازی:: ابزاری است برای تنظیم انحصار متقابل و تنظیم حادثه ها.
مدیریت حافظه: باید سخت افزار مناسب را بهره جوید.
قابلیت اطمینان و تحمل خرابی: در برخورد با خرابی با ید اقدام کند.
ریز هسته ها:
ریز هسته سیستم عامل کوچکی است که بنیان لازم برای گسترشهای مولفه ای را به وجود می آورد.
رویکرد ریز هسته با به کارگیری آن در سیستم عامل Mach مورد توجه عمومی قرار گرفت.
سیستم عامل windows NT نیز داردای ریز هسته است که مدعی قابلیت حمل و مولفه ای بودن است.
معماری ریز هسته:
در این سیستم های عامل یکپارچه، مجازا هر رویه ای می توانست هر رویه دیگری را فراخوانی کنند.
در سیستم عامل های لایه ای،عمل ها به صورت سلسله مراتبی طراحی شده است و تنها سطوح مجاوربا یکدیگر محاوره داشته باشند.
فلسفه ریز هسته این است که تنها اعمال کاملا اصلی سیستم عامل باید در هسته باشد.
کاربردها روی ریز هسته ساخته شده.
بخشهایی از سیستم عامل که درخارج ریز هسته قرار دارند به صورت فرآیند خدمتگذار پیاده سازی می شوند.
بر مبنای برابری و از طریق ریز هسته با هم ارتباط برقرار می کنند.
ریز هسته به عنوان یک مبادله کننده پیام عمل می کند.
مزایای ریز هسته:
واسط یکنواخت. (برای درخواستهای فرآیند)
قابلیت گسترش. (مجاز دانستن افزایش خدمات)
قابلیت انعطاف. (به قابلیت گسترش مربوط است)
قابلیت حمل. (تمام کد مربوط به ویژگی های خاص پردازنده در هسته وجود دارد)
قابلیت اطمینان.
حمایت سیستم توزیعی: (توسط سیستم عامل توزیعی)
سیستم عامل شیء گرا.
کارایی ریز هسته:
ریز هسته خیلی کوچک سبب شده که کاهش کارایی را حذف و انعطاف و فابلیت اطمینان را بهتر کند.
به دلیل اینکه ریز هسته های مختلف طیفی از اعمال و اندازه را نشان می دهند، نمی توان هیچ قاعده محکم و سریعی در مورد اعمالی که ریز هسته باید ارائه کند و ساختار پیاده سازی آن اظهار داشت.
طرح ریز هسته:
ریز هسته مستقیما به سخت افزار بستگی دارد و اعمال زیر را حمایت می کند:
1- مدیریت حافظه اولیه.
2- ارتباط بین فرآیندها.
3- ورودی / خروجی.
4- مدیریت وقفه.
سه روش زیر برای حمایت مدیریت حافظه مجازی و صفحه بندی خارجی:
اهدا: هر فرآیند می تواند تعدادی از صفحات خود را به دیگری دهد.
نگاشت: یک فرآیند می تواند هر یک از صفحات خود را به فضای دیگری بنگارد.
مطالبه: هر صفحه که قبلا استفاده شده را مطالبه کند.
ارتباط داخلی فرآیند:
پیام شکل اصلی ارتباط بین فرایندها یا نخهاست.
1-سرآمد => فرآیندهای گیرنده –فرستنده
را مشخص می کند.
پیام=>
2-بدنه => اشاره گری به بلوک داده ها
یا بعضی اطلاعات کنترلی
مدیریت ورودی و خروجی و وقفه ها:
اداره وقفه های سخت افزاری به صورت پیام و درگاه های ورودی و خروجی در فضاهای آدرس میسر می شود.
ریز هسته وقفه را تشخیص می دهد ولی آنها را اداره نمی کند.
پیامی را برای فرآیند سطح کاربر مربوط به آن وقفه تولید می کند.
مدیریت نخ و چند پر دازشی متقارن درWindows NT
ویژگیهای فرآیندهای NT عبارتند از:
فرآیند NT به صورت شیءپیاده سازی شده اند.
هر فرآیند قابل اجرا،می تواند حاوی یک نخ یا بیشتر یاشد.
هم شیء های فرآیند و هم شیء های نخ ،دارای راهکارهای پیش ساخته همگام سازی هستند.
به هر فرآیند مجموعه بلوک های حافظه مربوط است.
به هر فرآیند یک نشانه امنیتی دست یابی نسبت داده می شود.
فرآیند شامل یک جدول شیء هم هست که دستگیره های به دیگرشیءهای شناخته شده این فرایند دارد. برای هر یک از نخهای که در این شیء هست یک دستگیره وجود دارد.
اگر فرآیندی برای باز کردن چنین دستگیرهای تلاش کند، سیستم امنیتی مجاز بودن آن ودر نتیجه امکان تغییر خصوصیا تش را تعیین می کند.
فرآیند نمی تواند مستقیما ساختار ها را تغییر دهد.
فرایند شامل یک جدول شیء است .
خصوصیات شیء فرایند
توصیف چه کسی به این فرآیند....
مجموعه پردازنده های پیش فرض
متغییر و... ثبت شده توسط فرآیند
تعداد و نوع عملیات انجام شده
کانالهای ارتباطی بین فرایندها
دلیل پایان یافتن یک فرآیند
وابستگی فرآیند به پردازنده
شمارنده عملیات حافظه مجازی
درگاههای استثنا/اشکالزدایی
خصوصیت شیء نخ :
شناسه نخ: مقدار یکتای نخ.
متن نخ:مجموع مقادیر نخ و....
اولویت پویا:اولویت اجرای نخ در هر لحظه.
اولویت پایه:کمترین اولویت نخ.
وابستگی نخ به پردازنده:پردازتده هایی که می توان در روی نخ انجام شود.
زمان اجرای نخ: زمان اجرای آن در هسته و در حالت کاربرد.
وضعیت هشدار: فراخوانی رویه نا همگام .
شماره تعلیق : تعداد دفعات تعلیق اجرای نخ.
نشانه جعل هویت: دستیابی موقت .
درگاه پایان: یک کانال ارتباطی بین فرآیندها.
وضعیت خروجی نخ: دلیل پایان یافتن نخ.
حالت های نخ:
آماده: برای اجرا زمانبندی گردیده.
جانشین: برای هر پردازنده خاص ،یک نخ جانشین
اجرا: با تعویض به مرحله اجرا می رود.
انتظار: یک نخ موقعی به حالت اجرا می رود که:
1- روی حادثه مسدود کردد.
2- به منظور همگام سازی ،داوطلبانه منتظر شود.
3- توسط یک زیر سیستم محیط وادار به تعلیق گردد.
انتقال: منابع فراهم نیست.
پایان: توسط خودش یا پدر.
مدیریت نخ و جند پردازشی متقارن در Solaris
فرآیند: همان فرآیند معمولی
نخ های سطح کاربر: به وسیله کتابخانه ای ار نخها در فضای آدرس یک فرآیند پیاده سازی می شوند.
فرآیند سبک وزن: نگاشتی بین نخ های سطح کاربر و نخ های هسته در نظر گرفت.
نخ های هسته: موجودیتهای بنیادی.
اجرای نخ:
همگام سازی: جهت هما هنگ کردن فعالیت.
تعلیق : معلق شدن و منتظر درخواست.
قبضه : عملی که موجب به اجرا در آمدن فعالیت اولویت دار شود.
واگذاری.
راه حل solaris برای اداره وقفه
برای اداره وقفه ها solaris مجموعه ای نخ های هسته را به کارگرفته است.
با استفاده از اولیه های انحصار متقابل ،هسته دسترسی به ساختمان داده ها را کنترل می کند.
اولویت وقفه ها ،از اولویت دیگر نخ های هسته بیشتر است.فصل چهارم
نخها، چندپردازشی متقارن و ریز هسته ها
فرآیندها و نخ ها:
فرآیند دو خصوصیت زیر را دارد:
- تملک منبع: ( فرآیند یا وظیفه )
به هر فرآیند یک آدرس مجازی برای نگهداری تصویر فرآیند می دهد.
- توزیع وقت فرآیند: ( نخ یا فرآیند سبک وزن )
فرآیند مسیر اجرای یک یا چند برنامه است و توسط سیستم عامل مورد زمان بندی و توزیع قرار می گیرد.
چند نخی:
به قابلیتی از سیستم که امکان اجرای چند نخ را حمایت می کند.
تک نخی: به رویکرد سنتی یک نخ اجرا در هر فرآیند .
مانند MS-DOS از فرآیند تک کاربره و از یک نخ حمایت می کند.
UNIX از چند کاربر ولی تنها از یک نخ حمایت می کند.
موتور زمان اجرا یjava نمونه سیستمی از یک فرآیند چند نخی است.
در سيستمهاي عامل هاي زیرازسيستم جند نخي استفاده شده است
Windows NT ; solaris ; Mach ; os/2
موارد همراه فرآیند:
فضای آدرس مجازی که تصویر فرآیند را در بر دارد.
دسترسی حفاظت شده به فرآیند.
حالت اجرای نخ.
متن ذخیره شده.
پشته اجرا.
مقداری حافظه ایستا برای متغییرهای محلی هر نخ.
دسترسی به منابع و حافظه فرآیند.
مقاسیه فرآیند تک نخی و چند نخی:
فرآیند چند نخی:
یک بلوک کنترل فرآیند،فضای آدرس فرآیند،برای هر نخ پسته جدا گانه و بلوک کنترل جدا گانه و ... وجود دارد.
تمام نخ های فرآیند ،در حالت و منابع آن فرآیند شریک هستند.
در یک فضای آدرس هستندوبه داده های یکسانی دسترسی دارند.
فرآیند تک نخی:
شامل بلوک کنترل ،فضای آدرس فرآیند،فضای آدرس فرآیند،پشته کاربر،هسته یرای مدیریت و ... است.
حالات نخ :
ایجاد (زایش):
با ایجاد یک فرآیند ،نخ هم ایجاد می شود.
مسدود شدن:
تا بروز حادثه نخ مسدود می شود.
رفع مسدود بودن:
اتفاق حادثه لازم.
پایان:
با تکمیل یک نخ ،متن ثبات و پشته هایش آزاد می شود.
همگام سازی نخ ها
تمام نخ ها یک فرآیند در فضای آدرس و در منابع دیگر شریک هستند به همین تغییر در هر یک از منابع توسط یک نخ در محیط سایرین تغییر ایجاد می کند لذا همگام سازی فرآیند ها ضروری است.
به دو دلیل از نخ جداگانه برای رسم مجدد صفحه نمایش استفاده می کنند:
1-page maker تعدادشیء هایی که در روی یک صفحه است را محدود نکند.
2-استفاده از نخ جداگانه،امکان قطع کردن رسم را در اختیار می گذارد.
نخهای سطح کاربر
کار مدیریت توسط کاربر انجام می شود.
هسته از وجود این نخ ها بی اطلاع است.
از کتابخانه ها برای مدیریت نخها استفا ده می کنند.
هر کاربردی با یک نخ شروع می شود و شروع اجرایش از همان نخ است.
هرگاه این نخ در حال اجرا باشد می توان نخ جدیدی را ایجاد کرد که به احضار کتابخانه منجر می شود.
الگوریتم زمانبندی آن ایجاد می شود تا آماده اجرا می شود.
نخهای سطح هسته
تمام کار مدیریت نخ توسط هسته انجام می شود.
کد مدیریت در ناحیه کاربرد وجود ندارد.
یک نخ واسط برنامه سازی کاربردی به نخ هسته وجود دارد.
امتیاز نخ سطح کاربر به سطح هسته:
تعویض نخ به حالت ممتاز نیاز ندارد.
کاربرد می تواند زمانبندی خاص داشته باشد
نخ های سطح کاربر می توانند روی هر سیستم عامل اجرا گردند.
اشکال نخ های سطح کاربر به سطح هسته:
اکثر فراخوانی های سیستم مسدود کننده هستند.
کاربرد چند نخی نمی تواند از امتیازات چند پردازشی استفاده کند.
رفع اشکال نخ های سطح کاربر به سطح هسته
نوشتن کاربردها به صورت فرآیندهای متعدد به جای نخ های متعدد که امتیاز اصلی نخ ها را از بین می برد.
راه حل غلبه بر نخ های مسدود کننده : استفاده از روشی به نام جلد کردن که هدف آن تبدیل فراخوانی سیستم از مسدود کننده به غیر مسدود کننده.
امتیاز نخ های سطح هسته:
(تمام کارمدیریت نخ توسط هسته انجام می شود.)
هسته می تواند به صورت هم زمان،نخ های چند گانه یک فرآند واحد را روی پردازنده های متعدد زمانبندی کند.
اگر نخی در یک فرآیند مسدود شد ،هسته می تواند نخ دیگری از آن فرآیند را بار گئاری کند.
<خود روالهای هسته نیز می تواند چند نخی باشد.
عیب اصلی نخ های سطح هسته:
انتقال کنترل از یک نخ به نخ دیگر در داخل یک فرآیند واحد نیز نیازمند تغییر به حالت هسته است.
رویکردهای ترکیبی:
ترکیبی از امکانات نخ سطح کاربر و نخ سطح هسته را فراهم می کند. مانند solaris .
ایجاد نخ به طور کامل در فضای کاربرد در داخل یک کاربرد صورت می گیرد.
به تعداد (کمتر یا مساوی) از نخ های سطح هسته نگاشته می شود.
نخ ها به موازات هم روی پردازنده های متعدد اجرا می شود.
یک فراخوان مسدود کننده کل سیستم را مسدود نمی کند.
رابط بین نخ ها و فرآیندها:
نخها:فرآیندها شرح مثال سیستم های عامل
یک به یک هر نخ اجرا یک فرآیند unix
چند به یک یک فرآیند یک فضای آدرس Windows NT
یک به چند یک نخ از یک محیط به دیگر رود )Ra(clouds
چند به چند ترکیب چند به یک ویک به چند TRIX
روش های پیاده سازی رابط چند به چند:
تمام برنامه به صورت یک فرآیند واحد پیاده سازی شود.
از نظر مدیریت حافظه اشکالاتی دارد.
برنامه اصلی و زیر برنامه ورودی /خروجی به صورت دو فرآیند جداگانه پیاده سازی شوند. مستلزم سر بار اضافی است.
برنامه اصلی و زیر برنامه ورودی / خروجی به عنوان یک فعالیت و به صورت یک نخ پیاده سازی شود. ولی یک فضای آدرس ویکی برای زیربرنامه ورودی/خروجی ایجاد گردد. (بهترین روش است.)
معماری چند پردازشی متقارن:
FLYNN گروههای زیر را پیشنهاد کرده است:
جریان دستورالعمل واحد و داده های واحد: یک پردازنده دستورات واحدی را برای داده ها دریافت می کند.
جریان دستورالعمل چند گانه و داده های واحد: اجرای هم زمان تعدادی از دستورات پردازشی.
جریان دستورالعمل چند گانه و داده های چند گانه: اجرای هم زمان چنددستور بر روی چند داده.
جریان دستورالعمل واحد و داده های چند گانه: اجرای هم زمان چنددستور بر روی داده.
سازمان چند پردازنده متقارن:
هر یک واحد کنترل ،واحد حساب و منطق و ثباتهای خاص خود را دارند.
به یک حافظه اصلی مشترک دسترسی دارد.
پردازنده ها از طریق حافظه با یکدیگر در ارتباط هستند.
امکان تبادل مستقیم وجود دارد.
هر پردازنده از طریق یک گذرگاه مشترک به یک حافظه اصلی متصل است.
امکان دسترسی به بلوک ها مهیا است.
تغییر در یک حافظه پنهان سبب تغییر در حافظه پنهان دیگر می شود.(وابستگی حافظه پنهان)
با آن در سخت افزار بر خورد می شود.
ملاحظات طراحی سیستم عامل چند پردازنده ای:
هم زمانی فرآیند ها یا نخ ها: توسط هر یک از پردازنده ها انجام شود .
زمانبندی: توسط هر یک از پردازنده ها انجام شود .
همگام سازی:: ابزاری است برای تنظیم انحصار متقابل و تنظیم حادثه ها.
مدیریت حافظه: باید سخت افزار مناسب را بهره جوید.
قابلیت اطمینان و تحمل خرابی: در برخورد با خرابی با ید اقدام کند.
ریز هسته ها:
ریز هسته سیستم عامل کوچکی است که بنیان لازم برای گسترشهای مولفه ای را به وجود می آورد.
رویکرد ریز هسته با به کارگیری آن در سیستم عامل Mach مورد توجه عمومی قرار گرفت.
سیستم عامل windows NT نیز داردای ریز هسته است که مدعی قابلیت حمل و مولفه ای بودن است.
معماری ریز هسته:
در این سیستم های عامل یکپارچه، مجازا هر رویه ای می توانست هر رویه دیگری را فراخوانی کنند.
در سیستم عامل های لایه ای،عمل ها به صورت سلسله مراتبی طراحی شده است و تنها سطوح مجاوربا یکدیگر محاوره داشته باشند.
فلسفه ریز هسته این است که تنها اعمال کاملا اصلی سیستم عامل باید در هسته باشد.
کاربردها روی ریز هسته ساخته شده.
بخشهایی از سیستم عامل که درخارج ریز هسته قرار دارند به صورت فرآیند خدمتگذار پیاده سازی می شوند.
بر مبنای برابری و از طریق ریز هسته با هم ارتباط برقرار می کنند.
ریز هسته به عنوان یک مبادله کننده پیام عمل می کند.
مزایای ریز هسته:
واسط یکنواخت. (برای درخواستهای فرآیند)
قابلیت گسترش. (مجاز دانستن افزایش خدمات)
قابلیت انعطاف. (به قابلیت گسترش مربوط است)
قابلیت حمل. (تمام کد مربوط به ویژگی های خاص پردازنده در هسته وجود دارد)
قابلیت اطمینان.
حمایت سیستم توزیعی: (توسط سیستم عامل توزیعی)
سیستم عامل شیء گرا.
کارایی ریز هسته:
ریز هسته خیلی کوچک سبب شده که کاهش کارایی را حذف و انعطاف و فابلیت اطمینان را بهتر کند.
به دلیل اینکه ریز هسته های مختلف طیفی از اعمال و اندازه را نشان می دهند، نمی توان هیچ قاعده محکم و سریعی در مورد اعمالی که ریز هسته باید ارائه کند و ساختار پیاده سازی آن اظهار داشت.
طرح ریز هسته:
ریز هسته مستقیما به سخت افزار بستگی دارد و اعمال زیر را حمایت می کند:
1- مدیریت حافظه اولیه.
2- ارتباط بین فرآیندها.
3- ورودی / خروجی.
4- مدیریت وقفه.
سه روش زیر برای حمایت مدیریت حافظه مجازی و صفحه بندی خارجی:
اهدا: هر فرآیند می تواند تعدادی از صفحات خود را به دیگری دهد.
نگاشت: یک فرآیند می تواند هر یک از صفحات خود را به فضای دیگری بنگارد.
مطالبه: هر صفحه که قبلا استفاده شده را مطالبه کند.
ارتباط داخلی فرآیند:
پیام شکل اصلی ارتباط بین فرایندها یا نخهاست.
1-سرآمد => فرآیندهای گیرنده –فرستنده
را مشخص می کند.
پیام=>
2-بدنه => اشاره گری به بلوک داده ها
یا بعضی اطلاعات کنترلی
مدیریت ورودی و خروجی و وقفه ها:
اداره وقفه های سخت افزاری به صورت پیام و درگاه های ورودی و خروجی در فضاهای آدرس میسر می شود.
ریز هسته وقفه را تشخیص می دهد ولی آنها را اداره نمی کند.
پیامی را برای فرآیند سطح کاربر مربوط به آن وقفه تولید می کند.
مدیریت نخ و چند پر دازشی متقارن درWindows NT
ویژگیهای فرآیندهای NT عبارتند از:
فرآیند NT به صورت شیءپیاده سازی شده اند.
هر فرآیند قابل اجرا،می تواند حاوی یک نخ یا بیشتر یاشد.
هم شیء های فرآیند و هم شیء های نخ ،دارای راهکارهای پیش ساخته همگام سازی هستند.
به هر فرآیند مجموعه بلوک های حافظه مربوط است.
به هر فرآیند یک نشانه امنیتی دست یابی نسبت داده می شود.
فرآیند شامل یک جدول شیء هم هست که دستگیره های به دیگرشیءهای شناخته شده این فرایند دارد. برای هر یک از نخهای که در این شیء هست یک دستگیره وجود دارد.
اگر فرآیندی برای باز کردن چنین دستگیرهای تلاش کند، سیستم امنیتی مجاز بودن آن ودر نتیجه امکان تغییر خصوصیا تش را تعیین می کند.
فرآیند نمی تواند مستقیما ساختار ها را تغییر دهد.
فرایند شامل یک جدول شیء است .
خصوصیات شیء فرایند
توصیف چه کسی به این فرآیند....
مجموعه پردازنده های پیش فرض
متغییر و... ثبت شده توسط فرآیند
تعداد و نوع عملیات انجام شده
کانالهای ارتباطی بین فرایندها
دلیل پایان یافتن یک فرآیند
وابستگی فرآیند به پردازنده
شمارنده عملیات حافظه مجازی
درگاههای استثنا/اشکالزدایی
خصوصیت شیء نخ :
شناسه نخ: مقدار یکتای نخ.
متن نخ:مجموع مقادیر نخ و....
اولویت پویا:اولویت اجرای نخ در هر لحظه.
اولویت پایه:کمترین اولویت نخ.
وابستگی نخ به پردازنده:پردازتده هایی که می توان در روی نخ انجام شود.
زمان اجرای نخ: زمان اجرای آن در هسته و در حالت کاربرد.
وضعیت هشدار: فراخوانی رویه نا همگام .
شماره تعلیق : تعداد دفعات تعلیق اجرای نخ.
نشانه جعل هویت: دستیابی موقت .
درگاه پایان: یک کانال ارتباطی بین فرآیندها.
وضعیت خروجی نخ: دلیل پایان یافتن نخ.
حالت های نخ:
آماده: برای اجرا زمانبندی گردیده.
جانشین: برای هر پردازنده خاص ،یک نخ جانشین
اجرا: با تعویض به مرحله اجرا می رود.
انتظار: یک نخ موقعی به حالت اجرا می رود که:
1- روی حادثه مسدود کردد.
2- به منظور همگام سازی ،داوطلبانه منتظر شود.
3- توسط یک زیر سیستم محیط وادار به تعلیق گردد.
انتقال: منابع فراهم نیست.
پایان: توسط خودش یا پدر.
مدیریت نخ و جند پردازشی متقارن در Solaris
فرآیند: همان فرآیند معمولی
نخ های سطح کاربر: به وسیله کتابخانه ای ار نخها در فضای آدرس یک فرآیند پیاده سازی می شوند.
فرآیند سبک وزن: نگاشتی بین نخ های سطح کاربر و نخ های هسته در نظر گرفت.
نخ های هسته: موجودیتهای بنیادی.
اجرای نخ:
همگام سازی: جهت هما هنگ کردن فعالیت.
تعلیق : معلق شدن و منتظر درخواست.
قبضه : عملی که موجب به اجرا در آمدن فعالیت اولویت دار شود.
واگذاری.
راه حل solaris برای اداره وقفه
برای اداره وقفه ها solaris مجموعه ای نخ های هسته را به کارگرفته است.
با استفاده از اولیه های انحصار متقابل ،هسته دسترسی به ساختمان داده ها را کنترل می کند.
اولویت وقفه ها ،از اولویت دیگر نخ های هسته بیشتر است.
علاقه مندی ها (Bookmarks)