اولا اسف علي التاخير لاكمال ما وعدت من الموضوع .... ونعود انشاء الله الي التكملة .. ونبدأ بعلاقة القرص الصلب و BIOS ... ومن ثم الدخول علي لماذا القديم والجديد ...
القرص الصلب و BIOS
يلعب BIOS ونظام التشغيل دور مهم في كيفية استخدام قرصك الصلب. بينما BIOS أخذ أكثر من دور "مقعد خلفي" في عملية الوصول المباشر اكثر من نظم التشغيل خلال السنوات القليلة الماضية، ولكن مازال هناك مزيج من التداخل بين الاثنين. هنا نأخذ نظرة سريعة في تأثير BIOS على الإعداد والوصول للقرص الصلب.
دور BIOS في وصول للقرص الصلب
إنّ نظام الاتصال بين BIOS وعتاد الكمبيوتر يعتبر نظام اتصال من المستوي الادني lowest-level.و BIOS له عدّة أدوار هامّة في سيطرة الوصول إلى الأقراص الصلبة وهي:
BIOS Interrupt Routines: والمقصود بهذا استخدام البرامج software لاعداد الطريقة التي يتم بها تجهيز عناوين لعتاد الجهاز hardware وذلك لضمان عدم التضارب في استخدام العتاد. وهذا ما يدعي بخدمات ال BIOS او BIOS services والمستعملة من قبل العديد من برامج التطبيق ونظم التشغيل. ولهذا فان التطبيقات ليست بحاجة إلى أن تعرف كيف تتخاطب مع كلّ نوع من انواع القرص الصلب بشكل منفرد. (تتجاوز العديد من أنظمة التشغيل الحديثة هذه الخدمة والتي لم تعد تصلّح اليوم ولكن ما زالت قد تستعملها لأغراض التوافق. )
Hard Disk Detection and Configuration: الانواع القياسية من الاقراص الصلبة IDE/ATA يتم اعدادها في BIOS بعدة طرق مختلفة ، وبرامج BIOS الحديثة تستوجب IDE/ATA حديثة ايضا لتوصيف البارمترات الخاصة بالقرص وبصورة آلية (او العكس).
Hard Disk Interface Mode Support: يعمل BIOS مع مجموعة رقائق النظام chipset على اللوحة الام ونظام نقل الادخال والاخراج I/O Bus للسيطرة علي أنواع وأنماط الوصلة التي يمكن أن تستعمل مع القرص الصلب.
The Int13h Interface :
عندما يريد اي نظام تشغيل او تطبيق الدخول علي القرص الصلب فمن الطبيعي استخدام خدمات BIOS لفعل ذلك، والوصلة الاساسية المستخدمة في BIOS لهذا برنامج يعرف ب The Int13h Interface ، وكلمة Int13h تعني الاتي Int ماخوذة من Interrupt و 13h بالنظام الستعشري hexadecimal تعني 19 .
Int13h يدعم العديد من الأوامر المختلفة التي يمكن أن تعطي إلى BIOS، ومن ثمّ نقلها إلى القرص الصلب.وهذا يتضمن تقريبا كل الاشياء التي تود ان تفعلها في القرص الصلب من القراءة والكتابة والتهئية .. والي ما ذالك. Int13h يعتبر لعدة سنوات سابقة هو المقياس المستخدم لكل الاقراص الصلبة بسبب استخدامه من قبل DOS . وفي السنوات الاخيرة فقط تم هجر هذه الطريقة لعنونة الاقراص الصلبة لصالح طريقة جديدة للعنونة كما سيأتي ذكرها لاحقا. إستعمال Int 13 h يتطلّب برنامج استحضار لمعرفة البارامترات المعيّنة للقرص الصلب وتزويده بالقيم الفعلية لرؤوس القراءة وعدد الاسطوانات والقطاعات وعنونتها بالطريقة التي تسمح بالدخول ومخاطبة القرص الصلب.
Int13h نظام يستخد 24 Bit لتوصيف مكونات القرص الصلب كما يلي:
- 10 Bits لعدد الاسطوانات ، اي ما مجموعه 1024 اسطوانة .
- 8 Bits لرؤوس القراءة ، اي ما مجموعه 256 رأس.
- 6 Bits لعدد القطاعات ، اي ما مجموعه 63 قطاع (القطاعات تبدأ من 1 وليس صفر).
وبالحساب يعني ان Int13h من الممكن ان يدعم 16.5 مليون قطاع وكل قطاع يحوي 512 بايت وبذلك يكون المجموع 8.45 GB ، طبعا في تلك الفترة كان هذا القرص كبير جدا ولا يتم تصنيعه للكثير، اما الان فهذا القرص صغير جدا بحيث لم يعد يستخدمه الكثير من الناس ايضا ، وبذلك انتهي عهد Int13h بسبب محدودية الدعم ليحل محله عهد Int13h extensions وسنعرف اذا ما كان يستخدم 24 Bits للتوصيف ايضا ام انه يستخدم اكثر من ذلك.
وسنكمل انشاء الله
اشرف