X
تبلیغات
مقالات و جزوه های درسی رشته کامپیوتر - سیستم های عامل

فصل هفتم

مدیریت حافظه

 

نیازهای مدیریت حافظه:

دارای پنج نیاز زیر است:

 

- جابجایی: برای این منظور سیستم باید از محل فرآیند ها آگاهی داشته باشند و آدرس آنها را ذخیره کنند.

 

- حفاظت: باید در مقابل تداخل های ناخواسته حفاظت شود خواه تصادفی باسد یا عمدی .

 

- اشتراک: باید با داشتن حفاظت به گونه باشد تا دیگرا نیز به توانند به آن دستیابی داشته باشند .

 ....


ادامه مطلب
+ نوشته شده در جمعه بیست و ششم مهر 1387ساعت 15:21 توسط میلاد |

فصل ششم

همزمانی: بن بست و گرسنگی

اصول بن بست:

- بن بست را به صورت مسدود بودن دائمی مجموعه ای از فرآیند ها که برای منابع سیستم رقابت می کنند یا با یکدیگر در ارتباط هستند .

 

- راه حل کارامدی برای بن بست وجود ندارد.

 

- تمام بن بستهابی نیاز های متضاد دو فرآیند یا بیشتر ،برای منابع هم راه هستند.

 

انواع منابع:


....


ادامه مطلب
+ نوشته شده در جمعه بیست و هشتم تیر 1387ساعت 0:54 توسط میلاد |

فصل پنجم

همزمانی:

انحصار متقابل و همگام سازی

همه موضات محوری در طراحی سیستم عامل به مدیریت فرایند ها و نخ ها مربوط است.

 

چند برنامه ای : مدیریت فرایند فرایندهای متعدد در داخل یک کامپیوتر تک پردازنده ای.

چند پردازشی: مدیریت فرایند فرایندهای متعدد در داخل یک کامپیوتر چند پردازنده ای.

پردازش توزیعی: مدیریت فرایند فرایندهای متعدد در روی سیستم های کامپیوتری متعدد.

برای هر سه زمینه فوق مسئله هم زمانی است.

همزمانی در سه زمینه متفاوت طراحی می گردد:

 ....


ادامه مطلب
+ نوشته شده در چهارشنبه نوزدهم تیر 1387ساعت 18:40 توسط میلاد |

فصل چهارم

نخها، چندپردازشی متقارن و ریز هسته ها

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

فرآیند دو خصوصیت زیر را دارد:

 

- تملک منبع: ( فرآیند یا وظیفه )

به هر فرآیند یک آدرس مجازی برای نگهداری تصویر فرآیند می دهد.

 

- توزیع وقت فرآیند: ( نخ یا فرآیند سبک وزن )

فرآیند مسیر اجرای یک یا چند برنامه است و توسط سیستم عامل مورد زمان بندی و توزیع قرار می گیرد.

 

چند نخی:

به قابلیتی از سیستم که امکان اجرای چند نخ را حمایت می کند.

 

تک نخی: به رویکرد سنتی یک نخ اجرا در هر فرآیند .

 

مانند 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 به صورت شیءپیاده سازی شده اند.

 

هر فرآیند قابل اجرا،می تواند حاوی یک نخ یا بیشتر یاشد.

 

هم شیء های فرآیند و هم شیء های نخ ،دارای راهکارهای پیش ساخته همگام سازی هستند.

به هر فرآیند مجموعه بلوک های حافظه مربوط است.

 

به هر فرآیند یک نشانه امنیتی دست یابی نسبت داده می شود.

 

فرآیند شامل یک جدول شیء هم هست که دستگیره های به دیگرشیءهای شناخته شده این فرایند دارد. برای هر یک از نخهای که در این شیء هست یک دستگیره وجود دارد.

اگر فرآیندی برای باز کردن چنین دستگیرهای تلاش کند، سیستم امنیتی مجاز بودن آن ودر نتیجه امکان تغییر خصوصیا تش را تعیین می کند.

 

فرآیند نمی تواند مستقیما ساختار ها را تغییر دهد.

 

فرایند شامل یک جدول شیء است .

 

خصوصیات شیء فرایند

مقدار یکتای فرآیند

توصیف چه کسی به این فرآیند....

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

مجموعه پردازنده های پیش فرض

حداکثر منابع

مجموع زمان اجرا نخ

متغییر و... ثبت شده توسط فرآیند

تعداد و نوع عملیات انجام شده

کانالهای ارتباطی بین فرایندها

دلیل پایان یافتن یک فرآیند

شناسه فرآیند

توصیف امنیت

اولویت پایه

وابستگی فرآیند به پردازنده

حداکثر سهم

زمان اجرا

شمارنده های I/O

شمارنده عملیات حافظه مجازی

درگاههای استثنا/اشکالزدایی

وضعیت خروج

 

خصوصیت شیء نخ :

شناسه نخ: مقدار یکتای نخ.

متن نخ: مجموع مقادیر نخ و....

اولویت پویا: اولویت اجرای نخ در هر لحظه.

اولویت پایه: کمترین اولویت نخ.

وابستگی نخ به پردازنده: پردازتده هایی که می توان در روی نخ انجام شود.

زمان اجرای نخ:  زمان اجرای آن در هسته و در حالت کاربرد.

وضعیت هشدار:  فراخوانی رویه نا همگام .

شماره تعلیق :  تعداد دفعات تعلیق اجرای نخ.

نشانه جعل هویت:  دستیابی موقت .

درگاه پایان: یک کانال ارتباطی بین فرآیندها.

وضعیت خروجی نخ: دلیل پایان یافتن نخ.

 

حالت های نخ:

آماده: برای اجرا زمانبندی گردیده.

جانشین: برای هر پردازنده خاص ،یک نخ جانشین

اجرا: با تعویض به مرحله اجرا می رود.

انتظار: یک نخ موقعی به حالت اجرا می رود که:

  1- روی حادثه مسدود کردد.

  2- به منظور همگام سازی ،داوطلبانه منتظر شود.

  3- توسط یک زیر سیستم محیط وادار به تعلیق گردد.

 

انتقال: منابع فراهم نیست.

 

پایان: توسط خودش یا پدر.

مدیریت نخ و جند پردازشی متقارن در Solaris

فرآیند: همان فرآیند معمولی

 

نخ های سطح کاربر: به وسیله کتابخانه ای ار نخها در فضای آدرس یک فرآیند پیاده سازی می شوند.

 

فرآیند سبک وزن: نگاشتی بین نخ های سطح کاربر و نخ های هسته در نظر گرفت.

 

نخ های هسته: موجودیتهای بنیادی.

اجرای نخ:

همگام سازی: جهت هما هنگ کردن فعالیت.

تعلیق : معلق شدن و منتظر درخواست.

قبضه : عملی که موجب به اجرا در آمدن فعالیت اولویت دار شود.

واگذاری.

راه حل solaris برای اداره وقفه

برای اداره وقفه ها solaris مجموعه ای نخ های هسته را به کارگرفته است.

 

با استفاده از اولیه های انحصار متقابل ،هسته دسترسی به ساختمان داده ها را کنترل می کند.

 

اولویت وقفه ها ،از اولویت دیگر نخ های هسته بیشتر است.

 

 

+ نوشته شده در جمعه سی و یکم خرداد 1387ساعت 13:44 توسط میلاد |

فصل سوم

شرح و کنترل فرآیند

- تمام نیازمندی های اصلی که سیستم عامل باید پاسخگو باشد به وسیله فرایند قابل یبان است.

 

سیستم عامل باید در بین اجرای فرآیند قرار گیرد.

 

سیستم عامل باید با بهره گیری از یک سیاست خاص منابع در اختیار سیستم قرارداده واز وقوع بن بست جلوگیری کند.

 

سیستم عامل بلید از ارتباط بین فرایند هاو ایجاد فذایندها توسط کاربر حمایت کند.

حالات فرآیند:

- اساسی ترین عمل پردازنده اجرای دستورالعمل های موجود در حافظه است.

 

- اجرا شامل دنباله ای از دستورالعمل های همان برنامه است.

به اجرای یک فرایند خاص فرایند یا وظیفه گویند.

 

- رفتار یک فرآیند به خصوص را می توان با فهرست کردن دنباله دستورالعمل ها یی که برای آن فرآیند اجرا می شود مشخص نمود که به آن رد آن فرآیند گویند.

- مسئولیت اصلی سیستم عامل کنترل یک فرآیند است.

 

- یک فرآیند ممکن است در یکی از دو حالت اجرا وغیر اجرا باشد.

 

- وقتی یک سیستم عامل فرآیندی را دریافت می کند آن را در حالت غیر اجرا قرار می دهد.

 

- پس از رسیدن نوبت فرآیند فعلی را به حالت غیر اجرا برده و فرآیند را به حالت اجرا برده.

 

- در مورد هر فرآیندی باید اطلاعاتی را ذخیره کرد.

- فرآیندی که در حال اجرا نیست باید در صفی به انتظار نوبت قرار گیرد.

- گاهی صفی است که حاوی جداولی است که وضعیت فرآیند ها را نمایش می دهد.

- وقتی یک فرآیند در معرض وقفه قرار می گیرد به صف انتظار می رود.

- اگر یک فرآیند کارش تمام شود کنار گذاشته می شود.

 

 

نمو دار تغییر حالت:

Image and video hosting by TinyPic

 

نمودار صف بندی:

Image and video hosting by TinyPic

 

ایجاد و پایان فرآیند:

عمر یک فرآیند محدود به زمان ایجاد تا زمان خاتمه دادن به آن است.

 

در هنگام ایجاد سیستم عامل ساختمان داده مربوط به آن فرآیند را ساخته و فضای آدرس مربوط به آن را تخصیص می دهد.

 

معمولا چهار حادثه موجب به ایجاد فرآیند می گردد:

1-در محیط دسته ای: یک فرآیند جدید در پاسخ به یک کار

 

2-برقراری ارتباط محاورهای: کار از طریق پایانه با سیستم ارتباط برقرار کند

 

3-ارائه یک خدمت به وسیله سیستم عامل: فرآیندی را برای خدمت ایجاد کند

 

4-زایش توسط فرآیند موجود: برای بهره گیری از توازی یا تفکیک.

 

پایان فرآیند:

هر کار دسته ای باید حاوی دستورالعمل توقف یا فراخوانی صریح یک خدمت سیستمی برای پایان باشد.

 

در بعضی از سیستم عامل ها ممکن است فرآیندی به وسیله فرآیند ایجاد کننده اش و با پایان فرآیند پدرش نیز پایان یابد.

زایش فرزند:

فرآیندی با درخواست فرآیند دیگر به وجود می آید

 

فرزند:

فرایند زاینده را پدر و فرایند ایجاد شده را فرزند گویند

 

انواع خطا:

خطای محاسباتی: محاسبات غیر مجاز

 

گذشت زمان: بیش از حد برای بروز حادثه منتظر مانده

 

خطای ورودی و خروجی

 و...

پنج حالت ممکن برای فرآیند:

اجرا : فرآیندی هم اکنون در حالت اجرا است.

 

آماده : با گرفتن فرصت به اجرا درمی آیند.

 

مسدود: با تمام شدن وقت و یا بروز حادثه اتفاق می افتد.

 

جدید: فرآیندی که هم اکنون ایجاد شده.

 

خروج: به علت دستور توقف یا به دلیلی قطع شده.

 

مدل پنج حالته برای فرایند:

Image and video hosting by TinyPic

 

انواع حوادثی که منجر به تغییر حالت شده:

تهی آماده: فرایند جدیدی را برای اجرای یک برنامه ایجاد می کند.

جدید آماده: آمادگی برای گرفتن یک برنامه.

<آماده اجرا: زمان انتخاب یک فرآیند رسیده.

اجرا خروج: فرآیند جاری اعلام می کند که تمام شده. اجرا  آماده: اتمام زمان مجاز برای یک فرآیند .

 (متداولترین)

اجرا مسدود:درخواست یکمنبع با انتظار.

 

مسدود آماده:حادثه مورد نظر اتفاق افتاده.

 

آماده  خروج:با تصمیم پدر.

 

مسدود خروج:توضیح تغییر حاتت قبل در اینجا نیز صادق است.

 

در اکثر اوقات پردازنده بی کار می ماند برای این کار راه حل های زیر پیشنهاد می شود:

 

1- حافظه اصلی را گسترش داد:  كه دو عیب دارد:

  1-با افرایش هزینه همراه است.

  2-درخواست برای حافظه زیاد شده.

 

2- مبادله: انتقال بخشی از یک فرآیند به دیسک.

 

هنگامی که هیچ یک از فرآیند ها در صف آماده نيستند منع لازم را دریافت نکرده به حالت معلق می روند. و فرآیند ديكري ازحالت معلق به حات آماده برده و اجرا می شود.

 

عیب:

مبادله یک ورودی وخروجی است.

 

امتیاز:

ورودی و خروجی عموما سریعتر از سیستمی است و باعث افزایش کارایی می شود.

 

 

فرآیند معلق:

فورا آماده اجرا نیست.

 

یک فرآیند ممکن است منتظر یک حادثه باشد یا نباشد.

 

توسط عاملی در حالت معلق گذاشته شده تا از اجرای آن جلوگیری کند.

 

منتظر فرمان باشد.

 

 

دلایل تعلیق فرآیند:

مبادله: سیستم عامل نیاز به حافظه کافی دارد.

 

دلایل دیگر سیستم عامل: فرآیندی را که سودمند یا لازم و... است را معلق کند.

 

درخواست کاربر محاورهای: کاربر به منظور استفاده از منبع برنامه را معلق کند.

 

ترتیب زمانی: فرآیند به طور دوره ای اجرا شود.

 

درخواست فرآیند پدر: فرآیند فرزند زا به تعلیق بیندازد.

ساختارهای کنترلی سیستم عامل:

برای کنترل فرآیندها باید اطلاعات مربوط به فرآیند در جدولی ذخیره شود.تمام سیستم عامل ها اطلاعات در جهار گروه ذخیره می کنند.

 

از جداول حافظه برای دنبال کردن اطلاعات حافظه اصلی و ثانویه استفاده می کنند ، قسمتی برای سیستم عامل و یقیه برای فرآیند

جداول حافظه بايد حاوی اطلاعات زیر باشد:

 

1-تخصیص حافظه اصلی به فرآیند.

 

2- تخصیص حافظه ثانویه به فرآیند.

 

3-ویژگی های حفاظتی فرآیند.

 

4-اطلاعات مورد نیاز برای مدیریت حافظه مجازی.

 

انواع جداول:

جداول ورودی / خروجی: برای نگهداری و مدیریت دستگاه های ورودی وخروجی و... استفاده می شود.

 

جداول پرونده: اطلاعات مربوط به پرونده های موجود،محل آنها در حافظه ثانویه ،وضعیت جاری و...نگهداری کنند.

 

جداول فرآیند: مدیریت فرآیندها استفاده می شود.

ساختار کنترلی فرآیند:

هر فرآیند دارای یک صفات است که معمولا همراه آن به سیستم عامل می آید که به مجموعه این صفات بلوک کنترل فرآیند می گویند.

 

به مجموعه داده برنامه،داده ها ،پشته وصفت ،تصویر فرآیند می گویندو محل آن به مدیر حافظه بستگی داردو در حافظه ثانویه نگهداری می شود و برای اجرا باید به حافظه اصلی به رود.

 

اجزای متداول تصویر یک فرآیند:

داده های کاربر: بخش قابل تغییر فضای کاربر.

 

برنامه کاربر: برنامه ای که قرار است اجرا شود.

 

پشته سیستم: برای ذخیره پارامترها و آدرس و...

 

بلوک کنترل فرآیند: اطلاعات لازم برای کنترل فرآیند.

 

اطلاعات مربوط به یک بلوک فرآیند حاوی:

1- شناسایی فرآیند

 

2-اطلاعات وضعیت پردازنده

 

3-اطلاعات کنترل فرآیند

 

1-شناسایی فرآیند: یک شناسه عددی یکتا نسبت می دهند.

مزایای شناسه:

مراجعات به جداول تحت کنترل است.

از طریق شناسه می توان پی به بر قراری ارتباط بین فرآیندها برد.

به فرآیندی یک شناسه کاربر نسبت داد.

2-اطلاعات وضعیت پردازنده:

محتوی ثباتهای پردازنده می باشد.

برای اطلاعات وضعیت می باشد.(PSW)

حاوی کد شرایط و دیگر اطلاعات است.

 

 

3-اطلاعات کنترل فرآیند:

 

بلوک کنترل فرآیند گفته می شود.

موجب ایجاد هماهنگی بین فرآیندهای فعال می شود.

 

نقش بلوک کنترل فرآیند:

بلوک کنترل فرآیند نقش مهم در ساختمان سیستم عامل دارد.

وضعیت سیستم را تعریف می کند.

از شناسه یکتای فرآیند به عنوان شاخص استفاده می کنند.

 

مشكلات بلوك كنترل فرايند دارای برای حفاظت

1- وجود اشکال در یک بلاک منجر به لطمه زدن به تمام بلاک ها می شود.

 

2- تغییر در یک بلوک منجر به تغییر در بسیاری از مولفه ها می شود.

 

کنترل فرآیند:

حالت اجرا:

 

- به سیستم عامل مربوط می شود.

 

- بعضی از دستورات تنها در حالت ممتازتر قابل اجرا هستند.

 

- به حالت کم امتیازتر حالت کاربر می گویند.

به حالت متمایز،حالت سیستم ،حالت کنترل یا حالت هسته گویند که نرم افزار کنترل بردازنده ؛ دستورالعملها؛ ثباتها ؛ حافظه را دارد.

 

در ثبات PSW یک بیت برای حالت اجرا وجود دارد که بیت حالت به بیت هسته واگذار می شود و دستورالعمل حالت را تغییر می دهد.

 

ایجاد فرآیند:

تخصیص شناسه یکتا به فرآیند.

 

تخصیص فضا برای تمام اجزای تصویر فرآیند.

 

بلوک کنترل فرآیند مقدار گذاری می شود.

 

برقراری پیوندهای لازم.

 

ایجاد وگسترش ساختمان داده های دیگر.

تعویض فرآیند:

ابتدا باید وقفه های سیستم را در نظر بگیریم که به نوع دیگر تله می باشد.

وقفه نوع اول :  مستقل از فرآیند در حال اجرا حاصل می شود.

وقفه نوع دوم : به خطا یا شرایط استثنایی مربوط است.

با هر وقفه معمولی،ابتدا کنترل به یک گرداننده وقفه منتقل می شود و به یک روال که مخصوص سیستم عامل آن وقفه است منتقل می شود.

وقفه ساعت: فرایند جاری تعویض و فرآیند دیگر بار گذاری

 

 

وقفه ورودی /خروجی: دادن ورودی /خروجی به یک فرایند.

 

 

نقص حافظه: اشتباه بودن آدرس.

 

 

تغییر حالت فرآیند:

ذخیره سازی متن پردازنده.

بهنگام سازی بلوک های کنترل فرایندی در حالت اجرا.

انتقال بلوک فرآیند مربوط به این فرآیند به صف مناسب.

انتخاب فرآیند دیگر برای اجرا.

بهنگام سازی بلوک های کنترل فرایند انتخاب شده.

بهنگام سازی ساختمان داده های مدیریت حافظه .

بار گذاری مجدد متن پردازنده.

 

مدیریت فرآیند در UNIX SVR4:

بخش اعظم سیستم عامل ،در داخل محیط یک فرآیند کاربردی اجرا می شود.

از دو گروه فرآیند سیستمی و کاربردی استفاده می کند.

فرایند های سیستمی در کد هسته اجرا می شود.

فرآیند های کاربر در حالت کاربر برای اجرای برنامه های کاربر.

 

حالات فرآیند در UNIX:

اجرای کاربر

اجرای هسته

آماده در حافظه(بعد از زمانبندی حافظه)

خفته و در حافظه(تا بروز حادثه قابل اجرا نیست)

آماده اجرا و مبادله شد(به حافظه اصلی منتقل می شود)

قبضه شده(از هسته به کاربر می رود)

ایجاد شده(برای اجرا آماده نیست)

جادویی(فرآیندی دیگر وجود ندارد)

 

تصویر فرآیند در :UNIX

هر فرآیند مجموعه ای از ساختمان داده هایی است که تمام اطلاعات لازم برای مدیریت و توزیع وقت پردازنده و فرآیند را در اختیار سیستم عامل قرار میدهد.

جدولی که در صفحه بعد وجود دارد،عناصر تصویر فرآیند را که سه بخش متن سطح کاربر،متن ثابت و متن سطح سیستم سازماندهی شده ،خلاصه کرده است.

متن سطح کاربر:حاوی عناصر پایه ای کاربر است.

متن ثابت:هنگامی که فرآیندی در حال اجرا نیست در آن ذخیره می شود.

متن سطح سیستم : حاوی اطلاعاتی برای مدیریت سیستم است و شامل یک بخش پویا و یک بخش ایستا است.

 

متن سطح کاربر

دستورات قابل اجرا

داده های قابل دستیابی

حاوی نشانوند و ... کاربر

حافظه مورداشتراک با دیگر

 

متن فرایند

داده های فرآیند

پسته کاربر

حافظه مشترک

متن ثابت

آدرس دستورالعمل کار بعدی

حاوی وضعیت سخت افزار در زمان قبضه

به بالای پشته کاربر یا هسته اشاره دارد

وابسه یه سخت افزار

 

شمارنده برنامه

ثبات وضعیت پردازنده

اشاره گر پشته

ثباتهای همه منظوره

متن سطح سیستم

وضعیت فرایند را تعریف می کند

اطلاعات کنترل فرایند

نگاشت از حافظه مجازی به آدرس فیزیکی

حاوی قاب پشته

 

مدخل جدول فرآیند

ناحیه کاربر

جدول منطق هر فرآیند

پشته هسته

 

 

مدخل جدول فرآیند در UNIX:

اطلاعات کنترل فرآیند که همواره در دسترس هسته است را در بردارد.

در حافظه اصلی قرار دارد.

ناحیه کاربر(یا ناحیه U)حاوی اطلاعات اضافی کنترل است.

این اطلاعات موقع صفحه بندی در حافظه اصلی قرار می گیرد.

هسته UNIX همیشه در متن فرآیندی اجرا می گردد.

جدول بعدی نمایشگر این اطلاعات خواهد بود.

 

حالت فعلی

به ناحیهUو ناحیه فرآیند

فضا را به سیستم عامل نشان می دهد

کاربر مسئول را مشخص می کند

شناسه پدر مقدار گذاری می شود

به حات آماده می رود(در حات خفته)

زمانبدی فرآیند

شمارش علامتهای رسیدگی نشده

زمان اجرای فرآیند و استفاده منبع و...

اشاره به عنصر بعدی

تصویر یا انتقال فذآیند به حافظه اصلی

وضعیت فرآیند

اشاره گر ها

اندازه فرآیند

شناسه های کاربر

شناسه های فرآیند

توصیفگر حادثه

اولویت

علامت

زمان سنج ها

پیوند P

وضعیت حافظه

 

ناحیه Uدر UNIX:

مبین مدخلی که به ناحیه U مربوط است

شناسه واقعی کاربر

زمان لازم برای اجرا

عکس اتعمل های فرآیند را مشخص می کند

مبین پایه برقراری ارتباط پایانه با کامپیوتر برای کاربر

خطا ها زا ثبت می کند

حاوی نتیجه فراخوانی

مقدار داده که باید منتقل شو د و...

جدول راهنمای جاری و...

پرونده های باز شده را ثبت می کند

اندازه پرونده و فرآیند را که می توانید بنویسید را محدود می کند

حالت پرونده های ایجاد شده را تنظیم می کند

اشاره گر جدول فرآیند

شناسه های کاربر

زمان سنج ها

آرایه گرداننده فرآیند

پایانه کنترل

فیلد خطا

مقدار بازگشت

پارامتر های I/O

پارامترهای پرونده

جدول توصیفگر پرونده کاربر

فیلد های حد

فیلد های حالت مجاز

 

کنترل فرآیند:

ایجاد فرآیند توسط FORK( ) که یک فراخوان هسته سیستم است انجام می شود و اعمال زیر انجام می شود:

  1. برای فرآیند جدید ،عنصری در جدول قرار می دهد.
  2. یک شناسه یکتا به فرزند می دهد.
  3. یک کپی از پدر ایجاد می کند.
  4. شماره پرونده های پدر را افزایش می دهد.
  5. فرآیند فرزند را در حالت اجرا قرار می دهد.

6- شماره شناسه فرزند را پدر و مقدار صفر می دهد.

 

تمام این اعمال در حات هسته فرآیند پدر انجام می شود.

وموقع توزیع فرآیند یکی از اعمال زیر انجام می شود:

 

1-ماندن در فرآیند پدر.

2-انتقال کنترل به فرآیند فرزند.

3-انتقال کنترل به فرآیند دیگر.

 

+ نوشته شده در پنجشنبه بیست و سوم خرداد 1387ساعت 23:53 توسط میلاد |

فصل دوم

نگاه کلی به سیستم عامل

 

وظایف سیستم عامل

اجرای برنامه های کاربردی را کنترل می کند.

 

رابط کاربر و سخت افزار.

 

سه هدف سیستم عامل

 

1- سهولت: استفاده از کامپیوتر ساده شود

 

2- کارآمدی: استفاده کارآمد از منابع

 

3- قابلیت رشد: سبب توسعه و آزمایش سیستم می شود

 

برنامه های سودمند

مجموعه برنامه های سیستمی هستند.

 

توابعی هستند که به دفعات استفاده می شوند و به ایجاد برنامه مدیریت پروژه و کنترل دستگاه های ورودی و خروجی کمک می کنند.

 

سیستم عامل مهمترين برنامه سيستمي است.

 

وظایف سیستم عامل

ایجاد برنامه

دسترسی به دستگاه های ورودی و خروجی

کنترل دسترسی به پرونده ها

دسترسی به سیستم عامل

کشف و پاسخ به خطا

حسابداری

 

سیستم عامل به عنوان مدیر منابع

سیستم عامل مسئول مديريت انتقال و ذخیره سازی و پردازش داده ها را دارد.

 

سیستم عامل به عنوان راهکار کنترلی ازدو جهت غیر عادی است:

1-سیستم عامل مانند نرم افزار عادی کار می کند.

2-سیستم عامل مرتبا کنترل کردن را رها می کند.

 

هسته سیستم عامل :

بخشی که در حافظه اصلی است.

بیشترین دفعات استفاده را دارد.

تخصیص حافظه مشترکا توسط سیستم عامل و سخت افزار مدیریت حافظه در پردازنده کنترل می شود.

در مورد زمان استفاده از I/O تصمیم می گیرد.

میزان تخصیص پردازنده به یک کار را مشخص می کند.

 

 

دلایل تغییر سیستم عامل

1-ارتقاء و انواع جدید سخت افزار .

این امکانات نیازمند حمایت پیچیده تری از طرف سیستم عامل است.

2-خدمات جدید: برای پاسخگویی به نیازهای کاربران.

3-رفع خطا: ساخت تیم مولفه ای است و رابط ها باید مشخص شود.

 

تکامل تدریجی سیستم عامل

1-پردازش ردیفی.

 

2-سیتم های دسته ای ساده.

 

3-سیستم های چند برنامه ای دسته ای.

 

4-سیستم های اشتراک زمانی.

 

پردازش ردیفی

- به علت دسترسی به کامپیوتر به صورت ردیفی این نام را دارند.

- در سال 1940-2950 به وجود آمد.

- کاربر با سخت افزار در ارتباط بود.

- سیتم عامل وجود نداشت.

- دارای یک میز فرمان بود.

- به زبان ماشین و به وسیله دستگاه ورودی با گذاری می شد.

- خروجی در چاپگر ظاهر می شد.

 

مسئله اصلی سیستم های اولیه

1-زمانبندی :

توسط برگهای نوبت گیر برای ماشین وقت می گرفتند و در زمان پیش بینی شده کارش تمام نمی شد.

2-زمان نصب :

اگر در زمان کار برای هر یک از کار ها مشکلی ایجاد شود باید از اول کارش را شروع کند.

 

سیستم های دسته ای:

 

اولین سیتم عامل دسته ای (1950) به وسیله

 General motorsو برای استفاده IBM 701 به وجود آمد.

 

پردازش دسته ای ساده توسط نرم افزار ناظر.

 

کاربر دسترسی مستقیم به ماشین ندارد.

 

- کاربر کار را توسط نوار به متصدی کامپیوتر می دهد.

 

- متصدی همه کارها را روی دستگاه ورودی گذاشته و وارد کامپیوتر می شود.

 

- ناظر به طور خودکار بار کردن برنامه بعدی را به عهده دارد.

 

 

ناظر

- قسمت اعظم ناظر: در حافظه اصلی و آماده اجرا مي باشد

(ناظر ماندگار)

بقيه ناظر: برنامه سودمند و توابع عمومی و مشترک(زير برنامه)

زمان تنظیم شرایط اولیه کارها را ناظر انجام میدهد.

 - JCL= دستورالعمل هایی از زبان کنترل کار.

- این دستورالعمل ها با $ مشخص می شود.

 

نحوه عملمکرد سیستم عامل دسته ای

 

 خواندن  از حافظه جانبي    برنامه كاربر   در حافظه جانبی

ناظر => کارتFTN $ => بار کردن مترجم => کدمقصد => ذخیره

 

   بوسيله ناظر              احضار   

کارت LOAD$ => خوانده =>  بارکننده => برنامه مقصد

 مترجم(در حافظه اصلی) => کنترل به مترجم مقصد.

 

مزایای سیستم عامل دسته ای

1-حفاظت حافظه اصلی.

2-زمان سنج:

جلوگیری از انحصار سیتسم توسط یک کاربر.

3-دستورالعمل های متمایز:

دستورالعمل هایی که توسط ناظر صادر می شود.

4-وقفه ها:

این خصوصیت به سیستم انعطاف می دهد.

 

سیستم های چند برنامه ساده

حافظه را برای سه یا چهار برنامه تخصیص داده.

موضوع اصلی سیستم عامل های امروزی است.

باعث افزایش سرعت کار می شود

به خصوصیت سخت افزار تکیه دارد.

از سيستمهاي تك برنامه اي بيجيده تر است

نيازمند نوعي مديريت حافظه است

 

سیستم های اشتراک زمانی

از چند برنامگی برای رسیدن به حالت محاوره ای استفاده می کند.

پردازنده بین کاربران به اشتراک گذاشته می شود.

داشتن کاربران متعددی که از طریق پایانه خود به طور هم زمان از سیستم عامل استفاده می کنند.

اگر N کاربر داشته باشد هر كاربر 1/N از زمان مفید پردازنده استفاده می کنند.

 

چند برنامگی دسته ای در مقابل اشتراک زمانی

 

اشتراک زمانی

 

چند برنام های دسته ای

 

 

حداقل زمان پاسخ

 

حداکثر استفاده از پردازنده

 

هدف اصلی

 

فرمان هایی که از پایانه وارد می شود

 

دستورالعملهای زبان کنترل کار که همراه کار ارائه شده است

 

منبع دستورات به سیستم عامل

پنج دستاورد توسعه سیستم عامل:

1- فرآیندها.

2- مدیریت حافظه.

3- حفاظت اطلاعات و ایمنی.

4- زمانبندی و مدیریت منابع.

5- ساختار سیستم.

 

فرآیندها

یک مفهوم بنیادی در سیستم عامل است.

یک برنامه در حال اجرا است.

روح متحرک یک برنامه است.

موجودیتی که می توان به یک پردازنده داده شودو روی پردازنده اجرا شود.

 

سه محور برای ایجاد وتوسعه سیستم کامپیوتر:

1-چند برنامگی:

برای مشغول نگهداشتن هم زمان پردازنده و خروجی.

2-اشتراک زمانی:

آماده پاسخگویی هم زمان به چند کاربر.

3-سیستم های تراکنش بلا درنگ:

تعدادی از کاربران در حال وارد کردن درخواستها یا تغییرات خود روی بانک اطلاعاتی باشند.

 

علت بروز خطاها در سیستم نرم افزاری:

1-همگام سازی نا مناسب:

به سبب بروز یک حادثه یک کار عقب بیفتد.

2-شکست در انحصار متقابل:

استفاده بیش از دو کاربر از یک منبع به طور هم زمان.

3-عملکرد غیر قطعی برنامه:

ممکن است کاربرها در کار یک دیگر دخالت کنند.

4-بن بستها:

دو یا چند برنامه به خاطر هم معلق بمانند.

 

اجزاء یک فرآیند:

1-یک برنامه قابل اجرا.

2-داده های مورد نیاز این برنامه.

3-متن یا وضعیت اجرای آن برنامه.

(اصلی است وشامل تمام اطلاعاتی است که یک سیستم عامل برای مدیریت فرآیندها احتیاج دارد.)

 

- متن: شامل محتویات ثباتهاو...
- براي هرفرآیند یک مدخل براي فهرست فرايندها وجود دارد.
- ثبات شاخص: شامل فهرستی از فرآیندها که پردازنده را استفاده می کنند.
- ثبات شمارنده برنامه: برنامه بعدی که قرار است اجرا شود.

 

ثبات های پایه وحد

در ناحیه ای از حافظه قرار دارند.

 

شمارنده برنامه و تمام مراجعات به داده هانسبت به محتویات ثبات پایه تفسیر می شود و نباید از ثبات حد بیشتر باشد.

 

- از دخالت بین فرايندها جلوگیری می کنند.

پنج مسئولیت اصلی در مدیریت حافظه:

1-جداسازی فرآیندها: از دخالت فرآیندها جلوگیری می کند.

2-تخصیص و مدیریت خودکار: باید به مدیریت ها جا دهد.

3-حمایت از برنامه سازی مولفه ای: باید مولفه های برنامه را تعریف کند.

4-حفاظت و کنترل دسترسی: باید به کاربر اجازه دهد تا به بخشهایی از حافظه دسترسی داشته باشند.

5-حافظه دراز مدت: ذخیره اطلاعات برای مدت طولانی

 

حفاظت از اطلاعات و ایمنی:

به سه گروه زیر تقسیم می شود:

1-کنترل دسترسی: تنظیم دسترسی کار به کل سیستم.

2-کنترل جریان اطلاعات: تنظیم جریان اطلاعات در داخل سیستم و تحویل به کاربر.

3-گواهی: به صحّت اطلاعات.

 

زمانبندی و مدیریت اطلاعات:

سه عامل زیر را در نظر می گیرند:

1-انصاف: قرار دادن منابع به هر یک از پردازنده ها به طور عادلانه.

2-حساسیت در مقابل تفاوت ها: باید به خواسته ها جوابگو باشد.

3-کارایی: باید بکوشد تا توان عملیاتی را حداکثر زمان پاسخ را حداقل و در مورد سیستمهای اشتراکی زمانی از حداکثر تعدادکاربران حمایت کند.

 

اندازه یک سیستم سه مولفه نا مطلوب را در بر دارد:

1-سیستم عامل از نظر زمان تحویل تاخیر دارد.

2-سیستم ها اشکالهای پنهانی دارند که در هنگام کار اشکال خود را نشان می دهند.

3-کارایی آن از حد انتظار کم تر است.

 

برای رفع مشکل:

- سیستم های کوچک ساختار مولفه ای.

- سیستم های بزرگ ساختار سلسله مراتبی.

- ساختار سلسله مراتبی عملکرد سیستم را بر اساس پیچیدگی و ویژگی زمانی و سطح تجرید آنها تفکیک می کند.

- دارای چند سطح است که سطوح به هم وابستگی دارند که اعمال ابتدایی را انجام و جزئیات را پنهان می کند.

- سطوح پایین با اندازه کوتاه تر زمان سر کار دارد.

- بعضی مستقیما با سخت افزار در تبادل اطلاعات هستند.

 

سطوح سيستم عامل سلسله مراتبی:

سطح 1:شامل مدارات الکتریکی.

سطح 2:مجموعه دستورالعمل پردازنده.

سطح 3:مفهوم رویه یا زیر برنامه.

سطح4:وقفه ها.

سطح 5:فرآیند (یک برنامه در حال اجرا)

سطح 6:حافظه ثانویه کامپیوتر.

سطح7:یک فضای آدرس منطقی برای فرآیند.

سطح8:مبادله اطلاعات و پیامها بین فرآیند.

سطح9:ذخیره سازی دراز مدت پرونده ها.

سطح 10:دسترسی به دستگاه های خارجی.

سطح 11:نگهداری رابط بین شناسه های خارجی و داخلی.

سطح12:حمایت اطلاعات لازم برای مدیریت فرآیند ها.

سطح 13:واسط کاربر و سیستم عامل .(پوسته)

 

ویژگی های سیستم عامل های جدید:

معماری ریز هسته.

چند نخی.

چند پردازشی متقارن.

سیستم های عامل توزیعی.

طراحی شیء گرا.

 

معماری ریز هسته

موارد واگذاری به هسته:

1-دسترسی به فضای آدرس.

2-ارتباط بین فرآیند ها.

3-زمانبندی پایه ای.

رویکرد ریز هسته:

1-پیاده سازی را ساده می کند.

2-موجب انعطاف می گردد.

3-محیط توزیعی کاملا سازگار.

 

چند نخی

فرآیند ها به نخ هایی تقسیم می شوند که می توانند به طور هم زمان اجرا شوند

در فرآیندهایی که چند وظیفه اصلی مستقل را انجام می دهند مفید است.

فرايند : مجموعه يك يا جند نخ و منابع سيستمي تخصيص داده شده (مشابه يك برنامه حال اجرا)

 

چند پردازشی متقارن

1-پردازنده متعددی وجود دارد.

2-از امکانات ورودي / خروجي و حافظه اصلی به طور مشترك استفاده می کنند.

3-تمام پردازنده ها اعمال یکسانی را می توانند انجام دهند.

 

امتیازات چند پردازشی متقارن نسبت به معماری تک پردازنده:

کارایی:

قرار دادن ترتیب کارها به نحوی که به موازات هم انجام شوند.

 

دسترسی پذیری:

از آنجا که تمام پردازنده ها یک عمل را انجام می دهد خرابی در یکی از آنها موجب توقف ماشین نمی شود.

 

رشد:

با اضافه کردن پردازنده.

 

مقیاس پذیری:

قیمت ها متناسب با تعداد پردازنده ها باشد.

 

سیستم های عامل توزیعی

تصور یک فضای حافظه اصلی واحد و یک فضای حافظه ثانوی واحد و دیگر امکاناتی که دسترسی به آنها یکنواخت شده است را ارائه می کند.

 

طراحی شیء گرا

افزودن ملحقات مولفه ای به یک هسته كوچك.

محیا ساختن ابزار های توزیعی و سیستم عامل های توزیعی را آماده میکند.

 

نگاهی کلی بهWINDOWS NT 

سیستم عامل چند کاربره چند وظیفه ای.

برای کامپیوتر شخصی طراحی شده.

اساسا از صفر طراحی شده است.

این سیستم عامل منسوب به MS-DOS یا PC XT است که توسط شرکت  MIRCROSOFT برای اولین بار کامپیوتر IBM را ایجاد کرد.

اين سيستم عامل از دیسک سخت حمایت می کرد.

با بهره گیری از توان ریز پردازنده های جدید محیط تک کاربره و چند وظیفه ای کاملی به وجود آورد.

اولین گونه در سال 1993 وبا همان واسط گرافیکی WINDOWS3.1 ارائه گردید. 

سپس گونه NT3.X و NT4.0 را ارائه کرد.(تغییر در مؤلفه های گرافیکی )

و در نهایت NT 5.0  را بیرون دادند.(دارای ویژگی افزایش خدمات برای توزیعی است)

 

معماری NT

NT نرم افزار کاربردی را از نرم افزار سیستم عامل اجرا می کند.

نرم افزار سیستم عامل که به ان مجری NT می گویند در حالت هسته اجرا می شوند.

به داده های سیستم و به سخت افزار سیستم دسترسی دارد.

نرم افزار باقیمانده که در حالت کاربر اجرا می شود به داده های سیستم دسترسی محدود دارد.

مجری NT:

یک معماری ریز هسته تغییر یافته است.

دسترسی از طریف مولفه مسئول امکان دارد.

دسترسی به داده های کلیدی از طریق توابع مناسب.

می توان مولفه ها را تغیر داد یا باز نویسی مجددسیستم و...

قابلیت حمل دارد.

دید یکسان به سخت افزار مورد استفاده دارد.

 

مولفه های خدمات سیستم:

مدیر ورودی و خروجی:

در خواستها را به ترتیب اولویت رسیدگی می کند.

مدیر شیء:

قواعدی را برای نگهداری و نام گذاری و.. شیءها اعمال می کند.

ناظر ایمنی:

مسئول اعمال قواعد اعتبار سنجی.

مدیر فرآیند:

ایجاد و حذف شی ء ها.

امکان فراخوانی رویه ورودی:

فراخوانی رویه از راه دور.

مدیر حافظه مجازی:

نگاشت بین آدرس های مجازی.

مولفه های پنجره ها / گرافیک:

ایجاد واسط پنجره در صفحه نمایش.

 

مهمترین مفاهیم شیئ گرا که در NTبه کاررفته:

در برگیری: هرشیء دارای یک یا چند فقره داده است که خصیصه نام دارد

کلاس شیءو رویداد: الگویی که خدمات را فهرست می کند.

وراثت: در داخل مجری حمایت شده است.

چند شکلی: مجموعه مشترکی از توابع API برای پردازش و...

 

سیستم UNIX  

یک سیستم چند کاربره

برای کامپیوتر های کوچک به وجود آمد

سخت افزار توسط نرم افزار کامپیوتر احاطه شده است

این بخش را هسته گویند

برای اجرای روی یک پردازنده واحد طراحی شده.

 

Image and video hosting by TinyPic
+ نوشته شده در شنبه یازدهم خرداد 1387ساعت 17:32 توسط میلاد |

فصل اول

نگاه کلی به سخت افزار

 

 چهارعناصر اصلی سخت افزار:

 

1- پردازنده (cpu): کنترل و پردازش داده ها .

 

2- حافظه اصلی: ذخیره داده ها و برنامه ها و نا پایدار.

 

3- مولفه های ورودی و خروجی: انتقال داده ها بین کامپیوتر و محیط خارجی .

 

4- اتصالات داخلی سیستم: جهت ارتباط بین سه مولفه دیگر .

 

 

واحد پردازش مرکزیprocessing unit control

Image and video hosting by TinyPic


 

PC: حاوی دستورالعملی که باید واکشی شود .

IR: ثبات دستور العمل حاوی آخرین دستور العمل واکشی شده .

MIR: ثبات آدرس حافظه،محل خواندن و نوشتن را مشخص می کند .

MBR: ثبات میانگیر حافظه،در برگیرنده داده ای است که قرار است خوانده یا نوشته شود.

I/O AR: ثبات آدرس ورودی خروجی،مشخص کردن یک دستگاه ورودی یا خروجی خاص .

I/O BR: ثبات میانگیر ورودی خروجی،برای تبادل داده بین پردازنده و مولفه ورودی خروجی .

 

 

ثباتهای پردازنده

حافظه سریعتر وکوچکتر از حافظه اصلی است که در داخل پردازنده قرار گرفته است.

 

دو وظیفه آن:

1- مراجعه به حافظه اصلی را به حداقل می رساند.

(قابل روئیت هستند)

2- کنترل عملیات پردازنده

(ثبات کنترل و وضعیت ؛ اغلب قابل رویت نیستند)

 

حافظه :
شامل مجموعه ای از محل هایی است ، که حاوی یک عدد دودویی است ، که می توانیم دستورالعمل یا داده تفسیر شود که بوسیله شماره آدرس هایی برای آنها مشخص می شود.

مولفه ای ورودی / خروجی

داده ای میانگیر داخلی است.

جهت نگهداری داده ها تا زمان انتقال

 

ثبات قابل روئیت برای کاربرد

ثباتی است که برنامه نویس می تواند به وسیله دستور العمل های ماشین به آنها مراجعه کند.

 

1- ثباتهای داده : برنامه ساز می تواند به بعضی توابع نسبت دهد.

 

2- ثباتهای آدرس : حاوی آدرس داده و دستورالعمل ها مي باشد.

 

3- ثبات کد وضعیت : بیتهای هستند که به عنوان نتیجه عمل ها توسط سخت افزار مقدار گذاری می شود.

(بخشهایی از آن برای کاربر قابل روئیت نیست)

 

ثبات های آدرس

1- ثبات شاخص (  X+ مقدار پا یه = آدرس موثر)

 

2- ثبات اشاره گر قطعه: حافظه به قطعاتی تقسیم شده و یک ثبات برای نگهداری آدرس پایه (محل شروع) قطعه استفاده می شود.ممکن است چند ثبات آدرس پایه وجود داشته باشد.

 

3- ثبات اشاره گر پشته: ثباتی خاص جهت اشاره به بالای پشته در حافظه اصلی.

 

ثبات های کنترل وضعیت

این ثبات قابل روئیت برای کاربر نیست.

برای کنترل عمل پردازنده به کار می روند.

 

- ثبات کلمه وضعیت (PSW) :حاوی اطلاعات وضعیت.

علاوه بر کد وضعیت شامل اطلاعات ذيل مي باشد

- بیت فعال و غیر فعال کردن وقفه.

- بیت حالت کار بر/ سرپرست.

 

تخصیص چند صد يا هزارکلمه ازابتداي حافظه برای مقاصد كنترلي متداول است

 

چرخه دستورالعمل:

1- چرخه واکشی: یک دستور را از حافظه می خواند

 

 2- چرخه دستورالعمل: اجراي دستورالعمل واكشي شده

 

- ثبات pc  آدرس حافظه که با بیتی واکشی شده را نشان می دهد.
- واکشی دستورالعمل به ثبات
IR .
- معمولا پردازنده پس از واکشی دستورالعمل یک واحد به
PCاضافه می کند.
- ثبات
 :IRدارای 4 بیت که بیت اول عمل و سه بیت دیگر آدرس حافظه را مشخص می کند .
- کد عمل : عملی را که با بیتی پردازنده انجام بدهد را نشان می دهد.


وقفه

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

 

رایجترین وقفه ها

1- برنامه: وقفه ای است که در بعضی شرایط خاص یک دستورالعمل رخ می دهد مثل سر ریز، تقسیم بر صفر.
2- زمان سنج: وقفه ای که توسط زمان سنج داخلی پردازنده تولید می شود.
3- ورودی/خروجی: این وقفه به وسیله کنترل کننده ورودی وخروجی ایجاد می شود.
4- نقص سخت افزار: این وقفه با سخت افزار تولید میشود.

وقفه:

Image and video hosting by TinyPic

 

اعمال ریز پردازنده در یکی از چهار کرده زیر قرار دارد:

1- پردازنده – حافظه

 

2- پردازنده – ورودی/خروجی

 

3- پردازش داده ها (محاسباتی به منطقی)

 

4- کنترل

پردازش یک وقفه

1- یک دستگاه یک علامت وقفه برای پردازنده می دهد.

2- اجرای دستورالعمل جاری به پایان می رسد.

3- پردازنده اعلام وصول وقفه می کند.

4- محتوای ثبات (PSW) وpc در بالای پشته کنترل قرار می دهد.

5- پردازنده بر اساس وقفه مقدار pc جدید را قرار می دهد.

6-باقیمانده اطلاعات وضعیت فرایند را ذخیره می کند.

7-وقفه را پردازش می کند.

8-بازیابی اطلاعات ثباتهایی که قبلا ذخیره شده.

9-pc و psw  قدیمی را دوباره پردازش کن.

 

وقفه های چند گانه:
 (همزماني چند وقفه)

 

دارای دو رویکرد:

 

1- پردازش ردیفی وقفه: در هنگام وقوع یک وقفه بقیه وقفه ها از کار بیفتند تا کار آن تمام شود.

 

نکته منفی : اولویت نسبی به حساب نمی آید.

 

وقفه ای چند گانه:

2- پردازش وقفه تو در تو: در صورتی که وقفه دیگری رخ داد واولویت بالایی داشت به برنامه برگرداننده و وقفه اول متوقف می شود.

 

چند برنامگی :

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

چند برنامه برای اجرا نوبت بگیرند.

 

ثباتها

حافظه پنهان

حافظه اصلی

حافظه پنهان دیسک

دیسک مغناطیس

رسانه جابه جا پذیر

سلسه مراتب حافظه

 

 

 

 

 

 

 

 

 

 

 

توضیحات درباره نمودار فوق

با حرکت به سطوح پایین تر این سلسله مراتب:

 

الف: کاهش هزینه در هر بیت

ب: افزایش ظرفیت

ج: افزایش زمان دسترسی

د: کاهش تعداد دفعات دسترسی پردازنده به حافظه

 

ثباتها:سریعترین و گرانترین و کوچکترین و نا پایدارند.

 

حافظه اصلی:دارای آدرس یکتا و نا پایدار هستند. با حافظه پنهان توسعه داده می شوند.

 

حافظه پنهان: قابل روئیت برای کاربران نیست و ناپایدارند.

 

حافظه پنهان :

این حافظه به دو صورت کارایی را افزایش می دهند:

 

1-نوشتن های روی دیسک دسته بندی می شوند.

 

2-بعضی از داده ها قبل از نوشتن به وسیله برنامه هایی مورد مراجعه قرار می گیرند.

 

 

نقش حافظه نهان

- ارائه سریعترین حافظه موجوىحافظه ای بزرگ از انوع ارزان تر حافظه هاي نیمه هادی

- حاوی بخشی از حافظه اصلی است.

 

اصول حافظه پنهان

نحوه عملکرد:

ابتدا بررسی می شود که آیا کلمه در حافظه وجود دارد یا خیر؟

اگر خیر بود یک بلوک را اخیتار کرده و در آن قرار می دهیم.

اگر بله بود به پردازش تحویل داده می شود.

 

 

طراحی حافظه پنهان :

نکات کلیدی:

 

-اندازه حافظه پنهان: با وجود اندازه کوچک تاثیر زیاد.

 

-اندازه بلوک: واحدي از داده ها كه بین حافظه اصلی و پنهان مبادله می شود.

 

-تابع نگاشت: هنگام فراخوانی بلوک جدید پدید می آید.

 

-الگوریتم تعویض: بلوكي كه بايد عوض شود را انتخاب مي كند (هنگام تعویض و باید دقت شود که کمترین استفاده در آینده را داشته باشد.)

 

-سیاست نوشتن: زمان انجام عمل نوشتن را مشخص می کند.

 

روشهای انتقال ورودی / خروجي

سه روش زیر وجود دارد:

 

1-ورودی/ خروجی برنامه سازی شده.

 

2-ورودی/ خروجی مبتنی بر وقفه.

 

3-دسترسی مستقیم به حافظه (DBA)

 

ورودی/خروجی برنامه سازی شده:

با مواجهه با دستور العمل ورودی / خروجی صادر می شود.

عمل در خواست شده را انجام و بیت های مناسب از ثبات ذکر شده را مقدار گذاری می کند.

مسئول استخراج داده ها از حافظه به دستگاه خروجی .

مسئول ذخیره سازی داده ها در حافظه اصلی.

 

گروههای دستورالعمل های ورودی /خروجی :

1-کنترل: دستورالعمل ها برای فعال کردن دستگاه خارجي.

 

2-آزمون: بررسی مولفه های ورودی و خروجی.

 

3-خواندن/نوشتن: دستور العمل هایی برای انتقال داده ها بین ثباتهای پردازنده و دستگاههای خارجی.

 

ورودی خروجی مبتنی بر مولفه:

1-ابتدا یک READ به مولفه ورودی/خروجی می دهد.

2-سپس متن مورد نظر را ذخیره می کند.

3-پس از آماده شدن مولفه ورودی / خروجی به پردازنده وقفه می دهد.

4-پس متنی که فرمان READ را صادر کرده بار گذاری شده و اجرا می شود.

 

دسترسی مستقیم به حافظه

1-دسترسی مستقیم به حافظه به وسیله مولفه دیگری روی گذرگاه سيستم انجام شود.

2-دسترسی مستقیم بر حافظه به عهده یک مولفه ورودی/خروجی گذاشته شود.

 

 حافظه <=>   DMA <=> مولفه ورودی/خروجی


+ نوشته شده در جمعه سوم خرداد 1387ساعت 16:11 توسط میلاد |