I.درک ژئومتری دیسک سخت

شاید شما هم با برنامه های مختلف پارتیشن بندی و فرمت کردن دیسک سخت چه گرافیکی و چه متنی کار کرده باشید ، برای کار با این برنامه ها شما به یک سری اطلاعات پایه از هارد دیسک خود نیاز دارید ، مانند حجم و نوع کانکتور هارد تان و یکسری اطلاعات درباره ی عملیات پارتیشن بندی و فرمت کردن یک هارد مانند انواع پارتیشن ها و انواع فرمت ها وفایل سیستم ها اما نوع سوم اطلاع از ماهیت یک دیسک سخت یا هارد دیسک است ، این اطلاعات باعث می شود تا با دیدی بهتر از آنچه دیگران درباره ی یک دیسک سخت فکر می کنند فکر می کنید ، به مفهوم سوم که درواقع به اجزای یک دیسک سخت می پردازد ژئومتری دیسک سخت می گویند ، در این مقاله قصد داریم تا این مفهوم را به شما بشناسانیم.


II. ژئومتری دیسک سخت

زمانی که برای خرید دیسک سخت خود می روید ، ‌چهار واحد وجوددارند که حجم هارد دیسک را می توانید براساس آن ها بسنجید : هد ها ،‌ سیلندر ها ،‌ سکتورها و بیت ها ، البته معلوم است کدام یک بیشتر استفاده می شود . یکی از ویژگی های لینوکس نصب شدن آسان آن در هر سیستمی است ،‌حتی یک سیستم 133MHz ای ، ‌اما زمانی که سعی می کنید دیسک سخت خود را پارتیشن بندی کنید درمیابید که فقط 8 گیگابایت آن قابل دسترسی است ،‌این جاست که پای ژئومتری دیسک به میان می آید. برای استفاده از این نوع دیسک سخت های جدید باید BIOS خود را تعویض یا به روز کنید یا بورد اصلی کامپبوترتان را تعویض کنید ، ‌این مشکل به دلیل این است که بایوس های قدیمی نمی توانند تمام آنچه یک دیسک گزارش می کنند را بفهمند! به زبان دیگر یک دیسک سخت حجم خود را با واحد هایی که در بالا گفتیم گزارش می کند اما بایوس های قدیمی نمی توانند بیشتر از مقدارخاصی از این اطلاعات را ببینند و در نتیجه مقدار فضای شما را کمتر نمایش می دهند.

یک دیسک سخت از تعدادی صفحه ی گردان دایره ای شکل ایجاد شده است که بر دور محوری مرکزی در حال چرخش هستند این صفحات platter نام دارند . اطلاعات در دوطرف این صفحات نوشته می شود بنابراین هر صفحه دارای یک یا چند هد مغناطیسی در هر طرف خود می باشد.(magnetic head) برای نمونه یک دیسک سخت با ۴ صفحه ی گردان و ۱ هد برای هر طرف مجموعا ۸ هد خواهد داشت. هر صفحه ی گردان یا platter به حلقه های متحدالمرکزی تقسیم می شوند که به آن ها سیلندر گفته می شود(cylinder).

نکته :
همین جا باید تذکر بدهم که در ابزار های نوری مانند دیسک های فشرده (CD) مفهوم سیلندر وجود ندارد و این ابزار را spiral یا مارپیچی می گویند .


به ترکیب سیلندر و هد یک ترک گفته می شود.[۱](track) .البته گاهی نیز همان" سیلندر - هد" نیز می گویند.(cylinder-head) . هر تِرک نیز به تعدادی سکتور تقسیم می شود.(Sector) معولا هر ترک به 64 سکتور تقسیم می شود که 63 تا از ان ها قابل استفاده است. اطلاعات به صورت بایت ها برروی این سکتور ها ذخیره می شوند که به طور معمول 512 بایت برروی یک سکتور نوشته می شوند.

دربرنامه هایی مانند fdisk یا هربرنامه ی شبیه به آن این اطلاعات نمایش داده می شوند و در اکثر دیسک های سخت مرغوب این اطلاعات برروی برچسبی برروی دیسک سخت نوشته می شوند. شما به راحتی می توانید سایز دیسک سخت خودرا با ضرب این مقادیر در هم محاسبه کنید.برای فهم بهتر به نمونه ی زیر توجه فرمایید:

gnuiranorg:/home/tux# fdisk -l -u /dev/hda

Disk /dev/hda: 20.4 GB, 20490559488 bytes
255 heads, 63 sectors/track, 2491 cylinders, total 40020624 sectors
Units = sectors of 1 * 512 = 512 bytes

gnuiranorg:/home/tux#

طبق آنچه در این جا نوشته شده دیسک سخت من 255 هد و 63 سکتور و 2491 سیلندر دارد. اما ! این کمی عجیب نیست که هارد دیسک من 255 هد دارد؟ اگر این طور باشد حتی با وجود 10 هد در هر طرف ما باید 25 صفحه ی گردان یا platter در دیسک سخت داشته باشیم ، این از لحاظ فیزیکی کمی سخت و شاید با وجود ضخامت حدود 2 سانتی متری دیسک های ما غیرممکن باشد! این یک عدد مجازی و درواقع غیر واقعی است که با پیشرفت صنعت دیسک های سخت و انجام دو گونه "هک "در دیسک های سخت بوجود آمده . این هک ها را LBA و INIT3 می نامند در واقع همین پیشرفت ها باعث شده تا بایوس ها بتوانند بیستر از 8.4 گیگ را بخوانند !!

بسیار خوب به بحث خودمان بر می گردیم قرار بر این شد که اعداد بدست آمده را در هم ضرب کنیم ، این کار را می کنیم:



2491 سیلندر x 255 هد x 63 سکتور در ترک x 512بایت در هر سکتور
یا
2491 cylinder x 255 heads x 63 sectors/track x 512 bytes/sector



با ضرب این مقادیر در هم به عدد 20.4 خواهیم رسید. (البته بعد از تقسیم بر 1000 به توان سه یا سه بار تقسیم متوالی بر 1000) شاید جمله ی آخر این خروجی که به Unit یا واحد اشاره کرده برایتان سوال باشد ،‌این جمله به شما می گوید هر سکتور شما 512 بایت است.

بنابر این با مفهوم اصطلاحات سیلندر ،‌هدو سکتور نیز اشنا شدیم. اما اگر می خواهید اطلاعاتی درباره ی دیسک سخت خود از جمله مدل آن یا تعداد حقیقی هد های آن کسب کنید می توانید از دستور cat استفاده کنید!! برای اطلاع از مدل هارد خود در خط فرمان تایپ کنید:

$cat /proc/ide/hda/model


برای کسب اطلاع از درایور و نسخه ی درایور دیسک سختتان :

$cat /proc/ide/hda/driver


برای کسب اطلاع از تعداد سیلندر ها و هد ها و تعداد واقعی هد ها :

$cat /proc/ide/hda/geometry


درجواب مورد ژئومتری برای شما دو خط نمایش می دهد یکی خط فیزیکی و یکی خط مجازی که خط فیزیکی تعداد حقیقی را نمایش می دهد. برای نمونه در سیستم من :
tux@gnuiran.org:~$ cat /proc/ide/hda/geometry
physical 16383/16/63
logical 16383/255/63


در خط اول عدد اول تعداد بلوک های موجوددر هر سیلندر را نمایش می دهد که در محاسبه ی حجم با ان کاری نداریم و عدد دوم که 16 است تعداد حقیقی هد ها را نمایش می دهد و عدد سوم تعداد سکتور ها ی هر ترک را نمایش می دهد . اگر یادتان باشد در بالا نیز گفتیم که هر ترک اغلب 64 سکتور دارد که 63 تای آن ها قابل استفاده هستند و هر 512 بایت اطلاعات بر روی یک سکتور نوشته می شوند. در خط دوم نیز اعداد منطقی نوشته شده اند که دربالا به دلیل 255 شدن این هد ها اشاره کردیم.

بسیار خوب بازی با اعداد به پایان رسید ، امیدوارم این مقاله به درک بهتر شما از دیسک سختی که در کامپیوتر خود دارید کمک کرده باشد. برای ایجاد تصوری بهتر درباره‌ی ژئومتری هارد‌ دیسک خود توجهتان را به تصویر زیر جلب می‌کنم : [۲]




موفق باشید.