در جهان دیجیتال امروز، بسیاری از دیوایسهای الکترونیکی – مانند کامپیوترها، موبایلهای هوشمند، تبلتها و گجتهای گوناگون – از سیستم عامل بهرهمند شدهاند. سیستم عاملها را میتوان مغز چنین دستگاههایی توصیف کرد که وظیفه تشخیص فرمانهای کاربر و پیادهسازی آنها را بر عهده دارد. در این مطلب با کدویز کیدز بلاگ همراه باشید تا نهتنها ببینیم سیستم عامل چیست بلکه کاربردها، ویژگیها و اجزای آن را نیز بررسی کنیم.
سیستم عامل چیست ؟
سیستم عامل (Operating System | OS) نوعی نرمافزار است که روی انواع کامپیوترها اجرا میشود. با این نرمافزار میتوان تمام اپلیکیشنها و برنامههای نصبشده روی کامپیوتر را مدیریت کرد و از طرف دیگر به تعامل با سختافزار دستگاه پرداخت.
برنامهها و اپلیکیشنها، از طریق «رابط برنامهنویسی اپلیکیشن» (Application Program Interface | API) درخواست خدمات و وظایف گوناگون را برای سیستم عامل ارسال میکنند. از سوی دیگر نیز نرمافزاری به نام «کرنل» (Kernel) داریم که تمام اجزای بنیادین سیستم عامل را در خود جای داده است و نقش هسته را در برنامه اصلی سیستم عامل ایفا میکند. تمام کامپیوترهای امروزی برای اجرای برنامههای گوناگون باید حداقل به یک سیستم عامل مجهز شده باشند. برای درک بهتر، سیستم عامل را میتوان به رستورانی تشبیه کرد که اجزای گوناگون مانند آشپزخانه و فضای پذیرایی و همینطور کارمندان متعدد دارد. در این مثال، کرنل را میتوان به سرآشپز رستوران تشبیه کرد که وظایف را تقسیم و از پیشروی صحیح فرایندها اطمینان حاصل میکند.
ویندوز، لینوکس، اندروید و iOS، همگی در دستهبندی «سیستم عامل» قرار میگیرند. این نرمافزارها به شما اجازه میدهند برنامههایی مانند آفیس و یا بازیهای ویدیویی را روی کامپیوتر و گوشی خود به اجرا درآورید. ناگفته نماند که حتی برای برنامههای ساده مانند مرورگر اینترنت هم نیاز به یک سیستم عامل خواهید داشت.
کارکردهای گوناگون سیستم عامل چیست ؟
سیستم عاملها باید به وظایف و کارکردهای گوناگونی رسیدگی کنند تا از عملکرد بینقص و روان کامپیوترها و سایر دیوایسها اطمینان حاصل شود:
- مدیریت حافظه: سیستم عامل مسئولیت تخصیص حافظه به برنامههای ضروری را برعهده دارد تا وظایف مورد نیاز کاربر به روانترین شکل و بدون اختلال پیش بروند.
- مدیریت منابع سیستم: سیستم عامل زمان و منابع پردازشی پردازنده مرکزی (CPU) را هم مدیریت میکند و به انتخاب میان فرایندهای مهمتر و بهینهسازی مصرف پردازنده مشغول میشود.
- مدیریت دستگاه: سیستم عامل مدیریت اتصالات ورودی و خروجی و همینطور درایورها را نیز برعهده دارد. به همین ترتیب فرایندهای گوناگون به سختافزار واگذار و وضعیت آنها پایش میشود.
- مدیریت فایل: سیستم عامل وظایفی مانند ساخت، حذف، انتقال و ذخیرهسازی فایلها را نیز برعهده دارد و از امنیت آنها اطمینان حاصل میکند.
- مدیریت فضای ذخیرهسازی: سیستم عامل به تمام فایلها و آدرسهای آنها دسترسی دارد و میتواند علاوه بر سامان دادن به فایلها، مصرف فضای ذخیرهسازی را بهینه کند.
- تامین امنیت: سیستم عامل از فایروالها (Firewalls) و دیگر تدابیر امنیتی موجود برای جلوگیری از دسترسی غیرمجاز به فایلها و مسدودسازی تهدیدها کمک میگیرد.
- بررسی مداوم عملکرد سیستم: سیستم عامل بر تمام فعالیتهای سیستمی – از جمله مصرف منابع و خطاها – اشراف دارد و از عملکرد بهینه دستگاه اطمینان حاصل میکند.
- تشخیص خطا: با توجه به اینکه سیستم دائما برای یافتن انواع خطاها و تهدیدها اسکن میشود، سیستم عامل میتواند از سیستم محافظت کند و اعلانات ضروری را به دست کاربر برساند.
- همگامسازی نرمافزار و سختافزار: در نهایت سیستم عامل از همگام بودن سختافزار و نرمافزار مطمئن میشود تا کاربر تجربهای روان به دست آورد.
در بالا با کارکردهای بنیادین تمام سیستم عاملها آشنا شدیم. اما سیستم عاملهای مدرن قابلیتهایی پیشرفته و اضافه نیز دارند:
- پشتیبانی از مجازیسازی: سیستم عامل اجازه میدهد چندین ماشین مجازی به صورت همزمان روی تنها یک ماشین فیزیکی به اجرا درآیند و استفادهای بهینه از منابع داشته باشند.
- یکپارچگی با حافظه ابری: سیستم عاملهای امروزی میتوانند ارتباطی ناگسستنی با سرویسهای ابری (Cloud) داشته باشند و همگامسازی داده یا بکاپگیری را بینهایت آسان کنند.
- مدیریت انرژی: این قابلیت که بهخصوص روی سیستم عاملهای گوشی و لپتاپ ضروری است، منابع سختافزاری و فرایندهای پسزمینه را بهگونهای مدیریت میکند که عمر باتری به حداکثر برسد.
- امنیت پیشرفته: قابلیتهایی مانند احراز هویت بیومتریک (مثلا با چشم یا اثر انگشت)، رمزنگاری اطلاعات و ارائه بهروزرسانیهای امنیتی دائمی باعث میشوند سیستم عاملهای مدرن بسیار ایمن باشند.
- بهروزرسانی خودکار: سیستم عاملها میتوانند بهروزرسانی و برطرفسازی نواقص را به صورت خودکار پیش ببرند و هیچ زحمت اضافهای برای کاربر به وجود نیاورند.
- پشتیبانی از اینترنت اشیا: سیستم عاملهای امروزی را میتوان به دستگاههای هوشمند خانگی و به اصطلاح اینترنت اشیا (Internet of Things | IoT) نیز متصل کرد و تعاملات گوناگون با آنها داشت.
- هوش مصنوعی و یادگیری ماشین: سیستم عاملهای مدرن از هوش مصنوعی و یادگیری ماشین هم برای تحلیل بهتر سیستم، شخصیسازی فرایندها و بالا بردن تعاملات کاربر هم کمک میگیرند.
با مرور این قابلیتها میتوان به خوبی متوجه شد سیستم عاملها در گذر زمان چگونه به تکامل رسیدهاند و با ارائه تکنولوژیهای تازه، تجربهای بهتر در اختیار کاربران میگذارند.
مزایای سیستم عامل چیست ؟
نصب سیستم عامل روی سیستمها مزایای گوناگون به همراه میآورد که برخی از مهمترین موارد را در پایین لیست کردهایم:
- حصول اطمینان از مصرف بهینه و صحیح از سختافزار
- امکان اجرای اپلیکیشنهای گوناگون به صورت همزمان
- مدیریت آسان فایلها و فولدرها
- دسترسی به رابط کاربری گرافیکی (Graphical User Interface | GUI) و کسب تجربه بصری
- اطمینان از امنیت اطلاعات شخصی و تجاری
- مدیریت بهینه منابع در دسترس
- مدیریت نمایش، پرینت و انتقال داده از طریق تجهیزات جانبی
- ارائه پلتفرمی برای توسعه نرمافزار
انواع سیستم عامل
سیستم عاملها در گذر زمان به تکامل چشمگیر رسیدهاند و کاملا با نرمافزارهای ساده ۳۰ سال پیش فرق دارند. علاوه بر این، پیشرفت تکنولوژی منجر به شکلگیری انواع مختلفی از OS شده که در ادامه با آنها آشنا میشوید.
- سیستم عامل دستهای (Batch OS) مقادیر فراوانی از داده را مدیریت و محاسبات پیچیده را امکانپذیر میکند و از سوی دیگر نیازی به کمک چندان از سوی کاربر ندارد. از این نوع سیستم عامل برای مثال در کامپیوترهایی استفاده میشود که نیاز به پردازش برههای مقادیری عظیم از داده دارند. ضمنا اگرچه این نوع از OS در برخی سناریوها کاربردی ظاهر میشود، پردازش مدرن عمدتا با سیستمهای تعاملیتر و در لحظه پیش میرود.
- سیستم عامل توزیعی (Distributed OS) میتواند چندین کامپیوتر مختلف را مدیریت کند و میان آنها توزیع شود. این نوع از OS اهمیتی بیشتر و بیشتر در رایانش ابری و لبهای (Edge Computing) پیدا میکند و اجازه میدهد اپلیکیشنهای بزرگ و توزیعشده را به بهینهترین شکل مدیریت کنید.
- سیستم عامل چندکاره (Multitasking OS) اجازه میدهد چندین کار را به صورت همزمان پیش ببرید و دائما نیز بهبود مییابد. سیستمعاملهای چندکاره امروزی در تخصیص منابع به وظایف گوناگون مهارت فراوان دارند و اجازه میدهند انبوهی اپلیکیشن را همزمان باز کنید.
- سیستم عامل شبکه (Network OS) مجموعهای از کامپیوترهای متصل به شبکه را مدیریت و امکان اشتراکگذاری فایلها و اطلاعات را مهیا میکند. با توجه به محبوبیت روزافزون سرویسهای ابری، سیستمعاملهای شبکه هم قابلیتهای بیشتری برای اشتراکگذاری و اتصال ارائه میکنند.
- سیستم عامل در لحظه (Real-Time OS | RTOS) زمانی ضروری خواهد بود که بخواهید وظایف فورا پیش بروند، مثلا در رباتها و دستگاههای اینترنت اشیا.
- سیستم عامل موبایل (Mobile OS) در دهههای اخیر پیشرفت چشمگیر داشته است و اکنون چندین OS با ظاهر و کاربردهای پیشرفته داریم. این نوع از سیستمعاملها روی ارائه تجربهای یکسان روی پلتفرمهای گوناگون تمرکز دارند.