Q به كمك هاردديسكها ميآيد:هـاردديسـك هـاي تنبل
هاردديسكها مكانيكيترين قطعه موجود در كامپيوترها به شمار ميآيند. اگر فنها را كنار بگذاريم، هاردديسك اولين قطعه به لحاظ حركت داشتن هنگام كار كردن است. البته اين حركت در داخل هاردديسك است و ما آن را نميبينيم. بر خلاف هاردديسكها، عملكرد اكثر قطعات ديگر سيستم، توسط حركت الكترونها صورت ميگيرد و ديگر خبري از قطعه متحرك نيست. اين موضوع باعث ميشود هاردديسك سيستم را از پتانسيل كارآيي واقعي آن دور كند. به عنوان مثال تيم فوتبالي را در نظر بگيريد كه همه بازيكنان آن به جز دروازهبان آن آماده و در بهترين شرايط به سر ميبرند. خط حمله اين تيم هر چقدر هم كه گل بزند، دروازهبان تيم با گل خوردن خود، زحمت بقيه تيم را خراب ميكند و مانع برد تيم ميشود. نقش هاردديسك در يك كامپيوتر، تقريبا مشابه نقش اين دروازهبان است.
كندي هاردديسكها تنها به كامپيوتر محدود نميشود و در وسايل الكترونيكي ديگر مثل پخشكنندههاي موسيقي كه هاردديسك دارند، نيز ردي از اين اثر ديده ميشود. به عنوان مثال اگر يك iPod با ظرفيت 30 گيگابايت داشته باشيد، حتما هنگام پخش يا جلو يا عقب بردن موسيقي و يا فيلم، دستور شما كمي با تاخير اجرا ميشود، اين تاخير به خاطر ماهيت مكانيكي هاردديسك موجود در اين دستگاه است.
با اين وجود، هاردديسكهاي الكترومكانيكي، فسيل زنده كامپيوتر است. اولين هاردديسك در سال 1956 توسط آيبيام ساخته شد آن دستگاه داراي 5 مگابايت حافظه بود كه توسط 50 ديسك 24 اينچي فراهم ميشد. اگر چه ظرفيت هاردديسكهاي امروزي تا يك ترابايت هم افزايش يافته و تغييراتي هم در تكنولوژيهاي به كار رفته در ساخت آنها صورت گرفته ولي وضعيت نسبي هاردديسكها، كماكان بدون تغيير به نظر ميرسد يك هاردديسك 400 گيگابايتي امروزي، داراي 5 ديسك 5/3 اينچي هر كدام با ظرفيت 80 گيگابايت است.
با افزايش ظرفيت هاردديسكها، تنوع اطلاعات موجود روي آنها نيز افزايش مييابد كه باعث افزايش قابل توجه زمان دسترسي (Access Time) ميشود. منظور از زمان دسترسي مدت زماني است كه طول ميكشد تا هدهاي خواندن و نوشتن شيار موردنظر روي يك ديسك خاص را پيدا كنند و سپس ديسك بچرخد تا اطلاعات درخواست شده پيدا شود. طبق فرآيند گفته شده، مدت زماني براي پيدا كردن و چرخش تاخير خواهيم داشت. همين تاخير سبب ميشود كه هاردديسك، كامپيوتر شما را از پتانسيل واقعي آن دور كند. اين زمان تاخير شايد در حد ميليثانيه باشد و به تنهايي به چشم نيايد ولي يك نرمافزار ممكن است دستههاي اطلاعات زيادي را در صف درخواست قرار دهند و اگر اين اطلاعات درخواستي در قسمتهاي مختلف هاردديسك باشند، مدت زيادي در حد چندثانيه طول خواهد كشيد تا هاردديسك تمامي اطلاعات درخواستي را خوانده و نرمافزار را اجرا كند. در واقع فاصله زماني بين كليك كردن روي آيكون يك نرمافزار از سوي شما و باز شدن كامل آن (چيزي كه از آن به عنوان Load شدن ياد ميكنيم)، شامل همين فرآيند است و بخش زيادي از زمان طول كشيده، به سرعت هاردديسك بستگي دارد.
اما براي روشنتر شدن موضوع بهتر است نگاهي به چگونگي خواندن و نوشتن اطلاعات توسط هاردديسك بيندازيم. هاردديسك داراي چندين ديسك و هرديسك داراي چندين واحد ذخيرهسازي اطلاعات است.
شيار يا (Track) يكي از اين واحدها است كه به شكل دايره همانند شيارهاي صفحه گرامافون است. واحد بعدي كلاستر (Cluster) است. خود كلاستر شامل يك يا چند سكتور يا قطاع (Sector) است. اين سكتورها كوچكترين واحدهاي ذخيرهسازي اطلاعات هستند كه اطلاعات درون آنها قرار ميگيرد. ارتباط ميان اين سكتورها توسط «فايل سيستم» بررسي و پيگيري ميشود.
در شكل ميتوانيد قسمتهاي نام برده روي يك ديسك را مشاهده كنيد. نمونه شيار روي شكل با قرمز پررنگ، كلاستر با قرمز روشن و سكتور با زرد نشان داده شده است.
به طور كلي، هاردديسكها اطلاعات را با نوشتن آنها روي يك قسمت خاص روي يك شيار، ذخيره ميكنند. هاردديسك توسط چيزي شبيه الگوريتم زير به اطلاعات دست مييابد:
1 - اطلاعات روي كدام ديسك است؟ برو به آن ديسك...
2 - اطلاعات روي كدام شيار از اين ديسك است؟ برو به آن شيار...
3 - اطلاعات روي كدام كلاستر از اين شيار است؟ برو به آن كلاستر...
4 - اطلاعات روي كدام سكتور از اين كلاستر نوشته شده است؟ برو به آن سكتور...
5 - اطلاعات درخواستي پيدا شد، اطلاعات خوانده ميشود...
اين مراحل بيانگر شيوه بهينه در خواندن اطلاعات روي هاردديسك است. براي نوشتن اطلاعات روي هاردديسك نيز مراحلي مشابه فوق دنبال ميشود.
براي خواندن و نوشتن اطلاعات بايد يك ابزار درون هاردديسك وجود داشته باشد. هدهاي خواندن و نوشتن اين وظيفه را انجام ميدهند. اين هدها روي يك بازوي محرك قرار دارند. براي چرخش ديسكها نيز، يك وسيله دوكي شكل در نظر گرفته شده تا حركت دوراني يا چرخشي ايجاد كند. اصطلاح 5400 دور يا 5400 RPM در هاردديسكها نيز از همين جا نشات ميگيرد. RPM يا Round per Minute به معناي چرخش در دقيقه، بيانگر تعداد دورهايي است كه ديسكها در يك دقيقه ميزنند. هر چه اين سرعت چرخش بالاتر باشد، ديسك سريعتر عملياتها را انجام ميدهد.
زمان دسترسي مجموع زمان جستوجو و چرخش است. براي مثال اگر پيدا كردن اطلاعات درخواستي 3/8 ميليثانيه و زمان چرخش ديسكها تا محل موردنظر نيز 1/3 ميليثانيه طول بكشد، در كل زمان دسترسي 4/11 ميليثانيه را خواهيم داشت.
اين 4/11 به اين معناست كه 4/11 ميليثانيه طول خواهد كشيد تا به اطلاعات درخواستي، دسترسي حاصل شود، شايد زماني در حد هزارم ثانيه اصلا مشكلي به نظر نيايد، ولي وقتي شما چندين بسته اطلاعاتي را در يك زمان درخواست كنيد مشكلساز خواهد شد. مثلا با اجراي يك نرمافزار ساده مثل «ويندوز مديا پلير» چندين نوع اطلاعات از هاردديسك درخواست ميشود تا نرمافزار اجرا شود. فرض كنيد، اين بستههاي درخواستي را با B، R، G و Y نشان دهيم، در اين صورت براي هر بسته به عنوان مثال خواهيم داشت:
B:ا 3/8 ميليثانيه زمان جستوجو + 1/3 ميليثانيه زمان چرخش= 4/11 ميليثانيه زمان دسترسي
R: ا2/4 ميليثانيه زمان جستوجو+ 2/2 ميليثانيه زمان چرخش= 4/6 ميليثانيه زمان دسترسي
G: ا3/4 ميليثانيه زمان جستوجو+ 5/8 ميليثانيه زمان چرخش= 8/12 ميليثانيه زمان دسترسي
Y: ا7/0 ميليثانيه زمان جستوجو+ 1/1 ميليثانيه زمان چرخش= 8/1 ميليثانيه زمان دسترسي
مجموع زمان طول كشيده براي جمعآوري اين اطلاعات 4/32 ميليثانيه است. البته اين يك مثال بود ولي هنگام اجراي نرمافزار ذكر شده، حتما اين مدتزمان تاخير را احساس كردهايد. براي نرمافزارهاي سنگينتر هم كه مدت تاخير بيشتر هم خواهد بود. البته باز تاكيد ميكنيم كه همه زمان تاخيري كه هنگام اجراي نرمافزارها ميبينيد ناشي از هاردديسك نيست ولي بخش بسيار زيادي از آن به ناكارآمدي هاردديسكها بازميگردد.