سیستم فایل و تكنيك های كاهش زمان استوانه جويی (2)
سیستم فایل و تكنيک های كاهش زمان استوانه جويی (2)
دپارتمان آموزش کامپیوتر – کیش تک؛
تكنيک های كاهش زمان استوانه جويی
(استفاده از الگوریتم های مناسب جهت حرکت هد)
الگوريتم پيمايش (scan)
- در اين روش هد ديسك مرتب به طرف شيارهاي ابتدايي و انتهايي در حال حركت است و درخواست هايي كه در سر راهش قرار دارد را پاسخ ميدهد.
- در شروع اين روش علاوه بر دانستن مكان فعلي هد بايد جهت شروع حركت آن را نيز بدانيم.
- براي مثال ميتوان هد را در ابتداي كار در جهت سيلندري حركت داد كه كوتاهترين فاصله را با هد دارد و سپس در همان جهت حركت هد را ادامه داد.
- الگوريتم پيمايش را گاهي الگوريتم آسانسور نيز مينامند زيرا هد ديسك مانند آسانسور در يك ساختمان عمل ميكند.
نکته: در اين روش اگر درخواستي كه به صف ميرسد در جلوي هد قرار گيرد، سريعاً سرويس داده ميشود. ولي چنانچه درخواست در پشت سر هد قرار گيرد بايستي صبر كند تا هد به انتهاي ديسك رفته، تغيير جهت داده و برگردد.
نتیجه: مشكل اين روش اين آن است كه تقاضايي كه بلافاصله پس از عبور هد از يك سيلندر، براي آن سيلندر دريافت شود به تعويق خواهد افتاد.
مثال: اگر شماره سيلندرهاي درخواستي به صورت 98-183-37-122-14-124-65-67 (از راست به چپ) باشد و هد ابتدا در سيلندر 53 و به سمت سيلندرهاي بيروني(با شماره كمتر) در حركت باشد، ترتيب سرويسدهي در روش scan به چه صورت است؟
الگوريتم پيمايش حلقوي (c-scan)
- الگوريتم circular Scan شكل ديگري از الگوريتم پيمايش است كه زمان انتظار را به طور يكنواخت توزيع ميكند.
- در اين روش نيز هد تا انتهاي ديسك پيش ميرود و در بين راه به درخواست ها پاسخ ميدهد.
- زماني كه به انتهاي ديسك رسيد سريعا به ابتداي ديسك بازگشته و حركت را مجدداً از ابتدا آغاز ميكند.
توجه: دقت كنيد كه در برگشت به هيچ درخواستي پاسخ داده نميشود و اين زمان برگشت از شيار انتهايي به ابتدايي را صفر در نظر ميگيريم.
مثال: اگر شماره سيلندرهاي درخواستي به صورت 98-183-37-122-14-124-65-67 (از راست به چپ) باشد و هد ابتدا در سيلندر 53 و به سمت سيلندرهاي داخلي (با شماره بيشتر) در حركت باشد،ترتيب سرويسدهي در روش c-scan به چه صورت است؟
الگوريتم LOOK و C-LOOK
- اين دو روش اصلاح شدهي دو روش SCAN و C-SCAN ميباشند كه در آنها الزاما حركت از ابتداي ديسك شروع نميشود و تا آخرين سيلندر نيز ادامه نخواهد داشت.
- حركت در اين روش از اولين درخواست شروع و به آخرين دستور ختم ميشود.
- به عبارت ديگر، چنانچه در مثالهاي قبلي اگر تعداد كل سيلندرها 300 باشد، در روش SCAN يا C-SCAN پس از سرويس دهي به سيلندر 183، هد به سراغ سيلندر 300 رفته و دوباره به سمت ديگر ديسك برميگردد.
- اما در روش LOOK پس از سرويس دهي به سيلندر 183 از آنجائيكه سروسي ديگري را پس از اين سيلندر منتظر نميبيند از همانجا برميگردد.
الگوريتم (Last In First Out) LIFO
- روش LIFO يا خروج به ترتيب عكس ورود، جديدترين درخواست ورودي را سريعتر از درخواست هاي موجود سرويسدهي مينمايد.
- در سيستم هاي پردازش تراكنش، تخصيص دستگاه به كار تازه وارد براي حركت در فايل ترتيبي منجر به هيچ حركتي يا حركت اندك ديسك ميشود.
- مزيت اين حركت محلي، موجب بهبود توان عملياتي و كاهش طول صفها ميگردد.
جهت ثبت نام در دوره های کامپیوتر ما اینجا کلیک کنید.
مقایسه الگوریتم ها
- روش SSTF يك روش متداول و داراي جذابيت بوده اما از مشكل گرسنگي رنج ميبرد!!
- روش SCAN و C-SCAN در سيستم هايي كه بار سنگيني روي ديسك وجود دارد به خوبي عمل ميكنند.
- عادلانهترين الگوريتم FCFS ميباشد اما اين روش از نظر سرعت بهينه نيست.
- براي هر ليستي از درخواست ها، ميتوان ترتيب بهينهاي را براي بازيابي تعريف كرد اما محاسبات لازم براي يافتن زمانبندي بهينه ممكن است نسبت به الگوريتم هاي SSTF يا SCAN مقرون به صرفه نباشد.
تكنيك های كاهش زمان استوانه جویی – توزيع فايل روي چند ديسك
- در اين تكنيك فايل را روي استوانههاي هم شماره از چند ديسك پك جاي ميدهند.
- با اين روش زمان استوانه جويي صفر خواهد بود.
- اين تكنيك نرمافزاري بوده و در جهت شبيه سازي محدود تكنيك ديسك با بازوي ثابت ميباشد.
استفاده از تكنولوژي RAID
- RAID (Redundant Array of Inexpensive Disks) جهت ايجاد يك واحد از مجموع چند هارد ديسك ميباشد.
- ايده اصلي اين تكنولوژي اين است كه به جاي استفاده از يك واحد ديسك با ظرفيت بالا و گران قيمت از چند واحد ديسك كوچكتر و قيمت مناسب به صورت آرايه استفاده شود.
- RAID آرايهاي از ديسك هاي مستقل است كه به صورت موازي عمليات I/O را انجام داده و باعث بهبود كارآيي در ورودي و خروجي سيستم ميگردد.
- طرح RAID شامل هفت سطح است كه از 0 تا 6 شماره گذاري ميشوند.
- هر سطح داراي معماري مختلفي است اما همگي داراي سه ويژگي مشترك ميباشند.
ويژگيهاي مشترك در سطوح مختلف RAID
- مجموعهاي از گردانندههاي ديسك فيزيكي است و سيستم عامل آنرا يك درايو منطقي ميبيند.
- دادهها بر روي گردانندههاي فيزيكي هر آرايه توزيع ميشوند.
- ظرفيت افزونگي ديسك براي ذخيره اطلاعت توازن (parity) به كار ميرود كه قابليت ترميم دادهها در صورت خرابي ديسك را تضمين ميكند.
توجه: جزئيات ويژگيهاي اول و دوم براي سطوح مختلف RAID متفاوت است؛ سطح صفر ويژگي سوم را پشتيباني نميكند.
نكته: استفاده از چند واحد ديسك احتمال بروز نقص را افزايش ميدهد و به همين دليل با پذيرش افزونگي در ذخيرهسازي اطلاعات، دادهها تخريب شده را ترميم ميكند.