منو
 کاربر Online
686 کاربر online
Lines: 1-13Lines: 1-31
 ||V{maketoc}|| ||V{maketoc}||
 ^@#16: ^@#16:
 !سیستم مجازی در سیستم عامل !سیستم مجازی در سیستم عامل
-سیستم عامل VM بر روی سیستمهای IBM بهترین مثال از مفهوم ماشین مجازی است . قلب سیستم که به ((مانیتور ))((ماشین مجازی))(Virual Machine Monitor) معروف است , بر روی سخت افزار عریانی اجراء شده و چند برنامگی را پدید می‌آورد, این ((مانیتور)) مجازی را در لایه بالاتر فراهم می‌سازد.

این ماشین های مجازی برای کاربران مشابه یک نسخه از سخت افزار عریان هستند که دارای مودهای کابر و هسته , ((I/O)) , وقفه‌ها و چیزهای دیگر «ماشین حقیقی» می‌باشند.
به هر کاربر ماشین مجازی خودش داده می‌شود و او می‌تواند هر یک از سیستم عامل‌ها یا بسته‌های نرم افزاری موجود را روی ماشین خودش اجراء کند.
+




{picture=img/daneshnameh_up/0/06/compics00164.jpg}

{*
سیستم عامل VM بر روی سیستمهای IBM بهترین مثال از مفهوم ماشین مجازی است . قلب سیستم که به ((مانیتور)) ((ماشین مجازی))(Virual Machine Monitor) معروف است ، بر روی سخت افزار عریانی اجراء شده و چند برنامگی را پدید می‌آورد، این ((مانیتور)) مجازی را در لایه بالاتر فراهم می‌سازد.
این ماشین های مجازی برای کاربران مشابه یک نسخه از سخت افزار عریان هستند که دارای مودهای کابر و هسته ، ((I/O)) ، وقفه‌ها و چیزهای دیگر «ماشین حقیقی» می‌باشند.
به هر کاربر ماشین مجازی خودش داده می‌شود و او می‌تواند هر یک از سیستم عامل‌ها یا بسته‌های نرم افزاری موجود را روی ماشین خودش اجراء کند.
-هر کاربر یک برنامه(Conversational Monitor System) مخصوص به خود را دارد که یک سیستم عامل تک کاربره محاوره‌ای است .
مزایای این ماشین مجازی عبارتند از:



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


*هر ماشین مجازی از سایر ماشین ها کاملاً جداست . بنابراین هیچ مشکل امنیتی وجود نخواهد داشت و برنامه‌های کاربران تداخلی با همدیگر ندارند.


*از آنجا که هر ماشین مجازی کاملاً مشابه ((سخت افزار)) واقعی است , هر یک از آنها می‌توانند هر سیستم عاملی را مستقلاً اجراء کند. این امر همچنین باعث می‌شود مراحل تحقیق و توسعه سیستم عاملها راحت تر صورت بگیرد, چرا که دیگر سازندگان سیستم عامل برای تست کردن سیستم عامل تولیدی جدید لازم نیست کل کامپیوتر را در اختیار داشته باشند.



ایده ماشین‌های مجازی امروزه نیز جهت رفع مشکلات عدم سازگاری گسترش زیادی یافته است . به عنوان مثال شرکتهای میکروسیستم یا شرکتDEC که کامپیوترهای غیر intel را می‌سازند مایلند که مشتریهایشان بتوانند برنامه های ((DOS ))(تحت intel) را نیز اجراء کنند. برای این کار یک ماشین مجازی اینتل بر روی پردازنده خودپدید می‌آورند.>> در این حال ماشین مجازی دستورات اینتل را به دستورات پردازنده جدید تبدیل می‌کند. یا مثلاً کامپیوترpower PC شامل ماشین مجازی Motorola 6800 می‌باشد . مثال دیگر اجراء شدن DOS تحت محیط ویندوز است,پردازنده‌های 386 به بعد دارای یک مد مجازی هستند. که می‌توانند چندین برنامه تحت DOS تحت ویندوز نیز اجراء شوند (البته به شرطی که دستورالعملهای عادی را اجراء کنندو مستقیماً با ((پورتهای ))مهم سر و کار نداشته باشند.)


مثال دیگر از این مفهوم ماشین مجازی زبان جاوا((«Java))) می‌باشد. ((کامپایلر ))زبان جاوا توسط شرکت sun طراحی شده است یک خروجی ((بایت ))کد(byte code) تولید می‌کند. این بایت کدها دستوراتی هستند که بر روی ماشین مجازی جاوا(JVM) اجراء می‌شوند. جهت اجرای برنامه‌های جاوا در یک ماشین , آن کامپیوتر می‌بایست دارای یک JVM باشد. >>امروزه JVM بر روی بسیاری از انواع کامپیوترها (PC,((مکینتاش)), SUN مینی کامپیوترها و ((مین فریم ))ها) وجود دارد . JVM همچنین در ((Microsoft Explorer ))ویندوز پیاده سازی شده است . بدین ترتیب برنامه‌هایی که به زبان java نوشته شده‌اند به راحتی بر روی انواع کامپیوترها اجراء می‌شوند. فقط کافی است بایت کدها را روی آن ماشین کامپایل کرد. بدیهی است به علت نیاز به کامپایل شدن بایت کدها , برنامه های جاوا سرعت کمتری نسبت به برنامه‌هایی نظیر ((c)) دارد .>>برنامه های cتوسط کامپایلر بومی یک کامپیوتر , برای یک بار تبدیل به زبان ماشین آن کامپیوتر می‌گردد. پس خروجی زبان ماشین کامپایلر c از یک نوع کامپیوتر به کامپیوتر دیگر متفاوت است ولی بایت کدهای خروجی جاوا برای همه ماشین ها یکسان است.
+هر کاربر یک برنامه(Conversational Monitor System) مخصوص به خود را دارد که یک سیستم عامل تک کاربره محاوره‌ای است .
مزایای این ماشین مجازی عبارتند از:*}
*در این سیستم دو وظیفه اصلی چند برنامگی و ایجاد واسطه راحت(مستقل از ((سخت افزار)) ) از یکدیگر مجزا شده‌اند . مانیتور ماشین مجازی وظیفه چند برنامگی را بر عهده داردو لایه‌ بالای آن وظیفه ایجاد واسطه کاربر با سخت افزار را بر عهده دارد. لذا هریک از این بخشها ساده‌تر شده و از قابلیت انعطاف بیشتری برخوردارند.
*هر ماشین مجازی از سایر ماشین ها کاملاً جداست . بنابراین هیچ مشکل امنیتی وجود نخواهد داشت و برنامه‌های کاربران تداخلی با همدیگر ندارند.
*از آنجا که هر ماشین مجازی کاملاً مشابه ((سخت افزار)) واقعی است ، هر یک از آنها می‌توانند هر سیستم عاملی را مستقلاً اجراء کند. این امر همچنین باعث می‌شود مراحل تحقیق و توسعه سیستم عاملها راحت تر صورت بگیرد، چرا که دیگر سازندگان سیستم عامل برای تست کردن سیستم عامل تولیدی جدید لازم نیست کل کامپیوتر را در اختیار داشته باشند.
{*ایده ماشین‌های مجازی امروزه نیز جهت رفع مشکلات عدم سازگاری گسترش زیادی یافته است . به عنوان مثال شرکتهای میکروسیستم یا شرکتDEC که کامپیوترهای غیر intel را می‌سازند مایلند که مشتریهایشان بتوانند برنامه های ((DOS ))(تحت intel) را نیز اجراء کنند. برای این کار یک ماشین مجازی اینتل بر روی پردازنده خود پدید می‌آورند. /> در این حال ماشین مجازی دستورات اینتل را به دستورات پردازنده جدید تبدیل می‌کند. یا مثلاً کامپیوترpower PC شامل ماشین مجازی Motorola 6800 می‌باشد . مثال دیگر اجراء شدن DOS تحت محیط ویندوز است،پردازنده‌های 386 به بعد دارای یک مد مجازی هستند. که می‌توانند چندین برنامه تحت DOS تحت ویندوز نیز اجراء شوند (البته به شرطی که دستورالعملهای عادی را اجراء کنندو مستقیماً با ((پورت))‌های مهم سر و کار نداشته باشند.).
مثال دیگر از این مفهوم ماشین مجازی زبان ((جاوا اسکریپت|جاوا)) می‌باشد. ((کامپایلر))زبان جاوا توسط شرکت sun طراحی شده است یک خروجی ((بایت ))کد(byte code) تولید می‌کند. این بایت کدها دستوراتی هستند که بر روی ماشین مجازی جاوا(JVM) اجراء می‌شوند. جهت اجرای برنامه‌های جاوا در یک ماشین ، آن کامپیوتر می‌بایست دارای یک JVM باشد. />امروزه JVM بر روی بسیاری از انواع کامپیوترها (PC،((مکینتاش))، SUN مینی کامپیوترها و ((ابر رایانه|مین فریم))ها) وجود دارد . JVM همچنین در ((Microsoft Explorer ))ویندوز پیاده سازی شده است . بدین ترتیب برنامه‌هایی که به زبان java نوشته شده‌اند به راحتی بر روی انواع کامپیوترها اجراء می‌شوند. فقط کافی است بایت کدها را روی آن ماشین کامپایل کرد. بدیهی است به علت نیاز به کامپایل شدن بایت کدها ، برنامه های جاوا سرعت کمتری نسبت به برنامه‌هایی نظیر ((زبان برنامه نویسی C|C)) دارد . />برنامه های C توسط کامپایلر بومی یک کامپیوتر ، برای یک بار تبدیل به زبان ماشین آن کامپیوتر می‌گردد. پس خروجی زبان ماشین کامپایلر c از یک نوع کامپیوتر به کامپیوتر دیگر متفاوت است ولی بایت کدهای خروجی جاوا برای همه ماشین ها یکسان است.*}
---
!پیوندهای خارجی
*[http://en.wikipedia.org/wiki/Virtual_machine_monitor ]
---
!همچنین ببینید
*((سیستم عامل))
*((خصوصیات سیستم عامل))
 #@^ #@^

تاریخ شماره نسخه کاربر توضیح اقدام
 شنبه 22 اردیبهشت 1386 [10:43 ]   7   زینب معزی      جاری 
 پنج شنبه 30 شهریور 1385 [09:49 ]   6   زینب معزی      v  c  d  s 
 سه شنبه 21 شهریور 1385 [09:45 ]   5   زینب معزی      v  c  d  s 
 سه شنبه 21 شهریور 1385 [09:44 ]   4   زینب معزی      v  c  d  s 
 یکشنبه 08 آذر 1383 [12:29 ]   3   محمد مجددی      v  c  d  s 
 یکشنبه 01 آذر 1383 [07:28 ]   2   محمد مجددی      v  c  d  s 
 یکشنبه 03 آبان 1383 [23:19 ]   1   محمد مجددی      v  c  d  s 


ارسال توضیح جدید
الزامی
big grin confused جالب cry eek evil فریاد اخم خبر lol عصبانی mr green خنثی سوال razz redface rolleyes غمگین smile surprised twisted چشمک arrow



از پیوند [http://www.foo.com] یا [http://www.foo.com|شرح] برای پیوندها.
برچسب های HTML در داخل توضیحات مجاز نیستند و تمام نوشته ها ی بین علامت های > و < حذف خواهند شد..