سیستم عامل (OS) رابط بین کاربر رایانه و سختافزار آن است. یک سیستم عامل در واقع نرمافزاری است که همه وظایف پایهای مانند مدیریت فایل، مدیریت حافظه، مدیریت پروسهها، مدیریت ورودیها و خروجیها و کنترل دستگاههایی مانند درایوهای دیسک و پرینترها را بر عهده دارد. در این سری از نوشتههای بلاگ فرادرس که این نوشته اولین بخش آن محسوب میشود، به بررسی جامع مفاهیم، کارکردها و نقش سیستم عامل میپردازیم. برخی سیستمهای عامل محبوب شامل لینوکس، OS X، VMS، OS/400، AIX، Z/OS و غیره هستند.
در ادامه برخی از ویژگیهای مهم یک سیستم عامل ارائه شده است:
حافظه اصلی یک روش ذخیرهسازی سریع است که میتواند به طور مستقیم از سوی CPU مورد دسترسی قرار گیرد. برای این که یک برنامه اجرا شود، باید در حافظه اصلی قرار داشته باشد. یک سیستم عامل فعالیتهای زیر را برای مدیریت حافظه انجام میدهد:
تعریف سیستم عامل
سیستم عامل برنامهای است که به عنوان یک رابط بین کاربر و سختافزار کامپیوتر عمل میکند و اجرای عملی انواع برنامهها را کنترل میکند.در ادامه برخی از ویژگیهای مهم یک سیستم عامل ارائه شده است:
- مدیریت حافظه
- مدیریت پروسهها
- مدیریت لوازم رایانه
- مدیریت فایل
- امنیت
- کنترل روی عملکرد سیستم
- محاسبه کارها
- کمک به تشخیص خطاها
- هماهنگی بین نرمافزارهای دیگر و کاربران
مدیریت حافظه
منظور از مدیریت حافظه در واقع مدیریت حافظه اصلی رایانه است. حافظه اصلی آرایه بزرگی از کلمه (word) ها و بایتها است که در آن هر کلمه یا بایت آدرس خاص خود را دارد.حافظه اصلی یک روش ذخیرهسازی سریع است که میتواند به طور مستقیم از سوی CPU مورد دسترسی قرار گیرد. برای این که یک برنامه اجرا شود، باید در حافظه اصلی قرار داشته باشد. یک سیستم عامل فعالیتهای زیر را برای مدیریت حافظه انجام میدهد:
- رد فعالیتهایی که در حافظه اصلی صورت میپذیرد را نگهداری میکند، یعنی بررسی میکند که کدام بخشهای حافظه از سوی کدام برنامهها اشغال شدهاند و کدام بخشها مورد استفاده قرار نگرفتهاند.
- در زمان اجرای برنامههای چندگانه، سیستم عامل تصمیم میگیرد که کدام پروسه چه مقدار حافظه و از کدام موقعیت دریافت میکند.
- زمانی که برنامهای درخواست حافظه میکند، آن را تخصیص میدهد.
- زمانی که پروسهای دیگر به حافظه نیاز نداشته باشد، آن را تخصیص زدایی کرده و خاتمه میدهد.
مدیریت پردازنده
در محیط اجرای برنامههای چندگانه سیستم عامل تصمیم میگیرد که کدام پروسه چه هنگام و به چه مدت به پردازنده رایانه دسترسی داشته باشد. این عملکرد به نام زمانبندی پردازش (process scheduling) نامیده میشود. یک سیستم عامل برای مدیریت پردازنده فعالیتهای زیر را انجام میدهد:- فرایند عملکردی پردازنده را بررسی کرده وضعیت پردازنده را در هر لحظه ردگیری میکند. برنامهای که مسئول این کار است کنترلر ترافیک (traffic controller) نام دارد.
- زمان پردازنده را به یک پروسه تخصیص میدهد.
- زمانی که پروسه دیگر به پردازنده نیاز نداشته باشد، تخصیص پردازنده را متوقف میکند.