سیستم عامل چیست؟
اگر شما هم آدم کنجکاوی باشید، برایتان سوال ایجاد شده است که چرا باید روی سیستم کامیپوتر خودمان سیستم عامل نصب کنیم؟ سیستم عامل به چه دردی می خورد و چرا این همه سیستم عامل مختلف وجود دارد؟ کدام یک برایمان مناسب تر است و این سیستم عامل ها چه تفاوتی با یکدیگر دارند؟ همراه ما باشید تا پاسخ این سوالات را بررسی کنیم.
سیستم عامل را باید به عنوان نرم افزاری در نظر گرفت که مانند یک مترجم میان کاربر و سیستم قرار می گیرد و درخواست های کاربر را برای سیستم ترجمه می کند و خطاها و مشکلات سیستم را برای کاربر قابل درک می کند.
سیستم عامل چیست؟
اولین و مهم ترین نرم افزاری که روی هر سیستمی نصب می شود، سیستم عامل است. تا سیستم عامل نباشد، نرم افزارهای دیگر هم نخواهند بود، اما چرا؟ به این دلیل که سیستم عامل مانند یک مترجم بین شما و کامپیوترتان عمل می کند و تا زمانی که سیستم عامل را نصب نکنید، ارتباطی بین شما و سیستمتان صورت نخواهد گرفت و نه شما حرف های آن را می فهمید و نه کامپیوتر دستورات و درخواست های شما را متوجه می شود که اطاعت کند.
جالب است بدانید که اولین کامیپوتر جهان که Z1 نام داشت، در سال های 1936 تا 1938 ساخته شده است و پس از بیست سال (یعنی در حدود سال های 1956) اولین سیستم عامل دنیا ساخته شد.
پس از آن در دهه 1960 شرکتی به نام bell یک سیستم عامل چند وظیفه ای طراحی کرد که یونیکس نام داشت.
در سال های 1977، سیستم عامل سری اپل ساخته شده که اولین سیستم عاملی که مبتنی بر دیسک بود، apple Dos 3.3 بود.
4 سال بعد، شرکت مایکروسافت، نرم افزار Dos 86 را از شرکت سیاتل خریداری کرد و اولین سیستم عامل که Dos نام داشت، ساخته شد.
سال 1985 سال طلایی برای ویندوز ها و مایکروسافت بود؛ چرا که MS-DOS با محیط گرافیکی همراه شد و معروف ترین ویندوز های شرکت مایکروسافت ساخته شد.
ما در مقاله همه چیز در مورد سیستم عامل ویندوز، به صورت مفصل در این مورد صحبت کرده ایم؛ اگر علاقه مند باشید، می توانید این مقاله را مطالعه کنید. به جز سیستم عامل ویندوز، سیستم عامل لینوکس نیز وجود دارد که با هدف جایگزینی یونیکس آمد؛ چرا که یونیکس سیستم عامل گرانی بود و در عوض لینوکس رایگان است. شما می توانید به صفحه خرید سرور مجازی ویندوز (Windows VPS) و خرید سرور مجازی لینوکس (Linux VPS) سر بزنید و بدون دردسر نصب، آن ها را در سرورتان داشته باشید.
بررسی عملکرد سیستم عامل
تا این جا تا حدودی با تاریخچه سیستم عامل و سیستم عامل چیست آشنا شدیم، پس بهتر برویم سراغ بررسی عملکرد سیستم عامل.
مدیریت کردن پردازنده
یکی از کارهایی که سیستم عامل انجام می دهد، این است که کارهای پردازنده را مدیریت کند. به این صورت که سیستم عامل درست مانند یک مدیر، وظایفی را به پردازنده محول می کند و از این که این وظایف در زمان صحیح انجام شوند، مطمئن می شود.
مدیریت کردن حافظه
همانطور که سیستم عامل وظایفی را برای پردازنده تعیین می کند، همین کار را با حافظه نیز انجام می دهد؛ وظایفی را تعیین می کند و برای آن که حافظه بتواند از پس عملکردهای مختلف برآید، آن را آزاد می کند. وظیفه دیگری که سیستم عامل انجام می دهد، این است که مطمئن شود، انجام یک فرایند، حافظه مربوط به فرایند دیگر را اشغال نمی کند.
مدیریت کردن دستگاه
در یک سیستم دستگاه های ورودی و خروجی مختلفی وجود دارند که وظیفه سیستم عامل این است که کارکرد این دستگاه های ورودی و خروجی را کنترل کند.
کاری که سیستم عامل انجام می دهد این است که درخواست های این دستگاه ها را دریافت کند و عملیاتی را روی آن ها انجام دهد و دوباره با روند درخواست ارتباط برقرار کند.
مدیریت کردن فایل ها
سیستم عامل مدیریت فایل ها را به این صورت انجام می دهد که اطلاعاتی که مربوط ایجاد کردن، ذخیره سازی، حذف کردن، انتقال و کپی کردن فایل ها است، ثبت و سازمان دهی می کند. وظیفه دیگری که سیستم عامل انجام می دهد، این است که ساختار دایرکتوری را حفظ کند، اما چگونه؟ به این صورت که از یکپارچگی و دسترسی غیرمجاز به داده ها جلوگیری می کند.
تامین کردن امنیت
سیستم عامل از تکنیک های مختلفی استفاده می کند که بتواند امنیت و یکپارچگی داده های کاربران را تامین کند؛ این تکنیک ها شامل موارد زیر است:
محافظت در برابر دسترسی غیرمجاز در ورود به سیستم
فعال نگه داشتن فایروال برای محافظت از نفوذ غیرمجاز
حفاظت کردن از حافظه سیستم در برابر دسترسی های غیرمجاز و خرابکارانه!
نشان دادن پیام های مرتبط با آسیب پذیری های سیستم
تشخیص دادن خطاها
یکی از کارهایی که سیستم عامل انجام می دهد، این است که سیستم را از نظر تهدیدات خارجی و نیز فعالیت های بدافزار ها بررسی می کند و به صورت کلی آسیب های احتمالی سخت افزار ها را بررسی می کند و هشدارهایی را به کاربر نشان می دهد تا بتواند در برابر صدمات احتمالی اقدامات مناسب را انجام دهد.
زمان بندی کردن کارها
در سیستم عامل های چند وظیفه ای، تعدادی از برنامه ها به صورت همزمان اجرا می شوند که وظیفه ای که سیستم عامل دارد، این است که تعیین کند که برنامه ها با چه ترتیبی اجرا شوند و چه تایمی به هر برنامه در حال اجرا اختصاص داده شود.
اجزای مختلف سیستم عامل
در قسمت بالا در مورد عملکرد سیستم عامل صحبت کردیم و وظایف سیستم عامل را بررسی کردیم؛ اما برای آن که یک سیستم عامل بتواند وظایف خودش را به درستی انجام دهد، نیاز است که دو جز پوسته یا همان shell و هسته یا همان kernel.
اما وظایف پوسته و هسته چیست و چگونه به سیستم عامل برای انجام وظایف کمک می کند؟
- پوسته
بیرونی ترین لایه سیستم عامل پوسته است که تعاملات کاربران را کنترل می کند؛ تعامل بین کاربر و سیستم عامل به کمک پوسته به روش زیر مدیریت می شود:
- دریافت درخواست های کاربر از طریق دستگاه های ورودی
- تفسیر کردن ورودی ها
- مدیریت کردن خروجی ها
ارتباطی که پوسته بین کاربر و سیستم عامل برقرار می کند، از طریق دریافت ورودی از کاربر یا اسکریپت پوسته است. اسکریپت پوسته (shell script) یک دنباله از دستورات سیستمی است که در یک پرونده ذخیره می شود.
- هسته
اصلی ترین مولفه سیستم عامل هسته است که به عنوان یک رابط بین برنامه ها عمل می کند. برای آن که عملکرد هسته را در سیستم عامل متوجه شوید، باید بگوییم که داده ها در سطح سخت افزاری، به وسیله هسته پردازش می شوند.
زمانی که سیستم عامل در حافظه سیستم بارگیری می شود، هسته سیستم اولین چیزی است که بارگیری می شود و این هسته در زمان خاموش شدن سیستم عامل در حافظه می ماند و پس از آن کار هسته شروع می شود؛ به این صورت که منابع کامپیوتر را تامین و مدیریت می کند و به برنامه های دیگر دسترسی می دهد تا بتوانند از این منابع استفاده کنند.
کار دیگری که هسته انجام می دهد، این است که حافظه سیستم عامل را برای برنامه های مختلف تنظیم می کند و فایل ها را با کد برنامه در حافظه بارگیری و بسته اجرایی برنامه ها را تنظیم می کند.
پردازش، مدیریت حافظه، مدیریت وقفه و … از جمله کارهای اساسی در سیستم است که در گذشته تمامی این موارد، در یک ماژول واحد در هسته انجام می شدند؛ که این نوع هسته، هسته یکپارچه (monolithic kernel) گفته می شد؛ این نوع هسته برای یک تغییر کوچک نیز باید از اول دوباره کامپایل می شد و این یک ایراد محسوب می شد.
در سیستم عامل های مدرن، یک ریز هسته که ماژول های مختلف از جمله مدیریت دستگاه، مدیریت فایل و … وجود دارد. در این سیستم عامل های مدرن، اندازه هسته کوچک تر شده است، اما پایداری آن افزایش یافته است.
حالا که با اجزای سیستم عامل آشنا شدید و وظایف هرکدام را دانستید، برویم تا انواع سیستم عامل ها را بررسی کنیم.
انواع سیستم عامل ها
- سیستم عامل های چند وظیفه ای
- سیستم عامل های دسته ای
- سیستم عامل های شبکه ای
- سیستم عامل های توزیع یافته
- سیستم عامل موبایل
سیستم عامل های چند وظیفه ای
سیستم عامل های چند وظیفه ای، با نام سیستم عامل اشتراک زمانی نیز شناخته می شود؛ در این نوع از سیستم عامل، هر کاری مدت زمان خاصی دارد تا تمام وظایف به صورت کارآمد عمل کنند.
سیستم عامل چند وظیفه ای امکان دسترسی برای تعداد زیادی از کاربران را فراهم می سازد که در یک سیستم واحد به طور همزمان قرار می گیرند و زمان پردازنه را دریافت می کنند.
در سیستم عامل چند وظیفه ای یا (Multitasking OS) به مدت زمانی که برای انجام یک وظیفه اختصاص داده شده است، کوانتوم گفته می شود که به محض تمام شدن آن، سیستم عامل به سراغ اجرای وظیفه دیگر می رود.
این نوع سیستم عامل مزایا و معایب خاص خودش را دارد که در زیر بیان می کنیم:
مزایای سیستم عامل های چند وظیفه ای
- زمان اجرا برای هر تسک، برابر است.
- پردازنده زمان بیکاری بسیار پایینی دارد
- برای تکثیر نرم افزارها، احتمال کمی وجود دارد
معایب سیستم عامل های چند وظیفه ای
- نمی توان برای یک وظیفه، اولویت تعیین کرد و تمام وظایف اولویت یکسانی دارند و یکی بر دیگری برتر نیست.
- از دسترسی غیر مجازی که ممکن است به داده های کاربران وجود داشته باشد، باید ممانعت به عمل آید.
- در سیستم عامل های چند وظیفه ای گاهی مشکل ارتباط داده ای به وجود می آید.
یونیکس و لینوکس یکی از سیستم عامل های چند وظیفه ای است. ما در مقاله سیستم عامل لینوکس چیست به صورت مفصل در مورد سیستم عامل لینوکس صحبت کرده ایم؛ اگر علاقه مند به دنیای لینوکس باشید، مطالعه این مقاله را از دست ندهید.
سیستم عامل های دسته ای
این نوع سیستم عامل، اولین سیستم عامل رایانه های نسل دوم است که به صورت مستقیم با سیستم ارتباط برقرار نمیکند و به جای آن، یک اپراتور، وظایفی که هر کاربر انجام می دهد را دسته بندی می کند و این دسته ها بر اساس نظام نوبتی اولین ورودی، اولین سرویس، ارائه می شود.
مزایای سیستم عامل دسته ای
- مدت زمانی که برای وظایف مشابه اختصاص داده می شود، بالاتر است.
- چندین کاربر امکان به اشتراک گذاری سیستم های دسته ای را دارند.
- در سیستم های دسته ای، آسان تر می توان کارهای بزرگ را مدیریت کرد.
- تایم آماده به کار برای یک دسته واحد بسیار کم است.
معایب سیستم عامل دسته ای
- در سیستم عامل های دسته ای اشکال زدایی کار راحتی نیست!
- در صورتی که شکستی در انجام یکی از وظایف به وجود آید، وظایف دیگر باید تا مدت زمان مشخصی منتظر حل شدن مساله باشند.
- ایراد دیگری که در سیستم عامل های چند دسته ای وجود دارد، این است که گاهی اوقات هزینه بر هستند.
- از جمله سیستم عامل های چند دسته ای که می توان به آن اشاره کرد، سیستم حقوق و دستمزد، سیستم ورود داده ها، صورت حساب های بانکی و … است.
سیستم عامل توزیع یافته
اگر بخواهیم به یکی از پیشرفت های اخیر در زمینه فناوری اشاره کنیم، سیستم عامل توزیع یافته یکی از آنهاست که با سرعت زیاد همه گیر شده است و مورد استفاده قرار می گیرد. در این سیستم عامل، سیستم های مختلف به وسیله یک کانال ارتباطی به یکدیگر اتصال پیدا می کنند. هر کدام از این سیستم های کامپیوتری مستقل، واحد حافظه و پردازنده مخصوص خودشان را دارند که با عنوان سیستم های اتصال آزاد شناخته می شوند.
فرایند های انجام شده در سیستم عامل توزیع یافته در اندازه های مختلف می تواند باشد و این فرایند ها می توانند عملکردهای مختلفی را انجام دهند.
بزرگ ترین مزیتی که سیستم عامل های توزیع یافته دارند، این است که کاربران می توانند به فایل هایی دسترسی داشته باشند که در سیستم خود کاربر وجود ندارد و در سیستم فرد دیگری که متصل است، وجود دارد. سیستم عامل توزیع یافته امکان کنترل ریموت از راه دور سیستم های متصل به این شبکه را فراهم می کند.
مزایای سیستم عامل توزیع یافته
- از آن جایی که در سیستم عامل توزیع یافته تمام کامپیوتر ها در سیستم ها جدا و مستقل از هم هستند، خراب شدن یک سیستم بر سیستم دیگر تاثیر نمی گذارد.
- در سیستم عامل توزیع یافته، بار سیستم عامل میزبان کاهش پیدا می کند.
- در سیستم عامل توزیع یافته، حجم شبکه مقیاس پذیر است؛ دلیل این موضوع نیز این است که رایانه های زیادی می توانند به شبکه افزوده شوند.
- محاسبات با سرعت بیشتری در سیستم عامل توزیع یافته انجام می شوند و این موضوع به دلیل آن است که حجم کار و منابعی که در این سیستم عامل مورد استفاده قرار می گیرد، مشترک است.
- سرعت تبادل اطلاعات به کمک ایمیل ها بیشتر می شود.
معایب سیستم عامل توزیع یافته
- هزینه راه اندازی سیستم عامل توزیع یافته زیاد است.
- نرم افزارهایی که برای سیستم عامل های توزیع یافته استفاده می شوند، بسیار پیچیده هستند.
- خراب شدن شبکه اصلی سبب خراب شدن کل سیستم می شود.
- سیستم عامل LOCUS یکی از سیستم عامل های توزیع یافته است.
سیستم عامل موبایل
سیستم عامل های موبایل سیستم عامل، برای تلفن های هوشمند، تبلت ها و دستگاه های PDA است. این نوع سیستم عامل یک بستر برای به اجرا درامدن برنامه های مختلف بر روی تلفن همراه ایجاد می کند.
مزایای سیستم عامل موبایل
راحت بودن استفاده برای کاربران
معایب سیستم عامل موبایل
- بعضی از سیستم عامل های موبایل، کیفیت باتری را کاهش می دهند.
- تعدادی از آن ها کاربرپسند نیستند.
- اندروید، IOS، سیمبین (Symbian) تعدادی از سیستم عامل های موبایلی هستند که مورد استفاده قرار می گیرند.
سیستم عامل های شبکه ای
سیستم عامل های شبکه ای، نوعی از سیستم عامل هستند که بر روی سرور اجرا می شوند و تمامی عملکردهایی که مربوط به شبکه هستند را مدیریت می کنند. این سیستم عامل ها قابلیت به اشتراک گذاری فایل ها، چاپگرها، برنامه ها، امنیت و دیگر توابع شبکه را در شبکه کوچک تری از رایانه ها مانند LAN یا هر شبکه خصوصی دیگر مهیا می کند.
جالب است بدانید که در سیستم عامل های شبکه ای، کاربران می توانند از تنظیماتی که کاربران دیگر بر روی شبکه اعمال می کنند، آگاه شوند و این موضوع سبب شده است که به سیستم عامل های شبکه ای، سیستم عامل های کاملا متصل گفته شود.
مزایای سیستم عامل شبکه ای
- ارتقا سیستم به کمک فناوری ها و سخت افزارهای جدید به راحتی ممکن است.
- امنیت سیستم را می توان از به کمک سرور ها مدیریت کرد.
- پایداری بیشتری در سرور های متمرکز وجود دارد.
معایب سیستم عامل شبکه ای
- اولین موردی که می توانیم به آن اشاره کنیم، هزینه بالاتر سرور این نوع سیستم عامل است.
- این سیستم عامل نیاز به بروز رسانی و نگهداری منظم دارد.
- کاربران برای آن که بتوانند بیشترین تعداد عملیات را انجام دهند، به مکان مرکزی وابستگی دارند.
- سرور مایکروسافت ویندوز 2008 و لینوکس از نمونه های سیستم عامل شبکه ای هستند.
سخن آخر
در این مقاله در مورد سیستم عامل ها صحبت کردیم و بیشتر انواع آن را معرفی کردیم و سعی کردیم به سوالاتی که در ابتدای مقاله وجود داشت، پاسخ دهیم. ما مزایا و معایب هریک از سیستم عامل ها را توضیح دادیم تا شما بر اساس نیاز خودتان، اقدام به نصب سیستم عامل کنید. در صورتی که سوالی در این زمینه داشته باشید، با ما در قسمت نظرات مطرح کنید تا در کمترین زمان پاسخ دهیم.
سوالات متداول:
آیا می توان سیستم عامل دسکتاپ را روی سرور نیز نصب کرد؟
سیستم عاملی که بر روی سرور نصب می شود، با سیستم عامل دسکتاپ متفاوت است.