ماشین‌های مجازی: اجرای چند سیستم مجزا روی یک کامپیوتر

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

مجازی‌سازی سخت‌افزاریماشین‌های مجازیهایپروایزر

~3 min read · Updated Sep 6, 2026

یک ماشین مجازی واقعاً چیست

یک Virtual Machine (VM) یک محیط ایجادشده توسط نرم‌افزار است که مانند یک کامپیوتر کامل و مستقل رفتار می‌کند، قادر به اجرای سیستم‌عامل و برنامه‌های خودش، حتی اگر واقعاً همان سخت‌افزار فیزیکی زیربنایی را با ماشین‌های مجازی دیگر به اشتراک بگذارد.

نرم‌افزاری که این کار را ممکن می‌کند

یک لایه نرم‌افزاری خاص به نام Hypervisor (که Virtual Machine Monitor نیز نامیده می‌شود) بین سخت‌افزار فیزیکی و هر ماشین مجازی قرار می‌گیرد، و هر تلاش یک سیستم‌عامل مهمان برای دسترسی به منابع سخت‌افزاری واقعی مانند پردازنده، حافظه، و ذخیره‌سازی را رهگیری و مدیریت می‌کند.

سخت‌افزار فیزیکی
       ↓
    هایپروایزر
   ↙    ↓    ↘
 VM 1   VM 2   VM 3
(هرکدام در حال اجرای
 سیستم‌عامل مستقل خودش)

پشتیبانی سخت‌افزاری چگونه مجازی‌سازی را بهبود می‌بخشد

مجازی‌سازی اولیه به‌شدت به تکنیک‌های نرم‌افزاری برای رهگیری و ترجمه عملیات‌های ممتاز متکی بود، که سربار کارایی معناداری معرفی می‌کرد. پردازنده‌های امروزی، از جمله بسیاری از پیاده‌سازی‌های RISC-V، شامل Hardware Virtualization Extensions اختصاصی هستند که اجازه می‌دهند دستورات ممتاز یک سیستم‌عامل مهمان با سربار بسیار کمتری مدیریت شوند، چون خود پردازنده می‌تواند مستقیماً بسیاری از عملیات‌های مرتبط با مجازی‌سازی را تشخیص و مدیریت کند به‌جای نیاز به دخالت هایپروایزر در نرم‌افزار برای هر تک عملیات.

چرا ایزوله‌سازی اهمیت دارد

یک ویژگی حیاتی ماشین‌های مجازی Isolation است: یک خطا، کرش، یا نقض امنیتی درون یک ماشین مجازی نباید بتواند روی دیگرانی که همان سخت‌افزار فیزیکی را به اشتراک می‌گذارند تأثیر بگذارد. این ایزوله‌سازی توسط هایپروایزر اجرا می‌شود، که با دقت دسترسی هر ماشین مجازی به حافظه و سایر منابع را کنترل می‌کند، و از خواندن یا خراب کردن داده یک مهمان دیگر توسط یک مهمان جلوگیری می‌کند.

کاربردهای عملی ماشین‌های مجازی

  • Server Consolidation: اجرای چند بار کاری با بار سبک به‌عنوان ماشین‌های مجازی مجزا روی یک سرور فیزیکی قدرتمند به‌جای اختصاص یک ماشین فیزیکی کامل به هر بار کاری، که بهره‌برداری کلی از سخت‌افزار را بهبود می‌بخشد.
  • Testing and Development: اجرای نسخه‌ها یا پیکربندی‌های مختلف سیستم‌عامل روی همان ماشین فیزیکی بدون نیاز به سخت‌افزار اختصاصی جداگانه برای هرکدام.
  • Security Isolation: اجرای یک برنامه غیرقابل‌اعتماد یا آزمایشی درون ماشین مجازی خودش، که آسیب بالقوه را در صورتی که آن برنامه در نهایت مورد نفوذ قرار گرفته یا مخرب باشد محدود می‌کند.

چرا این فناوری برای محاسبات مدرن اهمیت دارد

ماشین‌های مجازی پایه فنی زیربنای بیشتر پلتفرم‌های محاسبات ابری امروزی را تشکیل می‌دهند، که اجازه می‌دهند یک ارائه‌دهنده ابری برش‌های دقیقاً اندازه‌گذاری‌شده از سخت‌افزار فیزیکی را به‌طور هم‌زمان به بسیاری از مشتریان مختلف اجاره دهد، هرکدام باور دارند به کامپیوتر اختصاصی خودشان دسترسی دارند، در حالی که سخت‌افزار زیربنایی به بهره‌برداری کلی بسیار بالاتری نسبت به اختصاص ماشین‌های فیزیکی به‌طور جداگانه دست می‌یابد.

Written & researched by Dr. Shahin Siami

Related Articles

تصورات غلط رایج درباره محاسبات موازی و درس‌های نهایی کتاب

پس از پوشش هر چیزی از موازی‌سازی سطح رشته تا محاسبات در مقیاس انبار، ارزش دارد تصورات غلط پایداری درباره سیستم‌های موازی که حتی مهندسان باتجربه هم گاهی به آن‌ها دارند را اصلاح کنیم. این مقاله به مغالطات رایج درباره مقیاس‌پذیری و سخت‌افزار موازی می‌پردازد، سپس فصل پردازش موازی را با پیوند دادن مسیر کامل از یک دستور منفرد تا یک ساختمان پر از ماشین‌های همکار به پایان می‌رساند.

Continue

واقعیت‌های عملی: بنچمارک CPU در مقابل GPU و ضرب ماتریس چندپردازنده‌ای

مقایسه منصفانه یک CPU و یک GPU نیازمند مدلی است که هم توان عملیاتی محاسباتی و هم محدودیت‌های پهنای باند حافظه را با هم در نظر بگیرد. این مقاله مدل roofline مورد استفاده برای مقایسه سخت‌افزار واقعی مانند Intel Core i7 و NVIDIA Tesla GPU را معرفی می‌کند، سپس نشان می‌دهد ضرب ماتریس چگونه در سراسر چند پردازنده تسریع می‌شود، به‌عنوان کاربرد عملی نهایی مفاهیم موازی این فصل.

Continue

بنچمارک کردن چندپردازنده‌ها و مدل‌سازی کارایی موازی

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

Continue

شبکه‌سازی کلاستر: ارتباط با دنیای بیرون

یک کلاستر از ماشین‌ها فقط زمانی مفید است که بتواند به‌طور کارآمد هم داخلی و هم با دنیای بیرون ارتباط برقرار کند. این مقاله لایه‌های شبکه‌سازی درگیر در ارتباط کلاستر، مبادلات بین تأخیر و پهنای باند در مقیاس، و اینکه کلاسترها چگونه به شبکه‌های خارجی و کاربران متصل می‌شوند را پوشش می‌دهد.

Continue

کلاسترها، کامپیوترهای در مقیاس انبار، و توپولوژی‌های شبکه

فراتر از یک تراشه واحد، موازی‌سازی به کل ساختمان‌های پر از کامپیوترهای مستقلی که با هم کار می‌کنند گسترش می‌یابد. این مقاله گذار از چندپردازنده‌سازی حافظه مشترک به کلاسترهایی از ماشین‌های جداگانه را توضیح می‌دهد، مفهوم محاسبات در مقیاس انبار را معرفی می‌کند، و توپولوژی‌های شبکه که این ماشین‌های مستقل را به‌طور کارآمد متصل می‌کنند را پوشش می‌دهد.

Continue

مقدمه‌ای بر GPU: موازی‌سازی عظیم برای بارهای کاری سنگین از نظر داده

یک GPU ایده SIMD که پیش‌تر در این مجموعه پوشش داده شد را به یک مقیاس افراطی می‌برد، و هزاران رشته سبک را به‌طور هم‌زمان اجرا می‌کند تا حجم عظیمی از داده مستقل را پردازش کند. این مقاله توضیح می‌دهد چرا GPU ها از نظر معماری این‌قدر با CPU متفاوت‌اند، مدل اجرای رشته آن‌ها چگونه کار می‌کند، و چه نوع بارهای کاری بیشترین بهره را از این طراحی می‌برند.

Continue