PDA

View Full Version : سوال: درس سیستم عامل



ابراهیم1
یک شنبه 08 اسفند 1389, 15:26 عصر
با عرض سلام و خسته نباشید خدمت تمام کاربران گرامی
من 2 سوال در درس سیستم عامل برایم پیش آمده که می خواهیم ازشما بپرسم تاکسی می داند به این سوالات جواب دهد
1.ما می دانیم که سیستم های موازی به دو دسته متقارن ونا متقارن تقسیم می شوند در حال حاضر سیستم عامل هایی که هستند از کدام دسته می باشند توضیح دهید
2.ما می دانیم که یکی از ماژول های سیستم عامل مدیریت دستگاههای ورودی و خروجی است کنترلر اطلاعات را خوانده وداخل یک بافر قرار می دهد سپس پس ازاتمام از روی بافر خوانده و ان را به حافظه اصلی انتقال میدهد چرا از همان ابتدا کنترلر اطلاعات را داخل حافظه اصلی قرار نمی دهد؟اگرکسی در این مورد جوابی دارد لطفا در اینجا ارائه دهد :ناراحت:
با تشکر

pswin.pooya
یک شنبه 08 اسفند 1389, 15:46 عصر
.ما می دانیم که یکی از ماژول های سیستم عامل مدیریت دستگاههای ورودی و خروجی است کنترلر اطلاعات را خوانده وداخل یک بافر قرار می دهد سپس پس ازاتمام از روی بافر خوانده و ان را به حافظه اصلی انتقال میدهد چرا از همان ابتدا کنترلر اطلاعات را داخل حافظه اصلی قرار نمی دهد؟اگرکسی در این مورد جوابی دارد لطفا در اینجا ارائه دهد

در مورد سوال اولتون اطلاعاتی ندارم. اما در مورد این سوال دومتون باید بگم که برای بعضی از دستگاه ها این حالت وجود داره مثلا FDC (کنترلر دیسک فلاپی) هم میتونه با DMA (همون بافر) و هم بدون اون کار کنه. توی حالت بدون بافر بعد از خونده و یا نوشته شدن هر بایت یک وقفه ایجاد میشه که این وقفه باعث میشه CPU کار فعلیش رو رها کنه و به وقفه رسیدگی کنه و نیجتا سرعت به شدت کاهش پیدا میکنه. اما توی حالتی که از بافر استفاده میشه (معمولا برای دستگاه های بلوکی) یک بلوک از حافظه در RAM نوشته میشه سپس توسط یک میانجی به اسم DMA دستگاه با حافظه ارتباط برقرار میکنه و تبادل داده رو بدون دخالت CPU انجام میده و در پایان کار با یک وقفه اتمام عملیات درخواستی رو اعلام میکنه. اینکار باعث میشه برای یک بلوک (معمولا 512 بایت) تنها یک وقفه صادر بشه و نیجتا هم سرعت FDC و هم سرعت CPU افزایش پیدا کنه. اگر اشتباه نکنم برای کنترلر دیسک فلاپی این افزایش سرعت چیزی معادل 10 برابر حالت وقفه ای هست.


در مورد بافرهای سیستم عامل که معمولا کش نامیده میشن ( با کش CPU اشتباهش نگیرین) این عمل به دو سه دلیل انجام میگیره که همه اونها مربوط به افزایش سرعت و کارایی میشه. سیستم عاملهایی هم مثل لینوکس هدف دیگه ای رو مثل abstraction دنبال می کنن. مثلا سخت افزار هر چی که بخواد باشه برنامه اون رو باید یا به صورت سریال ببینه یا به صورت بلوکی از داده ها و نتیجتا این سیستم عاملها قدرت پورت بالا رو به انواع سخت افزارها پیدا میکنن.