قطاع الاقلاع :
عندما يتم ضغط زر تشغيل الحاسب فأن المعالج يقوم باعطاء التحكم لبرنامج فيه يسمى POST
وهى اختصار لPower On Self Test
تم تصميم POST لاكتشاف النواقص فى النظام مثل (عدم وجود لوحة مفاتيح , لا اشارة , وغيرها من هذه الامور) وايضا البحث عن قرص قابل للاقلاع مثل (floppy, scsi, hard disk, cdrom)
فى الآجهزة المعالجات الحديثة نظام البيوس (BIOS) هو المسؤؤل عن ذلك ويمكنك تغيير قائمة اعدادته بالنسبة لترتيب الاجهزة القابلة للاقلاع وتقرير من سنقوم بالاقلاع منه فعلى سبيل المثال
(A, C, CDROM / C Only / CDROM, C, A.....الخ )
عندما يجد ال(BIOS) قطاع اقلاع مع ID الخاص بالاقلاع والمقصود به ان تكون قيمة اخر بايتين من 512 byte هما ((0x55, 0xAA)) فيقوم بتحميله الى الذاكرة ويقوم بحجز مكان فى الذاكرة على العنوان
0x0000:0x7C00 بحيث تكون ال Segmat هى 0x0000 والعنوان هو 0x7c00
وعندما يتم تحميل القطاع فان التنفيذ يبدأ مباشرة من هذا العنوان
الاقلاع من Floppy disks يختلف عن الاقلاع من Hard Disks والاختلاف هو فى الطريقة التى تستخدم فى الاقلاع
الاقلاع من الفلوبى ديسك سهل جدا فقطاع الاقلاع يكون فى العنوان 0x0000:0x7C00 ويتم الشروع فى تنفيذه فى عملية واحدة
اما الاقلاع من الاقراص الصلبة فانه مختلف لقرص الصلب يحتوى على MBR وهى اختصار ل(Master Boot Record)
وذلك لأن القرص الصلب يمكن أن يكون لها أقسام متعددة وأي واحد منهم يمكن أن تكون قابلة للاقلاع
الBIOS يقوم بتحميل MBR (القطاع الاول من القرص الصلب) الى الذاكرة الى العنوان 0x0000:0x7C00 ويقوم بتنفيذه
وعادة (ليس وضع قياسيا ) القطاع يحرك كوده الى المنطقة 0x0000:0x0600 ويواصل تنفيذ نفسه من هناك
واول ما يقوم بنقل نفسه فسوف يقوم بعمل Scan لجدول البارتيشن على بارتيشن يمكن الاقلاع منه وعندما يجد واحد قابلا للاقلاع فيقوم مباشرة بتحميل القطاع الاول من البارتيشن الى العنوان
0x0000:0x7C00 ويقوم بتنفيذه
العملية برمتها هى بسيطة جدا. لكن الامور اكثر صعوبة عندما تقرر أنك تريد bootsector الخاص لتحميل ملف أو نواة نظام التشغيل.
Master Boot Record
كل قرص صلب يحتوى على MBR كقطاع اول من القرص وهو يتكون من جدول من 4 مداخل وتسمى Primary Partitions يتم تعبئة هذا الجدول من قبل في برامج تقسيم القرص مثل FDisk وغيرها
الجدول
وانتيهنا هكذا من الدرس الثالث
والى اللقاء فى لقاء جديد
تحياتى
المصادر
OS-FAQS
OS-Dev Forums