اختصاصی از
سورنا فایل دانلود مقاله انواع ساختار سیستم عامل از لحاظ طراحی ماشینهای مجازی دانلود با لینک مستقیم و پر سرعت .
مفاهیم کلی
به طور کلی نرم افزارهای کامپیوتر به دو گروه تقسیم میشوند:
یکی برنامههای سیستمی که عملیات کامپیوتر را مدیریت میکنند و دیگری برنامههای کاربردی .سیستم عامل (operating system=os) اصلی ترین برنامه سیستمی است که به عنوان رابط بین کاربر و سخت افزار کامپیوتر عمل میکند .
سیستم عامل دو وظیفه (یا هدف) اصلی دارد:
سیستم عامل استفاده از کامپیوتر را ساده میسازد. این بدان معناست که مثلاًکاربر یا برنامه نویس بدون درگیر شدن با مسائل سخت افزاری دیسکها به راحتی فایلی را بر روی دیسک ذخیره و حذف کند . این کار در واقع با به کاربردن دستورات سادهای که فراخوان های سیستمی (System Calls) را صدا میزنند انجام پذیرد .
در صورت عدم وجود سیستم عامل کاربرو یا برنامه نویس میبایست آشنایی کاملی با سخت افزارهای مختلف کامپیوتر (مثل مونیتور ,فلاپی , کی بورد و غیره) داشته باشدو روتینهایی برای خواندن و یا نوشتن آنها به زبانهای سطح پائین بنویسد. از این جنبه به سیستم عامل با عنوان ماشین توسعه یافته(Extended machine) یا ماشین مجازی (Virtual machine) یاد میشود که واقعیت سخت افزار را از دید برنامه نویسان مخفی میسازد.
• وظیفه دوم سیستم عامل مدیریت منابع(Resource Management) میباشد, یعنی سیستم عامل باعث استفاده بهینه و سودمند (اقتصادی) از منابع سیستم میگردد. منظور از منابع پردازندهها ,حافظهها ,دیسکها,ماوس ها , چاپگرها , فایلها , پورتها و غیره هستند. یک سیستم کامپیوتری منابع نرم افزاری و سخت افزاری بسیار دارد که ممکن است در حین اجراء برنامه لازم باشند , سیستم عامل همانند مدیر منابع عمل کرده و آنها را بر حسب نیاز به برنامههای مشخصی تخصیص میدهد.
سیستم عامل معمولا اولین برنامههای است که پس از بوت شدن در حافظه بار میشود. پس از بار شدن قسمتی از سیستم عامل بطور دائم در حافظه باقی (Resident)میماند. قسمتهای دیگر با توجه به کاربرد کامپیوتر توسط کاربر از دیسک به حافظه آورده میشود.
به قسمت اصلی سیستم عامل که وظایف مهم آن را انجام میدهد هسته یا Kernel گفته میشود. هسته سیستم عامل برنامهای است که در تمامی اوقات بر روی کامپیوتر در حال اجراست.
سیستم عامل و معماری کامپیوتر اثر زیادی بر روی یکدیگر داشتهاند. یعنی جهت سهولت کار با سخت افزارهای جدید, سیستم عاملها توسعه یافتندو همچنین در اثنای طراحی سیستم عاملها , مشخص شد که تغییراتی در طراحی سخت افزار میتواند سیستم عاملها را ساده تر و کارآمدتر سازد . هر چند که تطبیق نسلهای کامپیوتر با نسلهای سیستم عامل کار درستی نیست ولی این تطبیق که در ادامه انجام میدهیم علت ایجاد سیستم عاملهای جدید را مشخص میسازد.
تطابق تکنیکهای سیستم عامل با نسل های کامپیوتر:
در نسل اول کامپیوترها (55-1945) که از لامپ خلأ برای ساخت آنها استفاده میشد,زبانهای برنامه نویسی (حتی اسمبلی)ابداع نشده بودند و سیستم عامل نیز اصلاً وجود نداشت . روند کار به این صورت بود که برنامه نویسان تنها در یک فاصله زمانی مشخص حق استفاده از کامپیوتر بزرگ و گران قیمت را داشتند.
آنها برنامههای خود را توسط تخته مدار سوراخدار (و بعدها توسط کارتهای پانچ) و به زبان ماشین به کامپیوتر میدادند. اکثر برنامههای محاسبات عددی معمولی مانند جداول سینوس و کسینوس بود.
• سیستم های دسته ایBatch system
• سیستم های چند برنامه ایMulti programming
• سیستم spooling
• سیستم اشتراک زمانیTime sharing
• سیستم عاملهای کامپیوتر های شخصی و شبکه
• سیستم های توزیع شدهDistributed system
• سیستم ها ی چند وظیفه ایMulti tasking
• سیستم های چند پردازندهای Multi processing
• سیستم های بی درنگReal Time
ساختار سیستم عامل:
• خدمات و مولفه های سیستم عامل:
o مدیریت پردازش در سیستم عامل در سیستم عامل
o مدیریت حافظه در سیستم عامل
o مدیریت فایل در سیستم عامل
o مدیریت ورودی- خروجی در سیستم عامل
• مفسر فرمان
• وقفه در سیستم عامل
• فراخوانی سیستمی
• انوع سیستم عامل از نظر ساختار:
o تکنیک سیستم یکپارچه
o تکنیک سیستم لایه ای
o سیستم مجازی در سیستم عامل
o سیستم مشتری –خدمتگزار
• زبان های پیاده سازی سیستم عامل
پردازش و زمابندی:
• پردازش در سیستم عامل
• حالات یک پردازش
• بلوک کنترلی پردازش
• نخ«بند-رشته)
• زمان بندی در سیستم عامل
• انواع زمانبند ها در سیستم عامل
• معیار های زمانبندی در سیستم عامل
• انواع زمانبندی ها:
اولویتها میتوانند بصورت اتوماتیک توسط سیستم نسبت داده شوند و یا از خارج سیستم تعیین گردند, مثلاً ممکن است یک کاربر کار فوری داشته باشدو حاضر باشد به خاطر بدست آوردن سرویس بالاتر هزینه بیشتری بپردازد , یعنی اولویت را بخرد . یک اولویت ممکن است استاتیک باشد یا دینامیک . اولویت استاتیک تغییر نمیکندو بنابراین پیاده سازی آن ساده است .
ولی این نوع اولویت در مقابل تغییرات محیطی عکس العملی نشان نمیدهد . برعکس اولویت دینامیک بر اثر تغییرات محیطی تغییر میکند مثلا ً ممکن است در آغاز یک برنامه اولویت پائینی داشته باشد ولی به تدریج اولویت آن بهبود یابد.
o اول آمده-اول سرویس شده
o زمانبندی نوبت گردشی
o اول کوتاه ترین زمان
o کوتاه ترین زمان باقی مانده
o بالا ترین نسبت پاسخ
o دادن اولویت به پردازش
o صفهای چند گانه MQ
o صفهای چند گانه با فید بک
o بلا درنگReal time
o تضمین شده«در زمان مقرر)
o زمان بندی شانسی
o LPT
....
انواع سیستم عامل ها:
• Windows
• Linux
• Unix
• DOS
• OS/2
• Solaris
......
سیستم مجازی در سیستم عامل
________________________________________
سیستم عامل 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 باشد.
شامل 11 صفحه word
دانلود با لینک مستقیم
دانلود مقاله انواع ساختار سیستم عامل از لحاظ طراحی ماشینهای مجازی