مبانی، معماری، و محیطهای محاسباتی
مهدی فیضی/مجید حسینی
Operating System Concepts — Silberschatz, Galvin, Gagne — 10th Edition«سیستمعامل نرمافزاری است که سختافزار کامپیوتر را مدیریت میکند، بستری برای اجرای برنامهها فراهم میآورد و میانجی بین کاربر و سختافزار است.»
یک سیستم کامپیوتری از چهار بخش اصلی تشکیل میشود:
سختافزار
سیستمعامل
برنامههای کاربردی
کاربر
سیستمعامل مانند یک دولت عمل میکند — بهتنهایی کاری انجام نمیدهد، اما محیطی فراهم میکند که در آن سایر برنامهها کار مفید انجام دهند.
هر کنترلر دستگاه درایور مخصوص خود را دارد که رابطی یکنواخت به سیستمعامل ارائه میدهد.
یک CPU با هسته واحد. کامپیوترهای قدیمی. پردازندههای خاصمنظوره (دیسک، کیبورد) جداگانه وجود دارند ولی سیستم را چندپردازنده نمیکنند.
دو یا چند CPU که حافظه، باس و دستگاههای جانبی را به اشتراک میگذارند. توان عملیاتی بیشتر. اکثر سیستمهای مدرن.
چندین هسته محاسباتی روی یک تراشه. ارتباط درونتراشهای سریعتر. مصرف برق کمتر — مناسب موبایل و لپتاپ.
هر CPU حافظه محلی دارد. مقیاسپذیری بهتر با افزایش پردازنده. تأخیر بیشتر در دسترسی به حافظه دور.
چند سیستم مستقل از طریق LAN/InfiniBand به هم متصلاند. دسترسپذیری بالا، تحمل خطا (Fault Tolerance).
تختههای پردازنده در یک شاسی مشترک. هر برد مستقلاً بوت میشود. مرز بین خوشه و چندپردازنده محو میشود.
چندبرنامگی (Multiprogramming) و چندوظیفگی (Multitasking) اساس مدیریت CPU در سیستمهای مدرناند.
«سیستمهای نهفته رایجترین نوع کامپیوتر در جهان هستند.»
این سیستمها در همهجا یافت میشوند: از موتورهای خودرو و رباتهای صنعتی تا درایوهای نوری و مایکروویو. معمولاً وظایف بسیار خاص دارند.
سیستم بلادرنگ زمانی استفاده میشود که محدودیتهای زمانی سختگیرانهای روی عملکرد پردازنده یا جریان داده وضع شده باشد.
سیستمهای کامپیوتری همهمنظوره که سیستمعامل استاندارد (مثل Linux) اجرا میکنند؛ برنامههای خاصمنظوره روی آنها نصب میشود. مانند Raspberry Pi در کاربردهای IoT.
دستگاههای سختافزاری با سیستمعامل خاصمنظوره که دقیقاً عملکرد مورد نظر را پیادهسازی میکنند. مانند VxWorks، FreeRTOS، QNX.
مدارات مجتمع با کاربرد خاص (Application-Specific Integrated Circuits) که وظایف خود را بدون هیچ سیستمعاملی انجام میدهند. کارایی بالا و مصرف برق بسیار پایین.
برنامههایی که در حافظههای غیرفرار (EEPROM، Flash) ذخیره میشوند. Bootstrap Program اولین برنامهای است که پس از روشن شدن کامپیوتر اجرا میشود.
آینده: یخچالهایی که وقتی شیر تمام میشود به فروشگاه اطلاع میدهند!
«مجازیسازی فناوریای است که به ما اجازه میدهد سختافزار یک کامپیوتر را به چندین محیط اجرایی مجزا انتزاع کنیم.»
نتیجه: این وهم ایجاد میشود که هر محیط روی کامپیوتر خصوصی خود اجرا میشود.
یک لپتاپ macOS میتواند Windows 10 را به عنوان Guest اجرا کند!
مستقیماً روی سختافزار اجرا میشود؛ نیاز به Host OS ندارد. کارایی بالاتر. مناسب سرورهای enterprise.
روی سیستمعامل موجود (Host OS) به عنوان یک برنامه اجرا میشود. نصب آسانتر. مناسب توسعه و تست.
CPUهایی که از مجازیسازی پشتیبانی میکنند (Intel VT-x / AMD-V) دارای مد جداگانهای برای VMM هستند.
محاسبات ابری به عنوان سرویس ارائه میشود و پایه آن مجازیسازی است.
AWS EC2: هزاران سرور، میلیونها VM، پتابایتها ذخیرهسازی.
| ویژگی | سیستمهای نهفته (Embedded OS) | ماشین مجازی (Virtual Machines) |
|---|---|---|
| هدف اصلی | وظایف خاصمنظوره با محدودیتهای سخت | ایجاد محیطهای اجرایی مستقل |
| رابط کاربری | بسیار محدود یا هیچ | کامل — مثل یک کامپیوتر مستقل |
| محدودیت زمانی | Hard/Soft Real-Time — حیاتی | معمولاً اهمیتی ندارد |
| منابع سیستم | بسیار محدود (CPU کم، RAM کم) | به اشتراکگذاری منابع سختافزار |
| امنیت و جداسازی | محیط بسته و اختصاصی | Isolation توسط VMM تضمین میشود |
| کاربرد | خودرو، پزشکی، صنعت، IoT | Data Center، آزمایش نرمافزار، ابر |
| مثالها | FreeRTOS، VxWorks، QNX، Mbed OS | VMware، VirtualBox، Xen، Hyper-V |
منبع: Operating System Concepts | Silberschatz, Galvin, Gagne | 10th Edition | Chapter 1