🖥️

سیستم‌های عامل نهفته
و ماشین‌های مجازی

مبانی، معماری، و محیط‌های محاسباتی

مهدی فیضی/مجید حسینی

Operating System Concepts — Silberschatz, Galvin, Gagne — 10th Edition
۲

سیستم‌عامل چیست؟

«سیستم‌عامل نرم‌افزاری است که سخت‌افزار کامپیوتر را مدیریت می‌کند، بستری برای اجرای برنامه‌ها فراهم می‌آورد و میانجی بین کاربر و سخت‌افزار است.»

یک سیستم کامپیوتری از چهار بخش اصلی تشکیل می‌شود:
سخت‌افزار سیستم‌عامل برنامه‌های کاربردی کاربر

سیستم‌عامل مانند یک دولت عمل می‌کند — به‌تنهایی کاری انجام نمی‌دهد، اما محیطی فراهم می‌کند که در آن سایر برنامه‌ها کار مفید انجام دهند.

۳

سازمان‌دهی سیستم کامپیوتری

اجزای اصلی یک کامپیوتر مدرن

  • یک یا چند CPU و کنترلرهای دستگاه که از طریق باس مشترک به هم متصل‌اند
  • وقفه (Interrupt): روش اصلی ارتباط سخت‌افزار با سیستم‌عامل — سخت‌افزار سیگنالی به CPU ارسال می‌کند
  • DMA: انتقال مستقیم بلوک‌های بزرگ داده به حافظه بدون دخالت CPU
  • سلسله‌مراتب حافظه: رجیسترها ← کش ← RAM ← NVM ← HDD

هر کنترلر دستگاه درایور مخصوص خود را دارد که رابطی یکنواخت به سیستم‌عامل ارائه می‌دهد.

System Bus CPU Memory I/O Controller Disk Drive USB Devices Display/Sound Interrupt Signal Cache L1/L2 HDD / NVM Secondary
۴

معماری سیستم کامپیوتری

🖥️

سیستم تک‌پردازنده

یک CPU با هسته واحد. کامپیوترهای قدیمی. پردازنده‌های خاص‌منظوره (دیسک، کیبورد) جداگانه وجود دارند ولی سیستم را چندپردازنده نمی‌کنند.

سیستم‌های چندپردازنده (SMP)

دو یا چند CPU که حافظه، باس و دستگاه‌های جانبی را به اشتراک می‌گذارند. توان عملیاتی بیشتر. اکثر سیستم‌های مدرن.

🔀

سیستم‌های چندهسته‌ای

چندین هسته محاسباتی روی یک تراشه. ارتباط درون‌تراشه‌ای سریع‌تر. مصرف برق کمتر — مناسب موبایل و لپ‌تاپ.

🧩

NUMA

هر CPU حافظه محلی دارد. مقیاس‌پذیری بهتر با افزایش پردازنده. تأخیر بیشتر در دسترسی به حافظه دور.

🔗

سیستم‌های خوشه‌ای

چند سیستم مستقل از طریق LAN/InfiniBand به هم متصل‌اند. دسترس‌پذیری بالا، تحمل خطا (Fault Tolerance).

🔴

Blade Servers

تخته‌های پردازنده در یک شاسی مشترک. هر برد مستقلاً بوت می‌شود. مرز بین خوشه و چندپردازنده محو می‌شود.

۵

عملیات سیستم‌عامل: مد کاربری و هسته

دو مد اجرایی

  • بیت Mode توسط سخت‌افزار تعیین می‌شود: 0 = Kernel Mode و 1 = User Mode
  • دستورات ممتاز (Privileged) فقط در Kernel Mode اجرا می‌شوند (مانند کنترل I/O، تایمر)
  • System Call: روش درخواست کاربر از سیستم‌عامل — تبدیل User Mode به Kernel Mode
  • مدهای بیشتر: Intel دارای ۴ سطح حفاظت (Ring 0–3)؛ ARMv8 دارای ۷ مد است
  • مد VMM: در پردازنده‌های پشتیبان از مجازی‌سازی، یک مد جداگانه برای Virtual Machine Manager

چندبرنامگی (Multiprogramming) و چندوظیفگی (Multitasking) اساس مدیریت CPU در سیستم‌های مدرن‌اند.

User Mode (mode bit = 1) Process A Process B Process C Kernel Mode (mode bit = 0) Scheduler / Memory Manager / Device Drivers Interrupt Handler / System Call Handler System Call (trap) Return Hardware (CPU / Memory / Devices)
۶

سیستم‌های نهفته (Embedded Systems)

«سیستم‌های نهفته رایج‌ترین نوع کامپیوتر در جهان هستند.»

این سیستم‌ها در همه‌جا یافت می‌شوند: از موتورهای خودرو و ربات‌های صنعتی تا درایوهای نوری و مایکروویو. معمولاً وظایف بسیار خاص دارند.

🚗 خودرو 🏥 تجهیزات پزشکی 📱 گوشی هوشمند 🏠 خانه هوشمند ✈️ هوانوردی 🔬 کنترل صنعتی 📡 اینترنت اشیاء 🎮 کنسول بازی
۷

سیستم‌های عامل بلادرنگ (Real-Time OS)

تعریف

سیستم بلادرنگ زمانی استفاده می‌شود که محدودیت‌های زمانی سخت‌گیرانه‌ای روی عملکرد پردازنده یا جریان داده وضع شده باشد.

  • Hard Real-Time: پاسخ باید دقیقاً در زمان مقرر ارائه شود — تأخیر = شکست سیستم
  • Soft Real-Time: پاسخ سریع مطلوب است اما تأخیر کمی قابل تحمل است
  • سنسورها داده را می‌آورند؛ کامپیوتر تحلیل کرده و کنترل‌ها را تنظیم می‌کند
  • مثال: بازوی رباتیک باید دقیقاً به موقع متوقف شود — تأخیر می‌تواند فاجعه‌بار باشد
t₁ t₂ (deadline) t₃ Event Process & Respond ✓ Hard Real-Time Late Response ~ Soft Real-Time Sensor Input RTOS Actuator Embedded Control Loop Sense → Process → Act → Repeat
۸

انواع سیستم‌های عامل نهفته

🐧

سیستم‌عامل عمومی با کاربرد خاص

سیستم‌های کامپیوتری همه‌منظوره که سیستم‌عامل استاندارد (مثل Linux) اجرا می‌کنند؛ برنامه‌های خاص‌منظوره روی آن‌ها نصب می‌شود. مانند Raspberry Pi در کاربردهای IoT.

⚙️

سیستم‌عامل نهفته اختصاصی

دستگاه‌های سخت‌افزاری با سیستم‌عامل خاص‌منظوره که دقیقاً عملکرد مورد نظر را پیاده‌سازی می‌کنند. مانند VxWorks، FreeRTOS، QNX.

🔬

ASIC بدون سیستم‌عامل

مدارات مجتمع با کاربرد خاص (Application-Specific Integrated Circuits) که وظایف خود را بدون هیچ سیستم‌عاملی انجام می‌دهند. کارایی بالا و مصرف برق بسیار پایین.

📡

سیستم‌های Firmware

برنامه‌هایی که در حافظه‌های غیرفرار (EEPROM، Flash) ذخیره می‌شوند. Bootstrap Program اولین برنامه‌ای است که پس از روشن شدن کامپیوتر اجرا می‌شود.

۹

کاربردهای واقعی سیستم‌های نهفته

Embedded system microcontroller
🔌 Embedded Microcontroller

حوزه‌های کاربردی

  • 🚗 سیستم تزریق سوخت و ترمز ABS خودرو — Hard Real-Time
  • 🏥 دستگاه‌های تصویربرداری پزشکی و مانیتورینگ بیمار
  • ✈️ سیستم‌های کنترل پرواز و راهنمایی موشک
  • 🏭 کنترل PLC در خطوط تولید صنعتی
  • 🏠 خانه هوشمند: ترموستات، قفل، روشنایی هوشمند
  • 📱 میکروکنترلرهای تلفن همراه — GPS، شتاب‌سنج

آینده: یخچال‌هایی که وقتی شیر تمام می‌شود به فروشگاه اطلاع می‌دهند!

۱۰

مجازی‌سازی (Virtualization)

«مجازی‌سازی فناوری‌ای است که به ما اجازه می‌دهد سخت‌افزار یک کامپیوتر را به چندین محیط اجرایی مجزا انتزاع کنیم.»

نتیجه: این وهم ایجاد می‌شود که هر محیط روی کامپیوتر خصوصی خود اجرا می‌شود.

🖥️
Emulation
شبیه‌سازی CPU متفاوت — کند
Virtualization
OS بومی در OS دیگر — سریع
☁️
Cloud
VM در مقیاس ابری
۱۱

چگونگی کار ماشین مجازی (VM)

(a) تک سیستم‌عامل Processes Operating System Kernel Hardware (b) چند ماشین مجازی Procs (VM1) Kernel (VM1) Procs (VM2) Kernel (VM2) Virtual Machine Manager (VMM) Hardware وظایف Virtual Machine Manager ▸ اجرای Guest OS ها ▸ مدیریت و تخصیص منابع (CPU، RAM) ▸ محافظت Guestها از یکدیگر ▸ مثال‌ها: VMware ESX، Citrix XenServer ▸ VirtualBox (رایگان و متن‌باز) ▸ Hyper-V (Microsoft)

VMM — مدیر ماشین مجازی

  • Host OS سیستم‌عامل اصلی روی سخت‌افزار است
  • Guest OS سیستم‌عامل درون ماشین مجازی است
  • VMM منابع را مدیریت کرده و Guestها را از هم جدا نگه می‌دارد
  • مجازی‌سازی اولیه: IBM Mainframe برای چندکاربری
  • VMware: اولین VMM روی x86 — Windows در Windows

یک لپ‌تاپ macOS می‌تواند Windows 10 را به عنوان Guest اجرا کند!

۱۲

انواع Hypervisor (VMM)

🏗️

Type 1 — Bare-Metal Hypervisor

مستقیماً روی سخت‌افزار اجرا می‌شود؛ نیاز به Host OS ندارد. کارایی بالاتر. مناسب سرورهای enterprise.

VMware ESXi Xen Hyper-V KVM
Hardware → Hypervisor → VM1, VM2, VM3
💻

Type 2 — Hosted Hypervisor

روی سیستم‌عامل موجود (Host OS) به عنوان یک برنامه اجرا می‌شود. نصب آسان‌تر. مناسب توسعه و تست.

VirtualBox VMware Workstation Parallels
Hardware → Host OS → Hypervisor → VM1, VM2

CPUهایی که از مجازی‌سازی پشتیبانی می‌کنند (Intel VT-x / AMD-V) دارای مد جداگانه‌ای برای VMM هستند.

۱۳

محاسبات ابری (Cloud Computing)

مجازی‌سازی: قلب ابر

محاسبات ابری به عنوان سرویس ارائه می‌شود و پایه آن مجازی‌سازی است.

  • Public Cloud: در دسترس عموم (AWS, Azure, GCP)
  • Private Cloud: مخصوص یک سازمان
  • Hybrid Cloud: ترکیبی از هر دو
  • SaaS: نرم‌افزار به عنوان سرویس (Google Docs)
  • PaaS: پلتفرم به عنوان سرویس (Heroku)
  • IaaS: زیرساخت به عنوان سرویس (AWS EC2)

AWS EC2: هزاران سرور، میلیون‌ها VM، پتابایت‌ها ذخیره‌سازی.

Cloud Infrastructure VM Cluster + Storage + Network 🖥️ PC 💻 Laptop 📱 Mobile ⌚ IoT IaaS PaaS SaaS Internet (Firewall protected)
۱۴

مقایسه: سیستم‌های نهفته در برابر ماشین‌های مجازی

ویژگی سیستم‌های نهفته (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