در بعضی از کاربردها، لازم است که فایل به صورت پی در پی و یا
Download
Report
Transcript در بعضی از کاربردها، لازم است که فایل به صورت پی در پی و یا
مقدمه
در بعضی از کاربردها ،الزم است که فایل به صورت پی در پی و
یا ترتیبی خوانده شود.
داشتن مدیریت بافرینگ کارآ و امکانات تخصیص بافر ،نقش
مهمی در بهبود کارآیی پردازش تمام فایل ،به ویژه در حالت پی
در پی ایفا می کند.
عالوه بر آن تکنیکهای متعددی ،چه نرم افزاری و چه سخت
افزاری وجود دارند که منجر به بهبود کارآیی دیسک می شوند.
این تکنیکها زمان پیگرد( )sو درنگ دورانی ( )rرا کاهش می دهند و
یا سرعت پردازش فایل را افزایش می دهند.
در این قسمت به بررسی این تکنیکها می پردازیم.
1
-1سازماندهی داده ها با استفاده از
سیلندرها
چون استوانه جویی تقریباً نصف میانگین زمان دستیابی به
بلوکها را شامل می شود ،در بسیاری از کاربردها بهتر است
داده هایی که با احتمال زیادی با هم دستیابی می شوند ،در
یک سیلندر قرار داده شوند.
اگر فضای کافی وجود نداشته باشد ،می توان از چند سیلندر
همجوار استفاده کرد.
در واقع اگر تمام بلوکهای موجود در یک شیار یا یک سیلندر را
بطور ترتیبی بخوانیم ،می توانیم از تمام زمانهای پیگرد و درنگ
دورانی( به جز اولین پیگرد برای انتقال به سیلندر و اولین درنگ
دورانی جهت انتقال بر روی اولین بالک در سیلندر) صرف نظر
کرد.
2
-2استفاده از الگوریتمهای مناسب
جهت حرکت هد خواندن /نوشتن
در یک محیط چند برنامه ای که امکان اجرای چند برنامه بطور
همزمان بر روی CPUوجود دارد ،سیستم عامل باید به حرکت
بر روی دیسک برای چند برنامه پاسخ دهد
بنابراین امکان بی نظمی در اثر حرکت زیاد هد وجود دارد
بی نظمی باعث افزایش زمان استوانه جویی می شود.
بهتر است در چنین سیستمهایی از الگوریتمهای مناسب برای
پاسخگویی به درخواستهای برنامه ها برای دسترسی به
دیسک استفاده کرد.
به این الگوریتمها ،الگوریتمهای زمان بندی دیسک می گویند.
3
الگوریتمهای زمان بندی دیسک()1/5
الگوریتم FCFSیا :FIFO
درخواستها به ترتیب ورود سرویس داده می شوند
مثال :اگر هد خواندن /نوشتن بر روی استوانه ی 80باشد و درخواستها
به ترتیب زیر به هد ارسال شوند ،در صورت استفاده از الگوریتم FCFS
میانگین حرکت هد چقدر خواهد بود؟
: 30,55,95,70,150,120,180,25در خواستها
حل:
)80−30 + 55−30 + 95−55 + 95−70 + 150−70 + 150−120 + 180−120 +(180−25
8
=58.13
4
الگوریتمهای زمان بندی دیسک()2/5
الگوریتم :(Shortest Seek Time First) SSTF
به درخواستهایی که به مکان فعلی هد نزدیکتر است زودتر پاسخ می
دهد
مثال :اگر هد خواندن /نوشتن بر روی استوانه ی 80باشد و درخواستها
به ترتیب زیر به هد ارسال شوند ،در صورت استفاده از الگوریتم
SSTFمیانگین حرکت هد چقدر خواهد بود؟
: 30,55,95,70,150,120,180,25در خواستها
حل:
)80−70 + 95−70 + 120−95 + 120−150 + 150−180 + 180−55 + 55−30 +(30−25
8
=34.38
مشکل این روش آن است که امکان گرسنگی وجود دارد.
5
الگوریتمهای زمان بندی دیسک()3/5
الگوریتم پیمایش( )SCANیا آسانسور:
در این روش هد از یک طرف دیسک به طرف دیگر مدام در حال
حرکت است و در این بین به درخواستها پاسخ می دهد وقتی به
یک انتها می رسد حرکت را به طرف انتهایی دیگر در جهت عکس
تکرار می کند.
مثال :اگر هد خواندن /نوشتن بر روی استوانه ی 80باشد و
درخواستها به ترتیب زیر به هد ارسال شوند ،در صورت استفاده از
الگوریتم SCANمیانگین حرکت هد چقدر خواهد بود؟(حرکت به
سمت شیارهای خارجی است و تعداد شیارها 200است )
: 30,55,95,70,150,120,180,25در خواستها
200−80+200−25
حل= 39.38 :
8
6
الگوریتمهای زمان بندی دیسک()4/5
الگوریتم پیمایش حلقوی ):(C-SCAN
در این روش هد تنها در یک جهت حرکت می کند تا به انتهای دیسک
برسد و در این بین به درخواستهای مسیر پاسخ می دهد .وقتی به انتها
رسید سریعاً به شیار ابتدایی برمی گردد و این کار را تکرار می کند( زمان
بازگشت به شیار ابتدایی را صفر در نظر می گیریم)
مثال :اگر هد خواندن /نوشتن بر روی استوانه ی 80باشد و درخواستها
به ترتیب زیر به هد ارسال شوند ،در صورت استفاده از الگوریتم C-SCAN
میانگین حرکت هد چقدر خواهد بود؟(حرکت به سمت شیارهای خارجی
است و تعداد شیارها 200است )
: 30,55,95,70,150,120,180,25در خواستها
200−80+0+70
حل= 23.75 :
8
7
الگوریتمهای زمان بندی دیسک()5/5
الگوریتم پیمایش :LOOK
مانند الگوریتم C-SCANاست با این تفاوت که تا آخرین درخواست در یک
جهت پیش می رود
مثال :اگر هد خواندن /نوشتن بر روی استوانه ی 80باشد و درخواستها
به ترتیب زیر به هد ارسال شوند ،در صورت استفاده از الگوریتم C-SCAN
میانگین حرکت هد چقدر خواهد بود؟(حرکت به سمت شیارهای خارجی
است و تعداد شیارها 200است )
: 30,55,95,70,150,120,180,25در خواستها
180−80+0+70
حل= 21.27 :
8
الگوریتم :LIFO
در خواستها را به ترتیب عکس ورود پاسخ می دهد
8
-3استفاده از سیستم RAID
Redundant Array of Inexpensive Disks : RAID
آرایه ای از دیسکهای مستقل است که بطور موازی عملیات
I/Oرا انجام می دهند
بدین ترتیب باعث بهبود کارآیی در ورودی و خروجی سیستم می
شوند.
ایده ی اصلی RAIDترکیب چندین هارد دیسک مستقل ،ارزان و
با ظرفیت پایین و استفاده از آنها به عنوان یک هارد دیسک
بزرگ و سریع است
RAID شامل هفت سطح است که بین 0تا 6شماره گذاری
می شوند.
این سطوح دارای معماری (طراحی) مختلفی اند
9
-3استفاده از سیستم (RAIDادامه)
ویژگیهای مشترک سطوح :RAID
RAID .1مجموعهای از گرداننده های دیسک فیزیکی است.
سیستم عامل آنرا یک درایو منطقی می بیند.
.2داده ها بر روی گرداننده های فیزیکی هر آرایه توزیع می شوند
.3ظرفیت افزونگی دیسک ،برای ذخیره اطالعات توازن ( )parityبه
کار می رود که قابلیت ترمیم داده ها در صورت خرابی دیسک را
تضمین می کند
جزئیات ویژگیهای 1و 2برای هر سطح RAIDمتفاوت است
سطح صفر از ویژگی 3پشتیبانی نمی کند.
10
-4حافظه ی نهان دیسک
حافظه نهان دیسک حافظه ای سریعتر و کوچکتر نسبت به دیسک
است.
حاوی نسخه ای از چند قطاع دیسک می باشد
وقتی درخواستی برای داده خاصی صورت می گیرد بررسی می
شود که آیا آن داده در حافظه ی نهان قرار دارد یا نه.
اگر وجود داشته باشد درخواست از طریق حافظه ی نهان برآورده می
شود
در غیر اینصورت درخواست به دیسک ارجاع داده می شود تا داده خوانده
شده و به حافظه ی نهان منتقل شود
به دلیل محلی بودن ارجاعات وقتی بلوکی از داده ها به حافظه ی
نهان واکشی می شود احتماال ً درخواستهای بعدی نیز در همان بلوک
داده ای منتقل شده می باشد.
11
-5تکنیک در هم یا تداخل بالکها
بالکها بصورتی قرار می گیرند که هد پس از خواندن بالک فعلی
و پردازش آن دقیقاً بر روی بالک قبلی قرار گیرد
قرار گیری بالکها بدون تکنیک در هم
قرار گیری بالکها با تکنیک در هم
12
-6تغییر در نقطه ی آغازین شیارها
در حالت معمولی نقطه ی آغازین شیارها به صورتی است که در یک راستا می
باشند
در این صورت اگر بخواهیم پس از خواندن آخرین بلوک شیار ،اولین بالک شیار بعدی
خوانده شود باید یک دور کامل منتظر بمانیم
در روش تغییر نقطه ی آغازین شیارها ،نقطه ی آغاز هر شیار نسبت به شیار
قبلی زاویه ی ϕمی سازد( مقدار این زاویه بستگی به سرعت چرخش دیسک
دارد)
بدین ترتیب با عبور از یک شیار به شیار بعدی هد دقیقاً بر روی اول بالک قرار می
گیرد.
13