مدت زیادی است که مردم در مورد بهترین سیستم عامل برای توسعهدهندگان بحث میکنند. برای جواب دادن به این سوال، باید ابتدا چند نکته را به خوبی درک کنیم. مثلا:
- سیستم عامل چیست؟
- تاریخچهی سیستم عاملها
- نحوه عملکرد یک سیستم عامل
- انواع و نمونههایی از سیستم عاملها
- علت نیاز ما به یک سیستم عامل
وقتی به جواب تمام این مسائل دست پیدا کنیم، میتوانیم سیستم عامل مناسب خود را پیدا کرده و با نحوهی عملکرد آن آشنا شویم.
سیستم عامل چیست؟
امروزه همه از دستگاههای الکترونیکی مثل کامپیوتر، لپتاپ، موبایل یا تبلت استفاده میکنیم.
تمام این دستگاهها برای فعال کردن قابلیتها و عملکرد خود به یک سیستم عامل (OS) احتیاج دارند. عدهی کمی از مردم از ساختار سیستم عاملها مطلع هستند. بگذارید این موضوع را به زبان ساده بیان کنم، سیستم عامل یک رابط بین کاربر و دستگاه است.
حالا که میدانیم سیستم عامل چیست، باید یک قدم جلوتر رفته و با نحوهی ساخت آن آشنا شویم. بیایید در کنار یکدیگر بفهمیم که سیستم عاملها چگونه کار میکنند و چرا ما برای انجام کارهای خود به آنها نیاز داریم.
تاریخچه و تکامل سیستم عاملها
بگذارید یک حقیقت را به شما بگویم، اولین کامپیوترها دارای سیستم عامل نبودند. برنامههایی که روی این کامپیوترها اجرا میشدند، باید تمام کدهای لازم برای اجرا شدن در کامپیوتر را دارا میبودند. آنها میبایست با سخت افزار متصل ارتباط برقرار کرده و رایانش مربوط به برنامه را انجام میدادند. این مسئله باعث پیچیده شدن سادهترین برنامهها شد.
به خاطر وجود همین چالشها بود که تصمیم گرفتند نرمافزاری را توسعه دهند که نوشتن و اجرای برنامهها را آسانتر میکرد. اینجا بود که اولین سیستم عامل به وجود آمد.
اولین سیستم عامل در سال 1956 توسط جنرال موتورز برای اجرای یک کامپیوتر مرکزی IBM ساخته شد. سپس IBM در سال 1960 تولید و توزیع سیستم عاملها را شروع کرد.
اولین نسخه از Unix به زبان C نوشته شده بود و در دهه 60 توسعه پیدا کرد. این نسخه بلافاصله در دسترس قرار گرفت و به همین خاطر مردم به طور گسترده از آن استفاده و استقبال کردند. خیلی از سیستم عاملهای کامپیوتری مدرن مثل Apple OS X و نسخههای مختلف Linux به سیستم عامل Unix متکی هستند.
ویندوز مایکروسافت اولین بار به عنوان یک سیستم عاملی ساخته شد که میتوانست روی کامپیوترهای شخصی اجرا شود. اولین مدل از آن MS-DOS نام داشت و در سال 1981 ساخته شد. این یک اصطلاح در سیستم Seattle Computer Products بود که برای عملی کردن نیازهای IBM بروزرسانی شد.
امروزه اپل، ویندوز و اشکال مختلفی از لینوکس روی بازار سیستم عاملهای مدرن تسلط دارند.
نحوه عملکرد یک سیستم عامل
تصور کنید که قصد سفر به مکانی را دارید که تا به حال آنجا نبودهاید. مردم آنجا به زبانی صحبت میکنند که شما آن را نمیشناسید. حالا برای ارتباط برقرار کردن با مردم محلی به چه چیزی احتیاج خواهید داشت؟
مشخصاً در این سناریو، شما به یک مترجم نیاز دارید. این دقیقاً همان کاری است که سیستم عامل در کامپیوتر شما انجام میدهد. یک سیستم عامل، ورودی باینری را به زبانی قابل فهم برا انسان تبدیل میکند. در نبود سیستم عاملها هر برنامه به وسیلهای برای کار کردن با اجزای کامپیوتر و سختافزار نیاز خواهد داشت.
این مسئله باعث پیچیدگی و سنگین شدن برنامهها میشود. به همین خاطر یکی از اهداف اصلی سیستم عاملها، سازماندهی و کنترل سختافزار و نرمافزارهاست. سیستم عامل باعث میشود تا دستگاه به شیوهای انعطافپذیر اما قابل پیشبینی رفتار کند.
پس انواع مختلف سیستم عاملها چیست و چگونه کار میکنند؟
انواع سیستم عاملها
از زمان ساخت اولین سیستم عامل تا به حال، آنها دائماً تکامل پیدا کرده و وظایف بیشتری را بر عهده گرفتهاند. بیایید به رایجترین انواع سیستم عاملهای مورد استفاده در دنیای امروز نگاهی بیاندازیم.
1. سیستم عامل همزمان (Realtime)
این نوع از سیستم عامل حداکثر زمان لازم برای هر یک از عملیاتهای مهم را مشخص میکند. در نتیجه سیستم عامل تضمین میکند که یک عملیات در زمان معینی پردازش خواهد شد. برخی از این سیستمها امکان انجام چند کار را فراهم میکنند، اما الگوریتمهای خاصی را برای زمانبندی در نظر گرفتهاند. این موضوع نشان میدهد که سیستم عامل، وظایف را با توجه به اولویتهای خود تغییر میدهد تا مهلت زمانی برای انجام هر کار رعایت شود.
سیستمهای کنترل ترافیک هوایی، سیستمهای کنترل سلاح، سیستمهای کنترل صنعتی و ماشین آلات کنترل جزو نمونههایی از سیستم عامل همزمان یا همان Realtime هستند.
2. سیستم عامل چند برنامهای (Multiprograming)
گاهی اوقات ما آنها را به عنوان سیستم عاملهای چند وظیفگی میشناسیم چون به دو یا چند پروسه، اجازهی اجرا شدن به طور همزمان را میدهند. این بدان معناست که دادههای دو یا چند پروسه در هر لحظه میتواند در حافظه اولیه نگهداری شود.
هدف اصلی در سیستم عاملهای چند برنامهای، بهبود استفاده از منابع و توان سیستم است. آنها به گونهای کارها را سازماندهی میکنند که CPU همیشه یک کار برای انجام دادن داشته باشد.
3. سیستم عامل دستهای (Batch)
در این نوع از سیستم عاملها، کاربر کارهای خود را آماده کرده و آنها را در قالب دستگاهی مانند کارت یا نوار به اپراتور کامپیوتر ارائه میدهد. اپراتور آن کارها را با توجه به نیازهای رایانشی گروهبندی میکند. سپس کارها را به شکل دستهای اجرا میکند تا سرعت پردازش افزایش پیدا کند.
عدم تعامل کاربر با کامپیوتر، دشوار بودن اولویتبندی کارها بر اساس فوریت و بیکار بودن بیش از حد CPU به خاطر سرعت پایین دستگاههای ورودی/خروجی مکانیکی، جزو مشکلات مربوط به این سیستم عاملهاست.
4. سیستم عامل اشتراک زمانی (Time Sharing)
این سیستم عاملها شباهت زیادی به سیستم عاملهای چند برنامهای دارند. این سیستمها برای استفادهی چندین کاربر طراحی شدهاند، یعنی کاربران میتوانند از منابع کامپیوتری یکسانی استفاده کنند.
5. سیستم عامل توزیع یافته (Distributed)
این سیستم عاملها از ریزپردازندههای قدرتمندی استفاده میکنند که مدیون پیشرفتهای فناوری ارتباطات است. این پردازندهها گروهی از کامپیوترهای مجزا را جمعآوری کرده و آنها را به یک کامپیوتر واحد تبدیل میکنند. سیستم عاملهای توزیع یافته مطمئن میشوند که هنگام انجام رایانشهای سنگین، کامپیوتر میزبان بار کمتری را به دوش بکشد.
نمونههایی از سیستم عاملها
امروزه سیستم عاملهای زیادی در بازار وجود دارد. شرکتهای بزرگ تکنولوژی برای پاسخگویی به خواستههای مشتریان خود، سیستمهای متفاوتی را خلق کردهاند. هر یک از این سیستم عاملها ویژگیهای منحصر به فرد خودش را دارد. برخی از این سیستم عاملها از محبوبیت بیشتری نسبت به رقبای خود برخوردار هستند؛ به همین خاطر من لیستی از محبوبترین سیستم عاملهای کامپیوتر و موبایل را برای شما آماده کردهام.
سیستم عاملهای کامپیوتر
1. Microsoft Windows
همهی ما در زندگی خود از سیستم عامل ویندوز استفاده کردهایم. ویندوز 11 جدیدترین نسخه از ویندوز است و نسخههای قدیمی به ترتیب ویندوز 10، 1.8، 8، 7، ویستا، XP و 2000 بودهاند.
2. Mac
این سیستم عامل توسط شرکت اپل و برای کامپیوترهای اپل طراحی شده است. این سیستم عامل بر روی تمام کامپیوترهای Macintosh به صورت پیش فرض نصب شده است.
3. Linux
لینوکس برای افرادی ساخته شده که با سختافزار و نرمافزارهای کامپیوتری آشنایی دارند. لینوکس شامل توزیعهایی مثل Ubuntu، Parrot، Debian، Linux Mint، Fedora، Kali Linux و غیره است.
سیستم عاملهای کروم و اندروید را نیز میتوان جزو سایر سیستم عاملها به حساب آورد.
سیستم عاملهای موبایل
موبایلهای هوشمند نیز مانند کامپیوترها، دارای سیستم عاملهای خاص خود هستند. از سیستم عاملهای مربوط به موبایل میتوان به مواردی مثل Android، Apple iOS، Windows Mobile،Blackberry ، Palm و Symbian اشاره داشت.
سیستم عاملها چکار میکنند؟
ما به این دلیل از سیستم عامل استفاده میکنیم چون در انجام برخی از کارهای مختلف به کمک نیاز داریم. من در اینجا برخی از عملکردهای مهم و اصلی یک سیستم عامل را برای شما فراهم آوردهام:
مدیریت پردازنده
سیستم عاملها پردازنده را مدیریت میکنند. گاهی اوقات به آن زمانبندی پردازشها نیز گفته میشود. مدیریت پردازنده شامل موارد زیر است:
- اطمینان حاصل کردن از اینکه هر برنامه و پروسه، زمان کافی را برای پردازش دریافت میکند
- پیگیری وضعیت پروسهها
مدیریت حافظه
سیستم عاملها میتوانند حافظهی اولیه یا اصلی یک کامپیوتر را نیز مدیریت کنند. عملکردهای سیستم عامل برای مدیریت حافظه به شرح زیر است:
- در صورت وجود درخواست، دسترسی به حافظه را برای پروسه امکانپذیر میکنند. با تکمیل شدن پروسه، امکان دسترسی آن به حافظه نیز برداشته میشود.
- حافظه اولیه را زیر نظر میگیرد.
مدیریت دستگاه
سیستم عامل با کمک درایورهای مربوطه، دستگاه را مدیریت میکند. مجموعه کارهایی که برای مدیریت دستگاه انجام میشود، به شرح زیر است:
- تمام دستگاههای متصل به یک سیستم را تحت نظر دارد.
- در مورد نوع پروسه و مدت زمان دسترسی به دستگاه تصمیمگیری میکند.
- دستگاهها را به روشی موثر و کارآمد در دسترس قرار میدهد. همچنین در صورت عدم نیاز، دسترسی به دستگاهها را رد میکند.
مدیریت فایل
یک سیستم عامل میتواند فعالیتهای مربوط به مدیریت فایل را نیز انجام دهد:
- محل ذخیرهسازی اطلاعات را تحت نظر دارد
- تنظیمات دسترسی کاربر، وضعیت هر فایل و موارد دیگر را مدیریت میکند. این امکانات به طور کلی سیستم فایل را تشکیل میدهند.
برنامهریزی کارها
سیستم عامل میتواند کارهایی که در اولویت هستند را شناسایی کرده و ابتدا آنها را مورد پردازش قرار دهد. آنها زمان و منابع استفاده شده توسط کارها یا کاربران را نیز تحت نظر خواهند داشت.
مدیریت خطا
سیستم عامل روی خطاهای رخ داده نظارت دارد و اشکالات سختافزاری و نرمافزاری را مورد بررسی قرار میدهد.
مزایای سیستم عاملها
استفاده کردن از سیستم عامل مزایای زیادی دارد که برخی از آنها را قبلا به طور خلاصه بررسی کردیم. حالا بیایید به سایر دلایل مهم نگاه کنیم:
1. اشتراک منابع: سیستم عاملها فرصتی را برای به اشتراک گذاشتن منابع با سایر کاربران فراهم میکنند. منابعی مثل فایلها، فیلمها، تصاویر، برنامهها، پرینترها، مودمها و سایر موارد دیگر.
2. امنیت: این وظیفهی یک سیستم عامل است که مطمئن شود تمام دادههای موجود ایمن هستند.
3. کاربرپسند: رابط کاربری ارائه شده توسط GUI در مقایسه با رابط خط فرمان بسیار کاربرپسندتر است. این رابط دارای نمادها، دکمهها، منوها و سایر نمایشهای گرافیکی است که باعث فهمیدن آسانتر آنها میشود. به همین خاطر کاربران میتوانند به راحتی با دستگاه ارتباط برقرار کنند.
4. چندوظیفگی: کاربران با استفاده از یک سیستم عامل میتوانند چندین کار را به طور همزمان انجام دهند. دیگر برای باز کردن پنجرههای جدید به بستن پنجرههای قبلی نیاز ندارید.
معایب سیستم عاملها
درست مانند هر چیز دیگری، سیستم عاملها نیز دارای معایبی هستند:
1. هزینه: سیستم عاملهای منبع باز رایگان هستند، اما سیستم عاملهای معمولی گران به حساب میآیند. البته میتوانید از نسخههای رایگان آنها نیز استفاده کنید اما قابلیتهای بکار گرفته شده در نسخههای رایگان معمولاً محدود است.
2. حملات ویروسی: خطر حملات ویروسی همیشه در سیستم عاملها بیشتر دیده میشود. گاهی اوقات ممکن است برنامههای مخربی را دانلود کنیم، از سایتهای مخرب دیدن کنیم یا ایمیلهای ویروسی را باز کنیم، تمام این مسائل میتواند کامپیوتر را در برابر ویروس آسیبپذیر کند.
3. پیچیدگی: زبانهای بکار گرفته شده در فرآیند توسعهی یک سیستم عامل، برای افراد معمولی پیچیده است. به همین خاطر همیشه نمیتوانید مشکلات را تنها با نگاه کردن حل کنید.
4. خرابی سیستم: سیستم عامل، قلب سیستم کامپیوتری است. اگر این سیستم عامل به هر دلیلی از کار کردن دست بکشد، تمام سیستم خراب خواهد شد.
نحوه انتخاب سیستم عامل
ما در کنار هم سیستم عاملها را بررسی کردیم و با نحوه عملکرد آنها آشنا شدیم. حالا که از نقاط قوت و ضعف آنها مطلع شدیم، بیایید ببینیم که هنگام انتخاب کردن سیستم عامل باید به چه نکاتی دقت کنیم:
1. پیکربندی سختافزار
مطمئن شوید که به نرمافزاری که برای ارائه خدمات استفاده میکنید، دسترسی دارید. شما تنها به نرمافزاری نیاز دارید که در ارائه خدمات کمکتان کند. سیستم عامل را با توجه به نیازهای خود انتخاب کنید.
2. هزینه و پشتیبانی
مطمئن شوید که میتوانید از پس هزینهها برآیید. به طور کلی Mac نسبت به سایر سیستم عاملها گرانتر است. شما میتوانید سیستم عاملهای ارزان یا رایگان نیز بگیرید اما باید در انتخاب آنها دقت کنید.
3. کاربرپسند بودن
به رابط کاربری موجود در سیستم عاملهای مختلف فکر کنید. آیا آنها مبتنی بر خط فرمان، منو محور یا گرافیکی هستند؟
جمعبندی
بیایید به اولین سوال خود برگردیم؛ محبوبترین سیستم عامل چیست؟
طی یک نظرسنجی در Stack Overflow، از 80 هزار توسعهدهنده نیز همین سوال پرسیده شد و آنها ویندوز را پرکاربردترین سیستم عامل دانستند.
شما از کدام سیستم عامل در کامپیوتر یا موبایل خود استفاده میکنید؟ من در کامپیوتر خود از ویندوز و در موبایل از اندروید استفاده میکنم.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید