سیستم عامل جلسه دوم (بخش اول)

 

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

سیستم های محاوره ای (interactive) :

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

 

 

سیستم های دسته ای (batch):

سیستم هایی هستند که در آن ها دریافت دستورات (برنامه های کاربر) سپس اجرای آن ها در دو مرحله انجام می گیرد، ابتدا برنامه هایی که عموما دارای نیاز های مشابه نظیر کامپایلر یکسان هستند در یک گروه به سیستم وارد شده و پس از بار شدن کامپایلر مورد نیازشان اجرای آن ها به طور متوالی انجام می شود

 

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

بافرینگ buffering

بافر ناحیه ای ازحافظه (Memory) است که جهت ایجاد هماهنگی بین وسایل I/O و پردازنده استفاده می شود. بافرینگ اجازه همپوشانی i/o یک کار و پردازش همان کار را فراهم می سازد

Buffer memory is a temporary storage area in the main memory (RAM) that stores data transferring between two or more devices or between an application and a device. Buffering compensates for the difference in transfer speeds between the sender and receiver of the data

 

اسپولینگ spooling

اسپولینگ از یک رسانه ی ذخیره سازی سریع مانند دیسک مغناطیسی جهت اعمال i/o استفاده می کند به طوری که اطلاعات از وسایل ورودی بر روی دیسک ذخیره شده و CPU با دیسک در تماس است

executed by a device, program or the system. Data is sent to and stored in memory or other volatile storage until the program or computer requests it for execution. “Spool” is technically an acronym for simultaneous peripheral operations online

 

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

فرق بافرینگ و اسپولینگ چیست؟

بافرینگ امکان همزمانی پردازش و i/o یک کار را به کمک حافظه اصلی فراهم می کند در حالی که اسپولینگ امکان همزمانی پردازش و i/o چندین کار را به کمک حافظه جانبی (دیسک سخت و ...) انجام می دهد

 

Spooling in Operating System - javatpoint

What is the Difference Between Spooling and Buffering - Pediaa.Com

 

سیستم های موازی (Multiprocessor  | چند پردازنده ای)

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

  Multiprocessorیا چند پردازنده ای نامیده می شود

پردازنده ها در این سیستم با یکدیگر ارتباط نزدیکی دارند و از گذرگاه آدرس ،ساعت و گاهی حافظه و دستگاه های جانبی به طور اشتراکی استفاده می کنند، این سیستم ها را اتصال محکم Tightly Coupled   نیز می نامند

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

 

Multiprocessing Operating System | GATE Notes

Symmetric multiprocessing - Wikipedia

انوع سیستم عامل های چند پردازنده ای (MultiProcessor)

 

چند پردازنده ای متقارن (symmetric)

در سیستم های چند پردازنده ای متقارن (symmetric) هر پردازنده از کپی یکسانی از سیستم عامل استفاده می کند که این کپی ها در صورت لزوم با یک دیگر در ارتباط هستند

لازمه ارتباط استفاده از حافظه اشتراکی برای ارتباط با یکدیگر است

 

 

 

چند پردازنده ای نامتقارن (asymmetric)

در سیستم چند پردازنده ای نامتقارن  هر پردازنده کار خاصی را انجام می دهد کنترل سیستم به عهده ی پردازنده اصلی (Master) می باشد و پردازنده های دیگر منتظر دستور پردازنده اصلی هستند. یا کار از قبل تعیین شده ای دارند. این طرح رییس/مریوس (Master / slave)  را بیان می کند ،که پردازنده اصلی (Master) کار هارا برای پردازنده های دیگر(Slave)  زمانبدی کرده و به آن ها تخصیص می دهد

در این روش هیچ حافظه اشتراکی وجود ندارد زیرا پردازنده ها نیاز به ارتباط مستقیم با یکدگیر برای انجام کار ها ندارند

 

 

Multiprocessor: Operating System, Types, Advantages and Limitations

What is the Difference Between Symmetric and Asymmetric Multiprocessing -  Pediaa.Com

 

 

سیستم عامل های توزیع شده  (گسترده -  Distributed)

در این سیستم ها محاسبات بین چند پردازنده توزیع می شود. هر پردازنده حافظه و ساعت مخصوص به خود را دارد و از طریق خطوط ارتباط با یکدیگر مرتبط اند. همچنین پردازنده ها از نظر اندازه و عملکرد با یکدیگر فرق دارند سیستم های توزیعی را سیستم های ارتباط ضعیف (loosely coupled) نیز می گویند.

یادداشت:

در این سیستم ، تنها یک سیستم عامل مجموعه ای از سیستم های مختلف را مدیریت می نماید.

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

 

سیستم عامل های بی درنگ(Real Time)

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

سیستم های Real Time  دارای دو نوع Soft،Hard نرم و سخت هستند

در سیستم های سخت زمان پاسخ گویی بسیار مهم و حیاتی است اما در سیستم های نرم زمان پاسخگویی به حادی سیستم سخت نیست

 

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

 

پردازش ردیفی

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

·       برنامه ها به صورت کد ماشین از طریق یک دستگاه ورودی بار می شدند و خروجی روی چاپگر ارسال می شد

 

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

·       کاربر کار خود را روی کارت یا نوار به متصدی کامپیوتر می دهد.

·       متصدی پس از دسته بندی ترتیبی کارت ها آن هارا برای استفاده ی ناظر روی دستگاه ورودی قرار می دهد

 

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

·       برای استفاده بهینه از پردازنده به جای اجرای همزمان یک برنامه ، چند برنامه را توسط پردازنده اجرا می کند.

سیستم های اشتراک زمانی (Time Sharing)

·       در این نوع سیستم عامل کاربر مستقیما با کامپیوتر در تعامل است.

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

سیستم های تراکنش بی درنگ (Real Time)

·       در این حالت تعدادی از کاربران در حاله ارایه یک پرسش به یک پایگاه داده یا اعمال تغییراتی در آن هستند

 

مولفه های سیستم عامل  OS Components

سیستم بزرگی چون سیستم عامل را باید به مولفه های کوچک تری (Components) تقسیم کرد.

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

1.  مدیریت فرایند Process Management

برخورد با بن بست، ایجاد و حذف فرایندها ، تعویق و از سرگیری فرایند ها، هماهنگی فرایند ها

2.  مدیریت حافظه اصلی Memory Management

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

3.  مدیریت حافظه ثانویه   Storage Management

مدیریت فضای آزاد، تخصیص حافظه و زمانبندی دیسک

4.  مدیریت فایل  File Management

ایجاد و حذف فایل ها  و دایرکتوری ها، نگاشت فایل ها در حافظه ی ثانویه و تهیه پشتیبان

5.  مدیریت سیستم ورودی-خروجی i/o Management

مدیریت بافر ها ، تخصیص کانال های i/o و دستگاه ها به فرایند ها