سیستم عامل یا operating system مهم ترین برنامه ای است که اول از همه روی سیستم کامپیوترها نصب می شود وارتباط بین کار و system از طریق همین سیستم عامل برقرار می شود. در واقع سیستم عامل دستورات داده شده از سمت کاربر به زبان سطح بالا را به زبان ماشین ترجمه می کند تا کامپیوتر بتواند آنها را بفهمد و اجرا کند. به عبارت دیگر، سیستم عامل به عنوان یک واسطه بین کاربر و سخت افزار کامپیوتر عمل می کند و محیط مورد نیاز برای اجرای کارآمد برنامه های مختلف را فراهم می آورد.
رابطه بین سیستم عامل، کاربر، سخت افزار و برنامه
تاریخچه operating system
- اولین کامپیوتر با نام Z1 ، در سال ۱۹۳۶ تا ۱۹۳۸ ساخته شد. متاسفانه این کامپیوتر بدون سیستم عامل کار می کرد.
- بیست سال بعد و در سال ۱۹۵۶، اولین سیستم عامل دنیا ساخته شد.
- در دهه ۱۹۶۰، شرکت بل (bell) شروع به کار ساخت اولین سیستم عامل چند وظیفه ای با نام UNIX کرد.
- در سال ۱۹۷۷، سری اپل (apple) سیستم عامل ها ساخته شد و Apple Dos 3.3 اولین سیستم عامل مبتنی بر دیسک بود.
- در سال ۱۹۸۱، شرکت مایکروسافت (Microsoft) با خرید نرم افزار ۸۶ – DOS از شرکت سیاتل (Seattle)، اولین سیستم عامل با نام داس( DOS) را ساخت.
- در سال ۱۹۸۵ و زمانی که MS-DOS با یک محیط گرافیکی جفت شد، معروفترین ویندوزهای شرکت مایکروسافت ساخته شدند.
تاریخچه تکامل سیستم عامل های مدرن که با پیوستن POSIX در UNIX همراه هستند
عملکردهای operating system
مدیریت پردازنده:
یکی از کارهای سیستم عامل مدیریت کار پردازنده با تخصیص وظایف مختلف به آن و اطمینان از این مساله است که هر فرایندی از طرف پردازنده زمان کافی برای عملکرد صحیح دریافت می کند.
مدیریت حافظه:
operating system وظیفه تخصیص و آزادسازی حافظه برای عملکردهای مختلف سیستم را هم به عهده دارد. از طرف دیگر، سیستم عامل باید از این مساله نیز اطمینان حاصل کند که یک فرایند، حافظه مربوط به یک فرایند دیگر را مصرف نمی کند.
مدیریت دستگاه:
دستگاه های ورودی و خروجی مختلفی در یک سیستم وجود دارد. سیستم عامل کارکرد این دستگاه های ورودی-خروجی را کنترل می کند. در واقع سیستم عامل درخواست های مختلف را از این دستگاه ها دریافت می کند و عملیات خاصی رویشان انجام می دهد و بعد دوباره با روند درخواست ارتباط می گیرد.
مدیریت فایل:
operating system یا سیستم عامل اطلاعات مربوط به ایجاد، حذف ، انتقال، کپی و ذخیره سازی فایل ها یا همان پرونده ها را به صورت سازمان یافته ثبت می کند. علاوه بر این سیستم عامل با محافظت در برابر دسترسی غیرمجاز، یکپارچگی داده های ذخیره شده در این فایل ها از جمله ساختار دایرکتوری فایل ها را حفظ می کند.
امنیت:
operating system تکنیک های مختلفی را ارائه می دهد که یکپارچگی و محرمانه بودن داده های کاربر را تضمین می کنند.
برای محافظت از داده های کاربر، سیستم عامل از اقدامات زیر استفاده می کند:
- محافظت در برابر دسترسی غیر مجاز هنگام ورود به سیستم
- محافظت در برابر نفوذ غیر مجاز با فعال نگه داشتن دیوار آتش (Firewall)
- محافظت از حافظه سیستم در برابر دسترسی مخرب
- نمایش پیام های مربوط به آسیب پذیری های سیستم
تشخیص خطا:
operating systemهر از گاهی سیستم را از نظر وجود هر نوع تهدید خارجی یا فعالیت نرم افزاری مخرب بررسی می کند. علاوه بر این، سیستم عامل سخت افزار را از نظر هر نوع آسیب بررسی می کند. این فرآیند هشدارهای مختلفی را به کاربر نشان می دهد تا بتواند برای محافظت از سیستم در برابر صدمات احتمالی اقدامات مناسبی را انجام بدهد.
زمانبندی کار:
در سیستم عامل های چند وظیفه ای چندین برنامه به طور همزمان اجرا می شوند، این سیستم عامل است که تعیین می کند برنامه ها با چه ترتیبی اجرا شوند و چه مدت زمانی به هر برنامه باید اختصاص داده شود.
اجزای سیستم عامل
یک سیستم عامل برای اینکه بتواند عملکردهایی که در بخش بالا ذکر شد را به درستی انجام بدهد باید دو جزء داشته باشد:
- پوسته (Shell)
- هسته (Kernel)
پوسته
پوسته سیستم عامل تعاملات کاربر را کنترل می کند و پوسته بیرونی ترین لایه سیستم عامل است.
تعامل بین کاربر و سیستم عامل را از طریق موارد زیر مدیریت می کند:
- گرفتن درخواست ارائه شده از سمت کاربر از طریق ورودی ها
- تفسیر ورودی برای سیستم عامل
- مدیریت خروجی سیستم عامل
پوسته با گرفتن ورودی از کاربر یا اسکریپت پوسته (shell script)، راهی برای برقراری ارتباط با سیستم عامل فراهم می کند. شل اسکریپت (shell script) یا همان اسکریپت پوسته دنباله ای از دستورات سیستمی است که در یک پرونده ذخیره می شوند.
هسته
عملکرد هسته سیستم عامل
هسته مولفه اصلی سیستم عامل است که به عنوان رابط بین برنامه ها عمل می کند. داده ها در سطح سخت افزاری از طریق هسته پردازش می شوند. وقتی سیستم عامل در حافظه سیستم بارگیری می شود، اول از همه هسته سیستم عامل بارگیری می شود و این هسته زمان خاموش شدن سیستم عامل در حافظه باقی می ماند. بعد از آن هسته منابع کامپیوتر را تأمین و مدیریت می کند و به سایر برنامه ها اجازه می دهد تا از این منابع استفاده کنند. علاوه بر این، هسته سیستم عامل فضای حافظه را برای برنامه های مختلف تنظیم می کند، فایل ها را با کد برنامه در حافظه بارگیری و بسته اجرایی برنامه ها را تنظیم می نماید.
هسته operating system مسئول انجام کارهای زیر است:
- مدیریت ورودی-خروجی
- مدیریت حافظه
- مدیریت فرآیند اجرای برنامه
- مدیریت دستگاه
- کنترل تماس سیستم
در گذشته کلیه خدمات اساسی سیستم مانند پردازش و مدیریت حافظه، مدیریت وقفه و غیره در یک ماژول واحد در فضای هسته بسته بندی می شدند. به این نوع هسته Monolithic Kernel (هسته یکپارچه) گفته می شد. مشکل این روش این بود که کل هسته حتی برای یک تغییر کوچک باید از اول دوباره کامپایل می شد.
سیستم عامل های مدرن یک ریز هسته حاوی ماژول های مختلفی مانند مدیریت دستگاه ، مدیریت پرونده و … دارند که به صورت پویا بارگیری و تخلیه می شوند. در این رویکرد مدرن، اندازه کد هسته کاهش پیدا می کند ولی در عوض پایداری آن بیشتر می شود.
حالا بیایید با هم انواع سیستم عامل ها را بررسی کنیم:
انواع سیستم عامل ها
- سیستم عامل دسته ای (Batch OS)
- سیستم عامل توزیع یافته (Distributed OS)
- سیستم عامل چند وظیفه ای (Multitasking OS)
- سیستم عامل شبکه ای (Network OS)
- سیستم عامل بی درنگ یا زمان واقعی (Real-OS)
- سیستم عامل موبایل (Mobile OS)
سیستم عامل دسته ای (Batch OS)
operating system دسته ای اولین سیستم عامل رایانه های نسل دوم است. این سیستم عامل با کامپیوتر ارتباط مستقیمی برقرار نمی کند. در عوض یک اپراتور وظایفی که هر کاربر انجام می دهد را دسته بندی می کند و سپس این دسته ها را یکی یکی براساس نظام نوبتی first-come, first, serve (اولین ورودی، اولین سرویس را می گیرد) ارائه می کند.
مزایای سیستم عامل دسته ای
- مدت زمان تخصیص یافته برای وظایف مشابه بالاتر است.
- چندین کاربر می توانند سیستم های دسته ای را به اشتراک بگذارند.
- مدیریت کارهای بزرگ در سیستم های دسته ای آسان است.
- زمان آماده به کار برای یک دسته واحد بسیار کمتر است.
معایب سیستم عامل دسته ای
- اشکال زدایی از سیستم های دسته ای دشوار است.
- اگر وظیفه ای ناموفق عمل کند، سایر وظایف باید تا مدت زمان نامشخصی منتظر بمانند تا مسئله حل شود.
- گاهی اوقات سیستم های دسته ای هزینه بر هستند.
نمونه هایی از سیستم عامل دسته ای: سیستم حقوق و دستمزد، صورت حساب های بانکی، سیستم ورود داده ها و غیره
سیستم عامل توزیع یافته (Distributed OS)
توزیع یافته جزو یکی از پیشرفت های اخیر در زمینه فناوری رایانه محسوب می شود و در همه دنیا نیز با سرعت بالایی مورد استفاده قرار می گیرد. در سیستم عامل توزیع یافته، رایانه های مختلف از طریق یک کانال ارتباطی به هم متصل می شوند. این رایانه های مستقل دارای واحد حافظه و CPU مختص خودشان هستند و به عنوان سیستم های اتصال آزاد شناخته می شوند.
فرایندهای این سیستم می تواند در اندازه مختلف باشند و این فرایندها می توانند عملکردهای مختلفی را انجام بدهند. مزیت عمده این نوع سیستم عامل این است که کاربر می تواند به فایل هایی دسترسی پیدا کند که در سیستم خودش وجود ندارد و در سیستم متصل دیگری قابل دسترسی اند. علاوه بر این، سیستم عامل توزیع یافته کنترل از راه دور سیستم های متصل به این شبکه را هم امکان پذیر می کند.
مزایای سیستم عامل توزیع یافته
- خرابی یک سیستم بر سیستم های دیگر تأثیر نمی گذارد چون همه کامپیوترهای این نوع سیستم عامل از هم جدا و مستقل هستند.
- در این نوع سیستم عامل بار سیستم میزبان کاهش می یابد.
- حجم شبکه به راحتی مقیاس پذیر است چون بسیاری از رایانه ها می توانند به شبکه اضافه شوند.
- از آنجایی که حجم کار و منابع مورد استفاده در این نوع سیستم عامل مشترک است، بنابراین محاسبات با سرعت بالاتری انجام می شوند.
- سرعت تبادل اطلاعات با کمک نامه الکترونیکی افزایش می یابد.
معایب سیستم عامل توزیع یافته
- هزینه راه اندازی این نوع سیستم عامل زیاد است.
- نرم افزار مورد استفاده برای چنین سیستم هایی بسیار پیچیده است.
- خرابی شبکه اصلی منجر به خرابی کل سیستم می شود.
سیستم عامل چند وظیفه ای (Multitasking OS)
به سیستم عامل چند وظیفه ای سیستم عامل اشتراک زمانی (time-sharing) هم گفته می شود چون در این نوع سیستم عامل برای هر کاری مدت زمان خاصی در نظر گرفته می شود تا همه وظایف به طور کارآمدی عمل کنند. این سیستم عامل برای زیادی از کاربران امکان دسترسی را فراهم می کند و همه کاربران همانطور که در یک سیستم واحد قرار می گیرند زمان CPU را نیز دریافت می کنند.
در سیستم عامل چند وظیفه ای وظایف انجام شده توسط یک کاربر یا توسط کاربران مختلف انجام می شود. در این نوع operating system به زمان اختصاص داده شده برای اجرای یک کار کوانتوم (quantum) گفته می شود و به محض اتمام زمان اجرای یک وظیفه، سیستم به اجرای یک وظیفه دیگر مشغول می شود.
مزایای سیستم عامل چند وظیفه ای
- هر وظیفه زمان برابری برای اجرا دارد.
- زمان بیکاری CPU به پایین ترین مدت می رسد.
- شانس بسیار کمی برای تکثیر نرم افزار وجود دارد.
معایب سیستم عامل چند وظیفه ای
- فرایندهایی که اولویت بالاتری دارند نمی توانند اول اجرا شوند چون به همه فرایندها اولویت برابر و یکسانی داده می شود.
- باید از دسترسی غیر مجاز به داده های مختلف کاربران جلوگیری شود.
- گاهی اوقات مشکل ارتباط داده ای پیش می آید.
سیستم عامل شبکه ای (Network OS)
سیستم عامل های شبکه ای سیستم عامل هایی هستند که روی سرور اجرا می شوند و کلیه عملکردهای شبکه را مدیریت می کنند. اینoperating system امکان به اشتراک گذاری فایلها، برنامه ها، چاپگرها، امنیت و سایر توابع شبکه را در شبکه کوچکی از رایانه ها مانند LAN یا هر شبکه خصوصی دیگر فراهم می کند.
در سیستم عامل شبکه ای، همه کاربران از تنظیماتی که کاربران دیگر روی شبکه اعمال می کنند آگاهند؛ به همین دلیل سیستم عامل های شبکه ای به عنوان سیستم های کاملاً متصل نیز شناخته می شوند.
مزایای سیستم عامل شبکه ای
- در این نوع سیستم عامل فناوری ها و سخت افزارهای جدید به راحتی می توانند سیستم را ارتقا بدهند.
- امنیت سیستم از طریق سرورها مدیریت می شود.
- از طریق مکان ها و سیستم های مختلف می توان از راه دور به سرورها دسترسی داشت.
- سرورهای متمرکز پایدار هستند.
معایب سیستم عامل شبکه ای
- هزینه های سرور این نوع سیستم عامل ها زیاد است.
- برای این سیستم عامل به روزرسانی و نگهداری منظم مورد نیاز است.
- کاربران برای انجام حداکثر تعداد عملیات به مکان مرکزی وابسته هستند.
سیستم عامل بی درنگ یا زمان واقعی (Real-Time OS)
سیستم عامل های بی درنگ در خدمت سیستم هایی هستند که در زمان واقعی کار می کنند. این سیستم عامل ها در موارد مفیدند که رویدادها در یک زمان کوتاه یا در بازه زمانی مشخصی اتفاق می افتد؛ مثلا شبیه سازی در زمان واقعی.
انواع سیستم عامل های بی درنگ عبارتند از:
- سیستم عامل بی درنگ سخت (Hard real-time OS) سیستم عامل سخت بی درنگ سیستم عاملیست که عمدتا برای برنامه هایی استفاده می شود که کوچکترین تاخیر در آنها قابل قبول نیست و محدودیت های زمانی چنین برنامه هایی بسیار سختگیرانه است. چنین سیستم هایی برای تجهیزات نجات دهنده زندگی مثل چتر نجات وکیسه های هوا ساخته شده اند که در صورت بروز حادثه باید بلافاصله عمل کنند.
- سیستم عامل بی درنگ نرم (Soft real-time OS) سیستم عامل بی درنگ نرم سیستم عامل مخصوص برنامه هاییست که محدودیت زمانی در آنها خیلی سختگیرانه نیست.
سیستم عامل بی درنگ نرم، یک وظیفه مهم نسبت به وظایف کم اهمیت تر در اولویت قرار دارد و این اولویت تا زمان اتمام آن کار یا وظیفه همچنان فعال است. علاوه بر این، در این نوع سیستم عامل برای یک کار خاص همیشه یک محدودیت زمانی تعیین می شود. این اتفاق باعث ایجاد تاخیرهای کوتاه مدت در انجام وظایف آینده می شود که قابل قبول است. به عنوان واقعیت مجازی (virtual reality)، سیستم رزرو کردن و غیره از این نوع سیستم عامل استفاده می کنند.
مزایای سیستم عامل بی درنگ
- از آنجایی که در این نوع سیستم عامل ها امکان حداکثر استفاده از منابع وجود دارد، از تمام منابع خروجی بیشتری گرفته می شود.
- این سیستم عامل بهترین مدیریت تخصیص حافظه را فراهم می کند.
- این سیستم عامل ها همیشه عاری از خطا هستند.
- این سیستم عامل ها بیشتر از اینکه روی برنامه های موجود در صف تمرکز کنند، روی اجرای برنامه ها متمرکزند.
- جابجایی از یک کار به کار دیگر زمان بسیار کمی را می گیرد.
معایب سیستم عامل بی درنگ
- منابع این نوع سیستم عامل بسیار گران هستند و چندان هم خوب نیستند.
- الگوریتم های استفاده شده در این سیستم عامل بسیار پیچیده هستند.
- در یک زمان فقط کارهای محدود می توانند انجام شوند.
- در چنین سیستم هایی ما نمی توانیم اولویت ها را تعیین کنیم چون این سیستم ها نمی توانند کارها را به راحتی تغییر بدهند.
نمونه هایی از سیستم عامل بی درنگ: سیستم های تصویربرداری پزشکی، روبات ها و غیره
سیستم عامل یا operating system موبایل (Mobile OS)
سیستم عامل تلفن همراه در واقع سیستم عامل مخصوص تلفن های هوشمند، تبلت ها و دستگاه های PDA (دستیار دیجیتال شخصی) است. این نوع سیستم عامل بستری برای اجرای برنامه های مختلف روی تلفن همراه ایجاد می کند.
مزایای سیستم عامل موبایل
- افزایش سهولت کار برای کاربران
معایب سیستم عامل موبایل
- برخی از سیستم عامل های تلفن همراه باعث پایین آمدن کیفیت باتری می شوند.
- برخی از سیستم عامل های تلفن همراه کاربر پسند نیستند.
نمونه هایی از سیستم عامل موبایل:
سیستم عامل آی او اس (ios)، اندروید (Android)، سیمبین (Symbian) و سیستم عامل ویندوز موبایل.
جمع بندی
از آنجایی که روز به روز نیاز ما به فناوری بیشتر می شود و نسل جوان به عنوان نسل آلفا (Gen Alpha) با داشتن دانش مربوط به فناوری وارد بازار کار می شود؛ نیاز به یک سیستم عامل خوب و کارآمد مهمترین اولویت برای هر کسب و کاری به حساب می آید. ما در این مطلب شما را با تاریخچه تکامل سیستم عامل و انواع آن آشنا کردیم. امیدواریم مطلب امروز ما برایتان مفید بوده باشد.