ساختار ديسکهاي سخت

Download Report

Transcript ساختار ديسکهاي سخت

In the Name of God
Lecture 3
A Secondary Storage Device:
Magnetic Disk
(section 3.1)
File Structure
Dr. M. Rahgozar
‫حافظه هاي ثانوي‬
‫‪Secondary Storage Devices‬‬
‫‪ ‬انواع مختلف حافظه هاي ثانوي کدامند؟‬
‫‪ ‬مقايسه انواع حافظه ها از نظر سرعت و هزينه چگونه ميباشد؟‬
‫‪ ‬چه نوع حافظه برای چه حجم از داده ها مناسب ميباشد؟‬
‫‪ ‬ساختار ديسکهاي سخت چگونه ميباشد؟‬
‫‪ ‬اطالعات سربار (‪ )Non Data Overhead‬چيست؟‬
‫‪ ‬زمان دسترسي به ديسکها باعث چه مشکالتي ميشود؟‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-2‬‬
‫‪File Structure‬‬
‫حافظه هاي ثانوي‬
‫‪Secondary Storage Devices‬‬
‫انواع مختلف حافظه هاي ثانوي کدامند؟‬
‫‪ ‬حافظه هاي با دسترسي مستقيم )‪(Direct Access Devices‬‬
‫‪ ‬ديسکهاي مغناطيسي )‪(Magnetic Disks‬‬
‫• ديسکهاي سخت )‪ : (Hard Disks‬ظرفيت باال‬
‫• ديسکت ها )‪ : (Floppy Disks‬ظرفيت پايين و سرعت کم‬
‫‪ ‬ديسکهاي نوري ‪ : CD-ROM‬ظرفيت باال‬
‫‪ ‬ديسکهاي نوري ‪ : DVD‬ظرفيت خيلي باال‬
‫‪ ‬حافظه هاي با دسترسي سلاير ‪) (Sequential Access Devices‬‬
‫‪ ‬نوارهاي مغناطيسي )‪ : (Magnetic Tapes‬دسترسي ‪ Sequential‬سريع‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-3‬‬
‫‪File Structure‬‬
‫مقايسه انواع حافظه ها‬
‫‪Comparing Storage Devices‬‬
‫مقايسه انواع حافظه ها از نظر سرعت و هزينه چگونه ميباشد؟‬
‫(هزينه؟)‬
‫چه نوع حافظه برای چه حجم از داده ها مناسب ميباشد؟‬
‫(حجم؟)‬
‫سرعت باال ‪ -‬هزينه زياد ‪ -‬احجام کم داده‬
‫سرعت کم – هزينه پايين ‪ -‬احجام باالي داده‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-4‬‬
‫‪File Structure‬‬
‫ ديسک مغناطيسي‬:‫يک حافظه ثانوي‬
)Magnetic Disk(
File Structure
3-5
Dr. M. Rahgozar
‫ساختار ديسکهاي سخت‬
‫)‪(Hard Disks‬‬
‫ساختار ديسکهاي سخت چگونه ميباشد؟‬
‫‪ ‬مجموعه اي از صفحات مغناطيسي سوار شده روي يک محور که به وسيله تعدادي‬
‫هد(‪ )Head‬به طور همزمان خوانده يا نوشته مي شوند‪.‬‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-6‬‬
‫‪File Structure‬‬
‫ساختار ديسکهاي سخت‬
‫)‪(Hard Disks‬‬
‫ساختار ديسکهاي سخت چگونه ميباشد؟‬
‫‪ ‬مجموعه اي از صفحات مغناطيسي سوار شده روي يک محور که به وسيله تعدادي‬
‫هد(‪ )Head‬به طور همزمان خوانده يا نوشته مي شوند‪.‬‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-7‬‬
‫‪File Structure‬‬
‫ساختار ديسکهاي سخت‬
‫)‪(Hard Disks‬‬
‫شيار )‪ (Track‬چيست؟‬
‫‪ ‬هر صفحه به چندين شيار بصورت دايره هاي متحد المرکز تقسيم ميشوند‪.‬‬
‫بخش )‪ (Sector‬چيست؟‬
‫‪ ‬هر شيار به تعدادي بخش که کوچکترين واحد آدرس دهي )‪(addressable units‬‬
‫ميباشند تقسيم ميشود‪.‬‬
‫سيلندر (‪ )Cylinder‬چيست؟‬
‫‪ ‬شيارهاي صفحات مجاور تشکيل يک سيلندرمجازي مي دهند که بطورهمزمان بوسيله‬
‫مجموعه هد ها قابل خواندن يا نوشتن ميباشند‪.‬‬
‫‪tracks‬‬
‫‪sector‬‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-8‬‬
‫‪File Structure‬‬
‫ساختار ديسکهاي سخت‬
‫)‪(Hard Disks‬‬
‫ساختار ديسکهاي سخت )‪ (Hard Disks‬چگونه ميباشد؟‬
‫‪tracks‬‬
‫‪ ‬تعداد سيلندرها ؟‬
‫=‬
‫تعداد شيارها در يک صفحه‬
‫‪ ‬ظرفيت هر شيار؟‬
‫=‬
‫‪sector‬‬
‫تعداد سکتور در شيار * تعداد بايت در سکتور‬
‫‪ ‬ظرفيت هر سيلندر؟‬
‫=‬
‫تعداد سطوح مغناطيسي * ظرفيت هر شيار‬
‫‪ ‬ظرفيت ديسک؟‬
‫=‬
‫‪Dr. M. Rahgozar‬‬
‫تعداد سيلندرها * ظرفيت هر سيلندر‬
‫‪3-9‬‬
‫‪File Structure‬‬
‫مثال‪:‬‬
‫يک حافظه ثانوي‪ :‬ديسک مغناطيسي‬
‫)‪(Magnetic Disk‬‬
‫‪ (1‬فايلي با تعداد ‪ 50,000‬رکورد ‪ 256‬بايتي در نظر ميگيريم‪.‬‬
‫‪ (2‬ديسکي با سکتورهاي ‪ 512‬بايتي ‪ ،‬شيارهاي ‪ 63‬سکتوري و سيلندرهاي ‪16‬‬
‫(تعداد صفحات؟)‬
‫شياري به تعداد ‪ 4092‬در نظر ميگيريم‪.‬‬
‫سوال‪:‬‬
‫چند سيلندر براي نگاهداري اين فايل الزم ميباشد؟‬
‫‪ ‬تعداد رکورد در هر شيار= ‪126 = 2 * 63‬‬
‫‪ ‬تعداد رکورد در هر سيلندر= ‪2016 = 16 * 126‬‬
‫‪ ‬تعداد سيلندر الزم = ‪24.8 =50000 / 2016‬‬
‫‪tracks‬‬
‫‪sector‬‬
‫)اگر ديسک فضاي آزاد با اين تعداد سيلندر بطور متوالي نداشته باشد ؟)‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-10‬‬
‫‪File Structure‬‬
‫ساختار ديسکهاي سخت‬
‫)‪(Hard Disks‬‬
‫انواع سازماندهي شيارها روي ديسکهاي سخت چگونه ميباشد؟‬
‫‪ (1‬سازماندهي شيارها بر حسب سکتور‬
‫‪ (2‬سازماندهي شيارها بر حسب بلوک‬
‫(ديسکهاي ‪)...‬‬
‫نوع اول‪ :‬سازماندهي شيارها بر حسب سکتور‪:‬‬
‫‪‬‬
‫هر شيار به چند بخش مساوي به نام سکتور تقسيم ميشود‪.‬‬
‫‪‬‬
‫سکتورها کوچکترين واحد قابل آدرس دهي روي شيار ميباشند ‪.‬‬
‫‪‬‬
‫شماره گذاري سکتورها ممکن است بطور متناوب باشد!‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-11‬‬
‫)چرا؟(‬
‫‪File Structure‬‬
‫نوع اول‪ :‬سازماندهي شيارها‬
‫بر حسب سکتور‬
‫شماره گذاري سکتورها چگونه است؟‬
‫چرا شماره گذاري سکتورها ممکن است بطور متناوب باشد؟‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-12‬‬
‫‪File Structure‬‬
‫نوع اول‪ :‬سازماندهي شيارها‬
‫بر حسب سکتور‬
‫کالستر)‪ (Cluster‬چيست ؟‬
‫‪ ‬تعدادي مشخص و ثابت از سکتورهاي متوالي ميباشد‪( .‬منطقا متوالي؟)‬
‫‪ ‬که بوسيله ‪ File Manager‬خوانده ‪ ،‬نوشته ‪ ،‬رزرو يا حذف مي شود‪.‬‬
‫(چه تعداد؟)‬
‫(کجا تعيين ميشود؟)‬
‫قسمت )‪ (Extent‬چيست؟‬
‫‪ ‬تعدادي کالستر متوالي ) منطقا؟ ( که بطور يکجا براي يک فايل رزرو شده باشند‪.‬‬
‫‪ ‬يک ‪ extent‬ميتواند شامل چند شيار يا حتي چند سيلندر متوالي نيز باشد‪.‬‬
‫(چه تعداد؟)‬
‫(کجا تعيين ميشود؟)‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-13‬‬
‫‪File Structure‬‬
‫نوع اول‪ :‬سازماندهي شيارها‬
‫بر حسب سکتور‬
‫ناپيوستگي (‪ )Fragmentation‬چيست؟‬
‫‪ ‬تقسيم فضاي ديسک به اجزاء غير قابل استفاده ‪...‬‬
‫چگونه ناپيوستگي ايجاد ميشود؟‬
‫‪ (1‬ناهمخواني طول رکوردهاي يک فايل با طول سکتورهاي ديسک …‬
‫‪ ‬در صورتي که نخواهيم که يک رکورد روي دو سکتور تقسيم شده باشد !‬
‫‪ ‬مثال‪:‬‬
‫‪ ‬اگر طول رکورد ‪ 300‬و‬
‫‪ ‬طول سکتور ‪ 512‬باشد‬
‫‪ ‬براي هر رکورد ‪ 212‬بايت بي استفاده خواهد ماند‪.‬‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-14‬‬
‫‪File Structure‬‬
‫نوع اول‪ :‬سازماندهي شيارها‬
‫بر حسب سکتور‬
‫چگونه ناپيوستگي ايجاد ميشود؟ (ادامه‪)...‬‬
‫‪ (2‬ناهمخواني طول فايل با طول کالسترها ‪...‬‬
‫‪ ‬با فرض اينکه هر ‪ extent‬برابر با يک کالستر باشد‬
‫‪ ‬ممکن است آخرين کالستر فايل فضاي خالي داشته باشد‪.‬‬
‫‪ ‬مثال‪:‬‬
‫‪ ‬اگرفايلي به طول يک بايت و‬
‫‪ ‬هر کالستر برابر با سه سکتور‪ 512‬بايتي باشد‪،‬‬
‫‪ ‬در اين صورت ‪ 1535‬بايت از فضاي رزرو شده بي استفاده خواهد ماند‪.‬‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-15‬‬
‫‪File Structure‬‬
‫ساختار ديسکهاي سخت‬
‫)‪(Hard Disks‬‬
‫نوع دوم‪ :‬سازماندهي شيارها برحسب بلوک‪:‬‬
‫‪ ‬هر شيار به چند بخش به نام بلوک تقسيم ميشود‪.‬‬
‫‪ ‬بلوکها هيچ ربطي با سکتورها ندارند!‬
‫(چرا؟)‬
‫‪ ‬تعداد رکوردها در هر بلوک را فاکتور بلوک ( ‪ )Blocking Factor‬ميناميم‪.‬‬
‫‪ ‬هر بلوک شامل چند قسمت (‪ )subblock‬ميباشد‪:‬‬
‫‪ : Count Sub Block (1‬حاوي طول بلوک بر حسب بايت‪.‬‬
‫‪: Key subblock (2‬حاوي کليد دسترسي )‪ (Hard‬به بلوک‪.‬‬
‫‪: Data subblock (3‬حاوي داده هاي بلوک‪.‬‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-16‬‬
‫‪File Structure‬‬
‫ساختار ديسکهاي سخت‬
‫)‪(Hard Disks‬‬
‫اطالعات سربار (‪ )Non Data Overhead‬چيست؟‬
‫‪ ‬انواع داده هاي مخصوص سيستم مديريت ديسک ‪...‬‬
‫‪ ‬که ربطي به داده هاي فايلها ندارند‪.‬‬
‫اطالعات سربار در ديسکهاي سکتوري کدامند؟‬
‫‪ ‬آدرس سکتور ‪ ،‬آدرس شيار ‪ ،‬شرط صحت سکتور )‪(Condition‬‬
‫‪ ‬و نيز فضاي خالي )‪ (Gap‬بين دو سکتور‪.‬‬
‫اطالعات سربار در ديسکهاي بلوکي کدامند؟‬
‫‪ ‬زير بلوکهاي غيرداده اي ( ‪ Count‬و‪) KEY‬‬
‫‪ ‬و نيز فضاي خالي )‪ (Gap‬بين بلوکها‪.‬‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-17‬‬
‫‪File Structure‬‬
‫اطالعات سربار‬
‫(‪)Non Data Overhead‬‬
‫مثال‪:‬‬
‫‪ (1‬يک ديسک بلوکي با شيارهاي ‪ 20,000‬بايتي و با ‪ 300‬بايت اطالعات سربار بر‬
‫هربلوک در نظر ميگيريم‪،‬‬
‫‪ (2‬تعداد رکوردهاي ‪ 100‬بايتي در هر شيار را براي دو حالت مختلف حساب ميکنيم‪:‬‬
‫حالت اول‪ :‬اگر هر بلوک حاوي ‪ 10‬رکورد باشد‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فاکتور بلوک = ‪10‬‬
‫داده هاي هر بلوک = ‪(10*100 ) = 1000‬‬
‫اطالعات سر بار= ‪300‬‬
‫تعداد بلوک در هر شيار= ‪15 = 15.38 = 20000 / 1300‬‬
‫تعداد رکورد در هر شيار = )‪150 = (15*10‬‬
‫(?‪)Fragmentation rate‬‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-18‬‬
‫‪File Structure‬‬
‫اطالعات سربار‬
‫(‪)Non Data Overhead‬‬
‫مثال (ادامه‪:)...‬‬
‫‪ (1‬يک ديسک بلوکي با شيارهاي ‪ 20,000‬بايتي و با ‪ 300‬بايت اطالعات سربار بر‬
‫هربلوک در نظر ميگيريم‪،‬‬
‫‪ (2‬تعداد رکوردهاي ‪ 100‬بايتي در هر شيار را براي دو حالت مختلف حساب ميکنيم‪:‬‬
‫حالت دوم‪ :‬اگرهر بلوک حاوي ‪ 60‬رکورد باشد‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فاکتور بلوک = ‪60‬‬
‫داده هاي هر بلوک = ‪6000‬‬
‫اطالعات سر بار= ‪300‬‬
‫تعداد بلوک در هر شيار = ‪3 = 3.17 = 20,000 / 6300‬‬
‫تعداد رکورد در هر شيار= ‪180 = 3 * 60‬‬
‫(?‪)Fragmentation rate‬‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-19‬‬
‫‪File Structure‬‬
‫زمان دسترسي به ديسکهاي سخت‬
‫)‪(Hard Disks Access Time‬‬
‫زمان دسترسي به داده هاي ديسکهاي سخت چگونه ميباشد؟‬
‫زمان دسترسي به داده هاي يک سکتور چگونه ميباشد؟‬
‫‪ (1‬زمان جستجو )‪: (Seek Time‬‬
‫‪ ‬براي قرار گرفتن هد روي سيلندر مورد نظر‬
‫‪ (2‬تاخير چرخشي )‪: (Rotational Delay‬‬
‫‪ ‬براي قرار گرفتن هد روي سکتور مورد نظر‬
‫‪ (3‬زمان انتقال داده )‪: (Transfer Time‬‬
‫‪ ‬براي خواندن يا نوشتن داده هاي سکتور‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-20‬‬
‫‪File Structure‬‬
‫زمان دسترسي به ديسکهاي سخت‬
‫)‪(Hard Disks Access Time‬‬
‫زمان دسترسي به داده هاي ديسکهاي سخت چگونه ميباشد؟‬
‫مثال‪ :‬ديسکي با مشخصات زير در نظر ميگيريم‪:‬‬
‫‪ ‬زمان متوسط جستجو = ‪ 8‬ميلي ثانيه‬
‫)‪(Average Seek Time‬‬
‫‪ ‬تاخير متوسط چرخشي = ‪ 3‬ميلي ثانيه (‪)Average Rotation Time‬‬
‫‪ ‬تاخير چرخشي ماکزيمم = ‪ 6‬ميلي ثانيه (‪)Maximum Rotation Time‬‬
‫‪ ‬سرعت چرخش = ‪ 10000‬دور در دقيقه )‪(RPM‬‬
‫(رابطه با قبلي؟)‬
‫‪ ‬تعداد سکتورها در هر شيار = ‪170‬‬
‫‪ ‬اندازه هر سکتور = ‪ 512‬بايت‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-21‬‬
‫‪File Structure‬‬
‫زمان دسترسي به ديسکهاي سخت‬
‫)‪(Hard Disks Access Time‬‬
‫مثال ) ادامه… (‬
‫سوال (‪ : )1‬زمان متوسط براي خواندن يک سکتور؟‬
‫‪ ‬زمان انتقال يک سکتور = حاصل تقسيم ) زمان چرخش ( بر )تعداد سکتور در شيار(‬
‫‪ ‬زمان انتقال يک سکتور= ‪ 0.035 = (60sec/10,000)/170‬ميلي ثانيه‬
‫‪ ‬زمان متوسط خواندن يک سکتور = حاصل جمع‪:‬‬
‫‪ ‬زمان متوسط جستجو ‪،‬‬
‫‪ ‬تاخير متوسط چرخشي و‬
‫‪ ‬زمان انتقال يک سکتور‬
‫‪ ‬زمان متوسط خواندن يک سکتور= ‪ 11.035 = 8+3+0.035‬ميلي ثانيه‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-22‬‬
‫‪File Structure‬‬
‫زمان دسترسي به ديسکهاي سخت‬
‫)‪(Hard Disks Access Time‬‬
‫مثال ) ادامه… (‬
‫حال فايلي با مشخصات زير را در نظر ميگيريم‪:‬‬
‫‪ ‬تعداد رکوردها = ‪34,000‬‬
‫‪ ‬اندازه يک رکورد = ‪ 256‬بايت‬
‫‪ ‬تعداد شيارها (غير متوالي؟) = ‪100‬‬
‫(چرا غير متوالي؟)‬
‫سوال (‪ : )2‬زمان خواندن فايل با دسترسي ‪ Sequential‬؟‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫زمان متوسط جستجو = ‪ 8‬ميلي ثانيه‬
‫تاخير چرخشي متوسط = ‪ 3‬ميلي ثانيه‬
‫زمان انتقال متوسط براي يک شيار= ‪ 6=60/10,000‬ميلي ثانيه‬
‫زمان کل براي خواندن شيار = ‪ 17=8+3+6‬ميلي ثانيه‬
‫زمان کل براي خواندن فايل = ‪ 1.7=17*100‬ثانيه‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-23‬‬
‫‪File Structure‬‬
‫زمان دسترسي به ديسکهاي سخت‬
‫)‪(Hard Disks Access Time‬‬
‫مثال ) ادامه… (‬
‫‪ ‬همان مشخصات قبل را در نظر ميگيريم‪:‬‬
‫‪ ‬تعداد رکوردها = ‪34,000‬‬
‫‪ ‬اندازه يک رکورد = ‪ 256‬بايت‬
‫‪ ‬تعداد شيارها (غير متوالي؟) = ‪100‬‬
‫(چرا غير متوالي؟)‬
‫سوال (‪ : )3‬زمان خواندن فايل با دسترسي مستقيم (‪ )Random‬؟‬
‫‪ ‬زمان متوسط خواندن يک رکورد = زمان متوسط خواندن يک سکتور‬
‫‪ ‬زمان متوسط خواندن يک رکورد = ‪ 11.035‬ميلي ثانيه‬
‫‪ ‬زمان کل براي خواندن فايل= ‪ 371.1 = 34,000 *11.035‬ثانيه‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-24‬‬
‫‪File Structure‬‬
‫(چرا؟)‬
‫زمان دسترسي به ديسکهاي سخت‬
‫)‪(Hard Disks Access Time‬‬
‫زمان دسترسي به ديسکها باعث چه مشکالتي ميشود؟‬
‫‪ ‬همواره ‪ CPU‬و شبکه (‪ )Network‬منتظر ديسکها ميباشند!‬
‫چه راه حلهايي وجود دارد؟‬
‫(‪)Multiprocessing‬‬
‫(چرا؟)‬
‫‪ (1‬پردازنده )‪ (CPU‬به چند کاربر سرويس دهد‪.‬‬
‫‪ (2‬فايلهاي خيلي بزرگ روي چند ديسک تقسيم شوند‪)Disk Striping( .‬‬
‫(چرا؟)‬
‫‪ (3‬استفاده از ديسکهاي ‪ RAID‬جهت تقسيم هر بلوک داده روي ديسکهاي مختلف‪.‬‬
‫‪ (4‬استفاده از ديسکهاي ‪ RAM‬که رفتار يک ديسک (يا ديسکت) را سيموله مي کنند‪.‬‬
‫‪ (5‬استفاده از ‪ Disk Caching‬براي جواب دادن سريع به درخواستهاي ‪.I/O‬‬
‫‪Dr. M. Rahgozar‬‬
‫‪3-25‬‬
‫‪File Structure‬‬
‫(چگونه؟)‬
File Structure
3-26
Dr. M. Rahgozar