تصميم نظام ملفات FAT
نظام ملفات FAT هو نظام ملفات يُستخدم في أنظمة التشغيل MS-DOS و Windows 9x . [ 3 ] ولا يزال يُستخدم في الأجهزة المحمولة والأنظمة المدمجة ، وبالتالي فهو نظام ملفات مناسب لتبادل البيانات بين أجهزة الكمبيوتر والأجهزة من أي نوع وعمر تقريبًا منذ عام 1981 وحتى الآن.
بناء
يتكون نظام ملفات FAT من أربعة مناطق:
| منطقة | الحجم في القطاعات | محتويات | ملحوظات |
|---|---|---|---|
| القطاعات المحجوزة | (عدد القطاعات المحجوزة ) | قطاع الأحذية | يُعد القطاع المحجوز الأول (القطاع المنطقي 0) قطاع الإقلاع (ويُسمى أيضًا سجل إقلاع وحدة التخزين أو ببساطة VBR ). وهو يتضمن منطقة تُسمى كتلة معلمات BIOS ( BPB ) التي تحتوي على بعض معلومات نظام الملفات الأساسية، ولا سيما نوعه ومؤشرات إلى موقع الأقسام الأخرى، وعادةً ما تحتوي على رمز مُحمِّل الإقلاع لنظام التشغيل . يمكن الوصول إلى المعلومات المهمة من قطاع التمهيد من خلال بنية نظام التشغيل المسماة كتلة معلمات محرك الأقراص ( DPB ) في DOS و OS/2. يُشار إلى العدد الإجمالي للقطاعات المحجوزة بواسطة حقل داخل قطاع الإقلاع، وعادةً ما يكون 32 في أنظمة ملفات FAT32. [ 4 ] في أنظمة ملفات FAT32، تشمل القطاعات المحجوزة قطاع معلومات نظام الملفات في القطاع المنطقي 1 وقطاع التمهيد الاحتياطي في القطاع المنطقي 6. وبينما استمر العديد من الموردين الآخرين في استخدام إعداد قطاع واحد (القطاع المنطقي 0 فقط) لبرنامج تحميل التمهيد، فقد توسع رمز قطاع التمهيد لدى مايكروسوفت ليشمل القطاعين المنطقيين 0 و2 منذ إطلاق FAT32، حيث يعتمد القطاع المنطقي 0 على إجراءات فرعية في القطاع المنطقي 2. ويتكون قطاع التمهيد الاحتياطي أيضًا من ثلاثة قطاعات منطقية هي 6 و7 و8. وفي بعض الحالات، تستخدم مايكروسوفت أيضًا القطاع 12 من منطقة القطاعات المحجوزة لبرنامج تحميل تمهيد موسع. |
| قطاع المعلومات المالية (FAT32 فقط) | |||
| قطاعات محجوزة إضافية (اختياري) | |||
| منطقة FAT | (عدد وحدات FAT) * (القطاعات لكل وحدة FAT) | جدول تخصيص الملفات رقم 1 | يحتوي هذا عادةً على نسختين من جدول تخصيص الملفات لغرض التحقق من التكرار، على الرغم من ندرة استخدامه، حتى من قِبل أدوات إصلاح القرص. هذه خرائط لمنطقة البيانات، تُشير إلى المجموعات التي تستخدمها الملفات والمجلدات. في نظامي FAT12 وFAT16، تأتي هذه الخرائط مباشرةً بعد القطاعات المحجوزة. عادةً ما تُحفظ النسخ الإضافية متزامنة بدقة عند الكتابة ، وعند القراءة، لا تُستخدم إلا في حال حدوث أخطاء في جدول تخصيص الملفات الأول. تحتوي أول مجموعتين (المجموعة 0 والمجموعة 1 ) في الخريطة على قيم خاصة. |
| جدول تخصيص الملفات رقم 2 ... (اختياري) | |||
| منطقة الدليل الجذري | (عدد المدخلات الجذرية * 32) / (بايت لكل قطاع) | المجلد الجذر (FAT12 و FAT16 فقط) | هذا جدول دليل يخزن معلومات حول الملفات والمجلدات الموجودة في الدليل الجذر. يُستخدم فقط مع نظامي FAT12 وFAT16، ويفرض على الدليل الجذر حجمًا أقصى ثابتًا يتم تخصيصه مسبقًا عند إنشاء وحدة التخزين. أما نظام FAT32 فيخزن الدليل الجذر في منطقة البيانات، إلى جانب الملفات والمجلدات الأخرى، مما يسمح له بالتوسع دون هذا القيد. لذا، بالنسبة لنظام FAT32، تبدأ منطقة البيانات من هنا. |
| منطقة البيانات | (عدد المجموعات) * (القطاعات لكل مجموعة) | منطقة البيانات (للملفات والمجلدات) ... (إلى نهاية القسم أو القرص) | هنا يتم تخزين بيانات الملفات والمجلدات الفعلية، ويشغل هذا الجزء معظم مساحة القسم. يبدأ نظام FAT32 عادةً جدول الدليل الجذر في المجموعة رقم 2: وهي المجموعة الأولى من منطقة البيانات. |
يستخدم نظام FAT تنسيق little-endian لجميع الإدخالات في رأس الملف (باستثناء بعض الإدخالات في قطاعات إقلاع Atari ST، حيثما ذُكر ذلك صراحةً) وجداول تخصيص الملفات (FATs). [ 5 ] من الممكن تخصيص قطاعات FAT أكثر من اللازم لعدد المجموعات. قد يكون الجزء الأخير من كل نسخة FAT غير مستخدم إذا لم تكن هناك مجموعات مقابلة. يمكن أن يكون إجمالي عدد القطاعات (كما هو موضح في سجل الإقلاع) أكبر من عدد القطاعات المستخدمة بواسطة البيانات (المجموعات × عدد القطاعات لكل مجموعة)، وجداول تخصيص الملفات (عدد جداول تخصيص الملفات × عدد القطاعات لكل جدول تخصيص ملفات)، ودليل الجذر (غير متوفر لنظام FAT32)، والقطاعات المخفية بما في ذلك قطاع الإقلاع: سيؤدي ذلك إلى وجود قطاعات غير مستخدمة في نهاية وحدة التخزين. إذا احتوى قسم ما على قطاعات أكثر من إجمالي عدد القطاعات التي يشغلها نظام الملفات، فسيؤدي ذلك أيضًا إلى وجود قطاعات غير مستخدمة في نهاية القسم، بعد وحدة التخزين.
منطقة القطاعات المحجوزة
قطاع الأحذية
في أجهزة التخزين غير المقسمة ، مثل الأقراص المرنة ، يكون قطاع الإقلاع ( VBR ) هو القطاع الأول (القطاع المنطقي 0 بعنوان CHS الفعلي 0/0/1 أو عنوان LBA 0). أما في أجهزة التخزين المقسمة، مثل الأقراص الصلبة، فيكون قطاع الإقلاع هو القطاع الأول من القسم، كما هو محدد في جدول أقسام الجهاز.
| إزاحة البايت | الحجم (بايت) | محتويات |
|---|---|---|
| 0x000 | 3 | تعليمات القفز. إذا كان قطاع الإقلاع يحتوي على توقيع صالح في آخر بايتين منه (يتم اختباره بواسطة معظم برامج الإقلاع الموجودة في BIOS النظام أو سجل الإقلاع الرئيسي)، وتم الإقلاع من هذا المجلد، فإن برنامج الإقلاع السابق سينقل التنفيذ إلى نقطة الدخول هذه بقيم سجلات معينة، ثم ستتخطى تعليمات القفز باقي رأس الملف (غير القابل للتنفيذ). انظر سجل إقلاع المجلد . منذ نظام التشغيل DOS 2.0، يجب أن تبدأ الأقراص القابلة للتشغيل من نوع x86 إما بقفزة قصيرة متبوعة بأمر NOP ( تسلسل سلسلة العمليات 0xEB 0x?? 0x90 [ 6 ] [ 7 ] كما هو الحال في DOS 3.0 [ nb 1 ] - وفي DOS 1.1 [ 8 ] [ 9 ] ) أو بقفزة قريبة ( 0xE9 0x?? 0x?? [ 6 ] [ 7 ] كما هو الحال في معظم أقراص DOS 2.x ( من Compaq و TeleVideo ) وكذلك في بعض أقراص DOS 3.1 ( من Epson و Olivetti )). ولضمان التوافق مع الإصدارات السابقة، تقبل أنظمة MS-DOS وPC DOS وDR-DOS أيضًا قفزة ( 0x69 0x?? 0x?? ) [ 6 ] [ 7 ] [ 10 ] على الأقراص القابلة للإزالة. على الأقراص الصلبة، يقبل نظام DR DOS أيضًا تسلسل JMPS المُبدَّل الذي يبدأ بـ NOP ( 0x90 0xEB 0x?? )، [ 10 ] بينما لا يقبله نظاما MS-DOS/PC DOS. (انظر أدناه لمعرفة توافق Atari ST). يُعد وجود أحد أنماط سلاسل العمليات هذه (بالإضافة إلى اختبار قيمة واصف الوسائط الصالحة عند الإزاحة 0x015 ) مؤشرًا لنظام DOS 3.3 والإصدارات الأحدث على وجود نوع من BPB (على الرغم من أنه لا ينبغي تحديد الحجم الدقيق من هدف القفز نظرًا لاحتواء بعض قطاعات التمهيد على بيانات مُحمِّل تمهيد خاصة تلي BPB)، بينما بالنسبة لوحدات تخزين DOS 1.x (وبعض وحدات تخزين DOS 3.0 )، فسيتعين عليها الرجوع إلى طريقة DOS 1.x لاكتشاف التنسيق عبر بايت الوسائط في FAT (في القطاع المنطقي 1 ). |
| 0x003 | 8 | اسم الشركة المصنعة الأصلية (مضاف إليه مسافات 0x20 ). تحدد هذه القيمة النظام الذي تم فيه تهيئة القرص. على الرغم من توثيقها رسميًا على أنها مجانية للاستخدام من قِبل مُصنِّعي المعدات الأصلية، فإن أنظمة MS-DOS/PC DOS (منذ الإصدار 3.1) ، وWindows 95/98/SE/ME، وOS/2 تتحقق من هذا الحقل لتحديد أجزاء سجل الإقلاع الأخرى التي يمكن الاعتماد عليها وكيفية تفسيرها. لذلك، قد يؤدي تعيين تسمية مُصنِّع المعدات الأصلية إلى قيم عشوائية أو خاطئة إلى عدم تعرف أنظمة MS-DOS وPC DOS وOS/2 على وحدة التخزين بشكل صحيح، مما يتسبب في تلف البيانات عند الكتابة. [ 11 ] [ 12 ] [ 13 ] ومن الأمثلة الشائعة على ذلك: " يقوم بعض البائعين بتخزين معلومات الترخيص أو مفاتيح الوصول في هذا المدخل. يقوم متتبع وحدة التخزين في أنظمة التشغيل Windows 95/98/SE/ME باستبدال ملصق الشركة المصنعة الأصلية (OEM) تقوم بعض برامج تحميل الإقلاع بإجراء تعديلات أو ترفض تمرير التحكم إلى قطاع الإقلاع اعتمادًا على قيم معينة يتم اكتشافها هنا (مثل إزاحة NEWLDR 0x018 ). لن يتعرف نظام التشغيل ROM الخاص بجهاز Wang Professional Computer إذا كان التوقيع عند إزاحة القطاع 0x042 في FAT32 هو 0x29 وكان إجمالي إدخالات القطاع 0، فقد يعمل إدخال نظام الملفات كإدخال إجمالي عدد القطاعات 64 بت، ويمكن استخدام إدخال تسمية OEM كنوع نظام ملفات بديل بدلاً من الإدخال العادي عند الإزاحة 0x052 . وبالمثل، إذا تم تعيين هذا الإدخال إلى " |
| 0x00B | يختلف | كتلة معلمات BIOS ( 13 أو 19 أو 21 أو 25 بايت)، أو كتلة معلمات BIOS الموسعة (32 أو 51 بايت)، أو كتلة معلمات BIOS الموسعة لنظام الملفات FAT32 (60 أو 79 بايت)؛ يختلف الحجم والمحتويات باختلاف أنظمة التشغيل والإصدارات، انظر أدناه |
| يختلف | يختلف | رمز تمهيد خاص بنظام الملفات ونظام التشغيل؛ غالبًا ما يبدأ مباشرة بعد [E]BPB، ولكن في بعض الأحيان يتم تخزين بيانات محمل التمهيد "الخاصة" الإضافية بين نهاية [E]BPB وبداية رمز التمهيد؛ لذلك لا يمكن استخدام القفزة عند الإزاحة 0x001 لاستخلاص تنسيق [E]BPB الدقيق بشكل موثوق. (بالتزامن مع نظام تشغيل DOS 3.31 BPB على الأقل، تستخدم بعض برامج تحميل الإقلاع GPT (مثل BootDuet ) النطاق 0x1FA – 0x1FD لتخزين البايتات الأربعة العليا من القطاعات المخفية للأقراص الموجودة خارج أول قطاعين 32 -1 . ونظرًا لأن هذا الموقع قد يحتوي على تعليمات برمجية أو بيانات أخرى في قطاعات إقلاع أخرى، فقد لا تتم الكتابة إليه عندما لا تحتوي جميع البايتات من 0x1F9 إلى 0x1FD على أصفار.) |
| 0x1FD | 1 | رقم محرك الأقراص الفعلي (في قطاعات الإقلاع لأنظمة DOS من الإصدار 3.2 إلى 3.31 فقط). مع نظامي التشغيل OS/2 1.0 وDOS 4.0، انتقل هذا المدخل إلى إزاحة القطاع 0x024 (عند الإزاحة 0x19 في EBPB ). تحتفظ معظم قطاعات الإقلاع لأنظمة مايكروسوفت وآي بي إم بالقيم 0x00 عند الإزاحتين 0x1FC و 0x1FD منذ ذلك الحين، على الرغم من أنها ليست جزءًا من التوقيع عند 0x1FE . إذا كان هذا الإدخال تابعًا لوحدة تخزين تمهيد، فيمكن تهيئة سجل التمهيد الرئيسي المُحسَّن في نظام DR-DOS 7.07 (انظر إزاحة NEWLDR 0x014 ) لتحديث هذا الإدخال ديناميكيًا إلى قيمة DL المُقدَّمة عند بدء التشغيل أو القيمة المخزنة في جدول الأقسام. وهذا يُتيح التمهيد من محركات أقراص بديلة، حتى عندما يتجاهل رمز VBR قيمة DL. |
| 0x1FE | 2 | توقيع قطاع الإقلاع ( 0x55 0xAA ). [ 4 ] [ ملاحظة 2 ] يشير هذا التوقيع إلى رمز إقلاع متوافق مع IBM PC، ويتم اختباره بواسطة معظم برامج تحميل الإقلاع الموجودة في BIOS النظام أو MBR قبل تمرير التنفيذ إلى رمز إقلاع قطاع الإقلاع (ولكن، على سبيل المثال، ليس بواسطة ROM-BIOS الأصلي لجهاز IBM PC [ 16 ] ). لا يشير هذا التوقيع إلى نظام ملفات أو نظام تشغيل معين. نظرًا لأن هذا التوقيع غير موجود على جميع الأقراص المهيأة بنظام FAT (على سبيل المثال، ليس على DOS 1.x [ 8 ] [ 9 ] أو وحدات تخزين FAT غير القابلة للإقلاع من x86)، يجب ألا تعتمد أنظمة التشغيل على وجود هذا التوقيع عند تسجيل الدخول إلى وحدات التخزين (كانت الإصدارات القديمة من MS-DOS/PC DOS قبل الإصدار 3.3 تتحقق من هذا التوقيع، لكن الإصدارات الأحدث وكذلك DR-DOS لا تفعل ذلك). يجب ألا تكتب أدوات التهيئة هذا التوقيع إذا لم يكن قطاع الإقلاع المكتوب يحتوي على الأقل على جزء صغير من برنامج تحميل إقلاع وهمي متوافق مع x86. كحد أدنى، يجب أن يُوقف هذا الأمر وحدة المعالجة المركزية في حلقة لا نهائية ( 0xF4 0xEB 0xFD ) أو يُصدر إشارة INT 19h وRETF ( 0xCD 0x19 0xCB ). مع ذلك، لا ينبغي استخدام هذه السلاسل البرمجية عند إزاحة القطاع 0x000 ، لأن نظام DOS يتحقق من وجود رموز برمجية أخرى كعلامات مميزة. تستخدم العديد من أقراص MSX-DOS 2 المرنة السلسلة 0xEB 0xFE 0x90 عند إزاحة القطاع 0x000 لإيقاف وحدة المعالجة المركزية في حلقة لا نهائية مع الحفاظ على نمط رمز برمجي يتعرف عليه نظاما MS-DOS/PC DOS. يجب أن يكون هذا التوقيع موجودًا عند إزاحة القطاع الثابتة 0x1FE لأحجام القطاعات 512 أو أكبر. إذا كان حجم القطاع الفعلي أكبر، فقد يتكرر في نهاية القطاع الفعلي. ستفترض أجهزة أتاري إس تي أن القرص قابل للإقلاع من أتاري 68000 إذا كان مجموع التحقق لـ 256 كلمة من قطاع الإقلاع ( بترتيب البايتات الكبيرة) يساوي 0x1234 . [ 17 ] [ ملاحظة 3 ] إذا كان رمز مُحمِّل الإقلاع متوافقًا مع IBM، فمن المهم التأكد من أن مجموع التحقق لقطاع الإقلاع لا يتطابق مع هذا المجموع عن طريق الخطأ. في حال حدوث ذلك، يمكن تغيير بت غير مستخدم (مثلًا، قبل أو بعد منطقة رمز الإقلاع) لضمان عدم تحقق هذا الشرط. في حالات نادرة، لوحظ وجود توقيع معكوس 0xAA 0x55 على صور الأقراص. قد يكون هذا نتيجة خلل في تطبيق أداة التهيئة بناءً على توثيق غير دقيق، [ ملاحظة 2 ] ولكنه قد يشير أيضًا إلى تبديل ترتيب البايتات في صورة القرص، والذي ربما حدث أثناء النقل بين منصات تستخدم ترتيب بايتات مختلف . يُفترض أن تستخدم قيم BPB وأنظمة الملفات FAT12 وFAT16 وFAT32 تمثيلًا بنظام البايتات الصغيرة فقط، ولا توجد تطبيقات معروفة لمتغيرات تستخدم قيمًا بنظام البايتات الكبيرة . |
| إزاحة البايت | الحجم (بايت) | محتويات |
|---|---|---|
| 0x000 | 2 | تعليمات القفز. تبدأ قطاعات الإقلاع الأصلية لجهاز أتاري ST بتعليمات 68000 BRA.S ( 0x60 0x?? ). [ 5 ] ولضمان التوافق مع أنظمة تشغيل الكمبيوتر الشخصي، تبدأ الأقراص المهيأة لجهاز أتاري ST منذ الإصدار TOS 1.4 بتعليمات 0xE9 0x?? بدلاً من ذلك. |
| 0x002 | 6 | اسم الشركة المصنعة (مُضاف إليه مسافات 0x20 )، على سبيل المثال، " " ( 0x4C 0x6F 0x61 0x64 0x65 0x72 ) على وحدات التخزين التي تحتوي على مُحمِّل إقلاع Atari ST. راجع احتياطات اسم الشركة المصنعة للأقراص المُهيأة لأجهزة الكمبيوتر الشخصية أعلاه. يختلف موضع هذا الإدخال وطوله عن الإدخال الموجود على الأقراص المُهيأة لأجهزة الكمبيوتر الشخصية.Loader |
| 0x008 | 3 | الرقم التسلسلي للقرص [ 5 ] (الافتراضي: 0x00 0x00 0x00 )، يستخدمه جهاز أتاري ST للكشف عن أي تغيير في القرص. (يخزن برنامج تتبع وحدات التخزين في ويندوز 9x دائمًا قيمة فارغة هنا على الأقراص المرنة غير المحمية ضد الكتابة؛ انظر أعلاه). يجب تغيير هذه القيمة إذا تم تغيير محتوى القرص خارجيًا، وإلا فقد لا يتعرف جهاز أتاري ST على التغيير عند إعادة إدخال القرص. يتداخل هذا الإدخال مع حقل اسم الشركة المصنعة الأصلية على الأقراص المهيأة لأجهزة الكمبيوتر الشخصية. لتحقيق أقصى قدر من التوافق، قد يكون من الضروري مطابقة أنماط معينة هنا؛ انظر أعلاه.IHC |
| 0x00B | 19 | كتلة معلمات BIOS لنظام التشغيل DOS 3.0 (تنسيق little-endian ) |
| 0x01E | يختلف | بيانات قطاع التمهيد الخاص ( تنسيق مختلط كبير النهاية وصغير النهاية ) |
| يختلف | يختلف | رمز إقلاع خاص بنظام الملفات ونظام التشغيل لجهاز أتاري ST. لا توجد افتراضات مسبقة بخصوص موضع تحميل الرمز، والذي يجب أن يكون قابلاً لإعادة التموضع. في حال فشل تحميل نظام التشغيل (TOS.IMG [ 5 ] )، يمكن للرمز العودة إلى نظام الإدخال والإخراج الأساسي (BIOS) لجهاز أتاري ST باستخدام تعليمة 68000 RTS ( رمز العملية 0x4E75 مع تسلسل البايتات الكبير 0x4E 0x75 [ nb 2 ] ) مع بقاء جميع السجلات دون تغيير. |
| 0x1FE | 2 | مجموع التحقق. يجب أن يتطابق مجموع التحقق ذو 16 بت، الذي يغطي 256 كلمة بنظام Big-Endian في قطاع الإقلاع البالغ 512 بايت، بما في ذلك هذه الكلمة، مع القيمة السحرية 0x1234 للدلالة على وجود رمز قطاع إقلاع قابل للتنفيذ لجهاز أتاري ST 68000. [ 17 ] يمكن استخدام إدخال مجموع التحقق هذا لمحاذاة مجموع التحقق وفقًا لذلك. [ ملاحظة 3 ] إذا كان حجم القطاع المنطقي أكبر من 512 بايت، فإن الباقي لا يُدرج في مجموع التحقق ويُملأ عادةً بالأصفار. [ 17 ] ولأن بعض أنظمة تشغيل الحواسيب الشخصية لا تقبل أقراص FAT المرنة إذا لم يكن التوقيع 0x55 0xAA [ ملاحظة 2 ] موجودًا هنا، يُنصح بوضع التوقيع 0x55 0xAA في هذا الموضع (وإضافة مُحمِّل إقلاع أو برنامج تمهيد متوافق مع IBM) واستخدام كلمة غير مستخدمة في البيانات الخاصة أو منطقة رمز الإقلاع أو الرقم التسلسلي لضمان عدم مطابقة مجموع التحقق 0x1234 [ ملاحظة 3 ] (إلا إذا كان تراكب رمز FAT المشترك قابلاً للتنفيذ على كل من IBM PC وAtari ST في الوقت نفسه). |
| إزاحة البايت | الحجم (بايت) | محتويات |
|---|---|---|
| 0x000 | 3 | تعليمات القفز الوهمية (على سبيل المثال، 0xEB 0xFE 0x90 ). |
| 0x003 | 8 | اسم الشركة المصنعة الأصلية (مضاف إليه مسافات 0x20 ). |
| 0x00B | 19 | DOS 3.0 BPB |
| 0x01E | يختلف (2) | نقطة دخول رمز MSX-DOS 1 لمعالجات Z80 إلى رمز إقلاع MSX. هذا هو المكان الذي تنتقل إليه أجهزة MSX-DOS 1 عند تمرير التحكم إلى قطاع الإقلاع. يتداخل هذا الموقع مع تنسيقات BPB منذ DOS 3.2 أو رمز قطاع الإقلاع المتوافق مع x86 لقطاعات الإقلاع المتوافقة مع IBM PC، وسيؤدي إلى تعطل جهاز MSX ما لم تُتخذ احتياطات خاصة مثل اعتراض وحدة المعالجة المركزية في حلقة تكرار ضيقة هنا (opstring 0x18 0xFE لـ JR 0x01E ). |
| 0x020 | 6 | توقيع وحدة التخزين MSX-DOS 2 " VOL_ID". |
| 0x026 | 1 | علامة استعادة الملفات المحذوفة في MSX-DOS 2 (الافتراضي: 0x00 ). إذا كان التوقيع " " موجودًا عند إزاحة القطاع 0x020 ، فإن هذه العلامة تشير إلى ما إذا كان المجلد يحتوي على ملفات محذوفة يمكن استعادتها (انظر الإزاحة 0x0C في إدخالات الدليل).VOL_ID |
| 0x027 | 4 | الرقم التسلسلي لقرص MSX-DOS 2 (الافتراضي: 0x00000000 ). إذا كانت علامة " " موجودة عند إزاحة القطاع 0x020 ، فإن MSX-DOS 2 يخزن الرقم التسلسلي لوحدة التخزين هنا لاكتشاف تغيير الوسائط.VOL_ID |
| 0x02B | 5 | محجوز |
| 0x030 | يختلف (2) | نقطة دخول رمز MSX-DOS 2 لمعالجات Z80 إلى رمز إقلاع MSX. هذا هو المكان الذي تنتقل إليه أجهزة MSX-DOS 2 عند تمرير التحكم إلى قطاع الإقلاع. يتداخل هذا الموقع مع تنسيقات EBPB منذ DOS 4.0 / OS/2 1.2 أو رمز قطاع الإقلاع المتوافق مع x86 لقطاعات الإقلاع المتوافقة مع IBM PC، وسيؤدي إلى تعطل جهاز MSX ما لم تُتخذ احتياطات خاصة مثل اعتراض وحدة المعالجة المركزية في حلقة تكرار ضيقة هنا (opstring 0x18 0xFE لـ JR 0x030 ). |
| 0x1FE | 2 | إمضاء |
كتلة معلمات BIOS
| إزاحة القطاع | إزاحة BPB | الحجم (بايت) | محتويات |
|---|---|---|---|
| 0x00B | 0x00 | 2 | عدد البايتات لكل قطاع منطقي؛ القيمة الأكثر شيوعًا هي 512. بعض أنظمة التشغيل لا تدعم أحجام قطاعات أخرى. ولتبسيط العملية وتحقيق أقصى أداء، غالبًا ما يكون حجم القطاع المنطقي مطابقًا لحجم القطاع الفعلي للقرص، ولكنه قد يكون أكبر أو أصغر في بعض الحالات. الحد الأدنى المسموح به لحجم القطاعات المنطقية في وحدات تخزين FAT12/FAT16 غير القابلة للتشغيل، والتي تصل إلى 65,535 قطاعًا منطقيًا، هو 32 بايت ، أو 64 بايت لأكثر من 65,535 قطاعًا منطقيًا . أما الحد الأدنى العملي فهو 128 بايت. بعض إصدارات DOS الأصلية (قبل DOS 3.31) استخدمت أحجام قطاعات منطقية تصل إلى 8192 بايت لوحدات تخزين FAT ذات القطاعات المنطقية . يدعم نظام Atari ST GEMDOS أحجام قطاعات منطقية تتراوح بين 512 و4096 بايت. [ 17 ] يدعم نظام DR-DOS التشغيل من وحدات تخزين FAT12/FAT16 ذات أحجام قطاعات منطقية تصل إلى 32 كيلوبايت، كما تدعم تطبيقات INT 13h قطاعات فعلية تصل إلى 1024 بايت/قطاع. [ nb 5 ] الحد الأدنى لحجم القطاع المنطقي لوحدات تخزين FAT32 القياسية هو 512 بايت، والذي يمكن تقليله إلى 128 بايت بدون دعم قطاع معلومات نظام الملفات . تستخدم محركات الأقراص المرنة ووحدات التحكم بها أحجام قطاعات فعلية تبلغ 128 و256 و512 و1024 بايت (مثل PC/AX). يدعم نظام Atari Portfolio حجم قطاع 512 بايت للأحجام الأكبر من 64 كيلوبايت، و256 بايت للأحجام الأكبر من 32 كيلوبايت، و128 بايت للأحجام الأصغر. أما محركات الأقراص المغناطيسية الضوئية، فكانت تستخدم أحجام قطاعات 512 و1024 و2048 بايت. في عام 2005، استخدمت بعض الأقراص الصلبة المخصصة من Seagate حجم قطاع 1024 بايت بدلاً من الحجم الافتراضي 512 بايت. [ 18 ] تستخدم الأقراص الصلبة ذات التنسيق المتقدم 4096 بايت لكل قطاع ( 4Kn ) منذ عام 2010، ولكنها ستكون قادرة أيضًا على محاكاة قطاعات 512 بايت ( 512e ) خلال فترة انتقالية. يدعم نظام التشغيل لينكس، وبالتالي نظام أندرويد، حجم قطاع منطقي أكبر بكثير، موثق رسميًا في صفحة الدليل لأدوات نظام الملفات حتى 32 كيلوبايت. |
| 0x00D | 0x02 | 1 | عدد القطاعات المنطقية لكل مجموعة. القيم المسموح بها هي 1، 2، 4، 8، 16، 32، 64، و128. بعض إصدارات MS-DOS 3.x كانت تدعم حجم مجموعة أقصى يبلغ 4 كيلوبايت فقط، بينما تدعم أنظمة MS-DOS/PC DOS الحديثة وWindows 95 حجم مجموعة أقصى يبلغ 32 كيلوبايت. يدعم Windows 98/SE/ME جزئيًا حجم مجموعة يبلغ 64 كيلوبايت أيضًا، ولكن بعض خدمات FCB غير متوفرة على هذه الأقراص، وتفشل تطبيقات مختلفة في العمل. تدعم عائلة Windows NT وبعض إصدارات DOS البديلة، مثل PTS-DOS، مجموعات بحجم 64 كيلوبايت بشكل كامل. بالنسبة لمعظم أنظمة التشغيل القائمة على نظام التشغيل DOS، يظل الحد الأقصى لحجم الكتلة عند 32 كيلوبايت (أو 64 كيلوبايت) حتى بالنسبة لأحجام القطاعات الأكبر من 512 بايت. بالنسبة لأحجام القطاعات المنطقية 1 كيلوبايت و2 كيلوبايت و4 كيلوبايت، يدعم نظام التشغيل Windows NT 4.0 أحجام مجموعات تبلغ 128 كيلوبايت، بينما بالنسبة لقطاعات 2 كيلوبايت و4 كيلوبايت، يمكن أن يصل حجم المجموعة إلى 256 كيلوبايت. توفر بعض إصدارات DR-DOS دعمًا محدودًا لمجموعات 128 كيلوبايت مع 512 بايت/قطاع باستخدام قيمة القطاعات/المجموعة 0. سيتوقف نظام التشغيل MS-DOS/PC DOS عن العمل عند بدء التشغيل إذا تم تحديد هذه القيمة بشكل خاطئ على أنها 0. [ 19 ] : INT 21h AX=53h |
| 0x00E | 0x03 | 2 | عدد القطاعات المنطقية المحجوزة . عدد القطاعات المنطقية قبل أول قسم FAT في صورة نظام الملفات. يجب ألا يقل هذا القطاع عن واحد، وعادةً ما يكون 32 قسمًا لنظام FAT32 (للاحتفاظ بقطاع التمهيد الموسع، وقطاع معلومات نظام الملفات، وقطاعات التمهيد الاحتياطية). بما أن وحدات التخزين المهيأة بنظام DR-DOS 7.0x FAT32 تستخدم قطاع تمهيد أحادي القطاع، وقطاع معلومات نظام الملفات، وقطاع النسخ الاحتياطي، فإن بعض وحدات التخزين المهيأة بنظام DR-DOS تستخدم القيمة 4 هنا. |
| 0x010 | 0x05 | 1 | عدد جداول تخصيص الملفات. عادةً ما يكون اثنان؛ قد تستخدم أقراص ذاكرة الوصول العشوائي جدولًا واحدًا. لا تدعم معظم إصدارات MS-DOS/PC DOS أكثر من جدولين لتخصيص الملفات. تدعم بعض أنظمة تشغيل DOS جدولين فقط في برنامج تشغيل القرص المدمج، ولكنها تدعم أعدادًا أخرى من جداول تخصيص الملفات لبرامج تشغيل أجهزة الكتل التي يتم تحميلها لاحقًا. لن تُعامل وحدات التخزين التي تُعلن عن وجود جدولين FAT في هذا الإدخال على أنها وحدات تخزين TFAT . إذا كانت القيمة مختلفة عن 2، فقد تحاول بعض أنظمة تشغيل مايكروسوفت تحميل وحدة التخزين كوحدة تخزين TFAT، وتستخدم المجموعة الثانية ( المجموعة 1 ) من جدول FAT الأول لتحديد حالة TFAT. |
| 0x011 | 0x06 | 2 | الحد الأقصى لعدد إدخالات الدليل الجذر في نظامي الملفات FAT12 أو FAT16. القيمة 0 لنظام FAT32، حيث يتم تخزين الدليل الجذر في مجموعات بيانات عادية؛ انظر الإزاحة 0x02C في ملفات EBPB لنظام FAT32. قد تشير القيمة 0 بدون FAT32 EBPB (بدون توقيع 0x29 أو 0x28 عند الإزاحة 0x042 ) إلى وجود دليل جذر متغير الحجم في بعض تطبيقات FAT12 وFAT16 غير القياسية، والتي تخزن مجموعة بداية دليل الجذر في مدخل المجموعة 1 في جدول تخصيص الملفات (FAT). [ 20 ] ومع ذلك، فإن هذا الامتداد غير مدعوم من قبل أنظمة التشغيل الشائعة، [ 20 ] لأنه قد يتعارض مع استخدامات أخرى لمدخل المجموعة 1 لعلامات الصيانة، أو علامة نهاية السلسلة الحالية، أو امتدادات TFAT . يجب تعديل هذه القيمة بحيث تستهلك إدخالات الدليل قطاعات منطقية كاملة دائمًا، علمًا بأن كل إدخال دليل يشغل 32 بايت. يتطلب نظاما MS-DOS/PC DOS أن تكون هذه القيمة من مضاعفات 16. القيمة القصوى المدعومة على الأقراص المرنة هي 240، [ 6 ] بينما القيمة القصوى المدعومة من قِبل MS-DOS/PC DOS على الأقراص الصلبة هي 512. [ 6 ] يدعم نظام DR-DOS الإقلاع من وحدات تخزين FAT12/FAT16، إذا كان ملف الإقلاع موجودًا ضمن أول 2048 إدخالًا في الدليل الجذر. |
| 0x013 | 0x08 | 2 | إجمالي القطاعات المنطقية. 0 لنظام FAT32. (إذا كانت القيمة صفرًا، فاستخدم قيمة 4 بايت عند الإزاحة 0x020 ) |
| 0x015 | 0x0A | 1 | وصف الوسائط (قارن: معرف FAT ): [ 21 ] [ 22 ] [ 23 ] [ nb 1 ]
يجب أن تعكس هذه القيمة مُعرِّف الوسائط المُخزَّن (في مدخل المجموعة 0 ) في البايت الأول من كل نسخة من جدول تخصيص الملفات (FAT). تتجاهل بعض أنظمة التشغيل السابقة لنظام DOS 3.2 (مثل 86-DOS و MS-DOS / PC DOS 1.x و MSX-DOS الإصدار 1.0) معلمات قطاع الإقلاع تمامًا، وتستخدم قيمة مُعرِّف الوسائط من البايت الأول من جدول تخصيص الملفات (FAT) للاختيار من بين قوالب المعلمات المُعرَّفة مسبقًا داخليًا. يجب أن تكون هذه القيمة أكبر من أو تساوي 0xF0 بدءًا من نظام DOS 4.0. [ 6 ] في محركات الأقراص القابلة للإزالة، سيفترض نظام DR-DOS وجود BPB إذا كانت هذه القيمة أكبر من أو تساوي 0xF0 ، [ 6 ] بينما بالنسبة للأقراص الثابتة، يجب أن تكون 0xF8 لافتراض وجود BPB. في البداية، كان من المفترض استخدام هذه القيم كعلامات بتية؛ بالنسبة لأي وسائط تخزين قابلة للإزالة لا تدعم تنسيق BPB معترف به، ويكون مُعرِّف الوسائط الخاص بها إما 0xF8 أو من 0xFA إلى 0xFF، فإن نظامي MS-DOS/PC DOS يتعاملان مع البت 1 كعلامة لاختيار تنسيق 9 قطاعات لكل مسار بدلاً من تنسيق 8 قطاعات، ومع البت 0 كعلامة للإشارة إلى وسائط تخزين مزدوجة الجوانب. [ 7 ] القيم من 0x00 إلى 0xEF ومن 0xF1 إلى 0xF7 محجوزة ويجب عدم استخدامها. |
| 0x016 | 0x0B | 2 | القطاعات المنطقية لكل جدول تخصيص ملفات لنظامي FAT12/FAT16. يقوم نظام FAT32 بتعيين هذا إلى 0 ويستخدم قيمة 32 بت عند الإزاحة 0x024 بدلاً من ذلك. |
DOS 3.0 BPB:
تم توثيق الامتدادات التالية منذ نظام التشغيل DOS 3.0، ومع ذلك، فقد كانت مدعومة بالفعل من قبل بعض إصدارات DOS 2.11. [ 28 ] لا يزال نظام التشغيل MS-DOS 3.10 يدعم تنسيق DOS 2.0، ولكنه كان بإمكانه استخدام تنسيق DOS 3.0 أيضًا.
| إزاحة القطاع | إزاحة BPB | الحجم (بايت) | محتويات |
|---|---|---|---|
| 0x00B | 0x00 | 13 | DOS 2.0 BPB |
| 0x018 | 0x0D | 2 | القطاعات المادية لكل مسار للأقراص ذات هندسة INT 13h CHS، [ 4 ] على سبيل المثال، 15 لقرص مرن "1.20 ميجابايت" (1200 كيلوبايت). يشير إدخال الصفر إلى أن هذا الإدخال محجوز، ولكنه غير مستخدم. |
| 0x01A | 0x0F | 2 | عدد الرؤوس للأقراص ذات هندسة INT 13h CHS، [ 4 ] على سبيل المثال، 2 للقرص المرن ذي الوجهين. تسبب خطأ في جميع إصدارات MS-DOS/PC DOS حتى الإصدار 7.10 في تعطل أنظمة التشغيل هذه بالنسبة لهندسة CHS التي تحتوي على 256 رأسًا، لذلك تختار جميع أنظمة BIOS تقريبًا 255 رأسًا كحد أقصى فقط. يشير إدخال الصفر إلى أن هذا الإدخال محجوز، ولكنه غير مستخدم. |
| 0x01C | 0x11 | 2 | عدد القطاعات المخفية التي تسبق القسم الذي يحتوي على وحدة تخزين FAT هذه. يجب أن يكون هذا الحقل دائمًا صفرًا على الوسائط غير المقسمة. هذا الإدخال في نظام DOS 3.0 غير متوافق مع إدخال مماثل عند الإزاحة 0x01C في BPBs منذ نظام DOS 3.31. يجب عدم استخدامه إذا كان إدخال القطاعات المنطقية عند الإزاحة 0x013 يساوي صفرًا. |
DOS 3.2 BPB:
رسميًا، كان نظام التشغيل MS-DOS 3.20 لا يزال يستخدم تنسيق DOS 3.0، ولكن SYSتم FORMATتعديله لدعم تنسيق أطول بمقدار 6 بايت (لم يتم استخدام جميع الإدخالات).
| إزاحة القطاع | إزاحة BPB | الحجم (بايت) | محتويات |
|---|---|---|---|
| 0x00B | 0x00 | 19 | DOS 3.0 BPB |
| 0x01E | 0x13 | 2 | إجمالي القطاعات المنطقية بما في ذلك القطاعات المخفية. هذا الإدخال في نظام التشغيل DOS 3.2 غير متوافق مع إدخال مماثل عند الإزاحة 0x020 في BPBs منذ نظام التشغيل DOS 3.31. يجب عدم استخدامه إذا كان إدخال القطاعات المنطقية عند الإزاحة 0x013 يساوي صفرًا. |
DOS 3.31 BPB:
تم تقديم هذا التنسيق رسميًا مع نظام التشغيل DOS 3.31، ولم يُستخدم في نظام DOS 3.2، إلا أن بعض أدوات DOS 3.2 صُممت لتكون على دراية بهذا التنسيق الجديد. وتوصي الوثائق الرسمية بالوثوق بهذه القيم فقط إذا كان إدخال القطاعات المنطقية عند الإزاحة 0x013 يساوي صفرًا .
| إزاحة القطاع | إزاحة BPB | الحجم (بايت) | محتويات |
|---|---|---|---|
| 0x00B | 0x00 | 13 | DOS 2.0 BPB |
| 0x018 | 0x0D | 2 | عدد القطاعات الفيزيائية لكل مسار للأقراص ذات هندسة INT 13h CHS، [ 4 ] على سبيل المثال، 18 لقرص مرن "1.44 ميجابايت" (1440 كيلوبايت). غير مستخدم لمحركات الأقراص، التي لم تعد تدعم الوصول إلى CHS. مطابق لإدخال متاح منذ DOS 3.0 . يشير إدخال القيمة صفر إلى أن هذا المدخل محجوز ولكنه غير مستخدم. قد تشير القيمة صفر إلى إمكانية الوصول إلى LBA فقط، ولكنها قد تتسبب في حدوث خطأ القسمة على صفر في بعض برامج الإقلاع، ويمكن تجنب ذلك بتخزين قيمة محايدة تساوي 1 هنا، إذا تعذر محاكاة هندسة CHS بشكل معقول. |
| 0x01A | 0x0F | 2 | عدد رؤوس القراءة/الكتابة للأقراص ذات هندسة INT 13h CHS، [ 4 ] على سبيل المثال، 2 للقرص المرن ذي الوجهين. غير مستخدم لمحركات الأقراص التي لم تعد تدعم الوصول إلى CHS. مطابق لإدخال متاح منذ DOS 3.0 . تسبب خطأ في جميع إصدارات MS-DOS/PC DOS حتى الإصدار 7.10 في تعطل أنظمة التشغيل هذه بالنسبة لهندسة CHS التي تحتوي على 256 رأسًا، لذلك تختار جميع أنظمة BIOS تقريبًا 255 رأسًا كحد أقصى فقط. يشير إدخال القيمة صفر إلى أن هذا المدخل محجوز ولكنه غير مستخدم. قد تشير القيمة صفر إلى إمكانية الوصول إلى LBA فقط، ولكنها قد تتسبب في حدوث خطأ القسمة على صفر في بعض برامج الإقلاع، ويمكن تجنب ذلك بتخزين قيمة محايدة تساوي 1 هنا، إذا تعذر محاكاة هندسة CHS بشكل معقول. |
| 0x01C | 0x11 | 4 | عدد القطاعات المخفية التي تسبق القسم الذي يحتوي على وحدة تخزين FAT هذه. يجب أن يكون هذا الحقل دائمًا صفرًا على الوسائط غير المقسمة. [ 24 ] [ 25 ] [ 26 ] هذا الإدخال في نظام DOS 3.31 غير متوافق مع إدخال مماثل عند الإزاحة 0x01C في ملفات DOS 3.0-3.3 BPBs. على الأقل، يمكن الوثوق به إذا كانت قيمته صفرًا، أو إذا كان إدخال القطاعات المنطقية عند الإزاحة 0x013 يساوي صفرًا. إذا كان هذا ينتمي إلى قسم نشط متقدم (AAP) تم تحديده في وقت بدء التشغيل، فسيتم تحديث إدخال BPB ديناميكيًا بواسطة MBR المحسن ليعكس قيمة "القطاعات النسبية" في جدول الأقسام، المخزنة عند الإزاحة 0x1B6 في AAP أو NEWLDR MBR ، بحيث يصبح من الممكن تشغيل نظام التشغيل من EBRs . ( تستخدم بعض برامج تحميل نظام التشغيل GPT (مثل BootDuet ) إزاحات قطاع التمهيد 0x1FA – 0x1FD لتخزين أعلى 4 بايتات من قيمة القطاعات المخفية 64 بت للأقراص الموجودة خارج أول 232 - 1 قطاعًا. ) |
| 0x020 | 0x15 | 4 | إجمالي القطاعات المنطقية (إذا كان أكبر من 65535؛ وإلا، انظر الإزاحة 0x013 ). هذا الإدخال في نظام التشغيل DOS 3.31 غير متوافق مع إدخال مماثل عند الإزاحة 0x01E في ملفات DOS 3.2-3.3 BPBs. رسميًا، يجب استخدامه فقط إذا كان إدخال القطاعات المنطقية عند الإزاحة 0x013 يساوي صفرًا، ولكن بعض أنظمة التشغيل (بعض الإصدارات القديمة من DR DOS) تستخدم هذا الإدخال أيضًا للأقراص الأصغر حجمًا. بالنسبة للوسائط المقسمة، إذا كان هذا والإدخال عند 0x013 كلاهما 0 (كما هو موضح في بعض وحدات تخزين DOS 3.x FAT16)، فإن العديد من أنظمة التشغيل (بما في ذلك MS-DOS/PC DOS) ستسترجع القيمة من إدخال القسم المقابل (عند الإزاحة 0xC ) في MBR بدلاً من ذلك. إذا كانت كلتا هاتين المدخلتين 0 على وحدات التخزين التي تستخدم FAT32 EBPB مع التوقيع 0x29 ، فإن القيم التي تتجاوز الحد 4,294,967,295 (2 32 −1) (مثل بعض وحدات تخزين DR-DOS ذات مدخلات المجموعة 32 بت) يمكن أن تستخدم مدخلة 64 بت عند الإزاحة 0x052 بدلاً من ذلك. |
تقوم صيغة بسيطة بتحويل رقم المجموعة المعطى لوحدة التخزين CNإلى رقم القطاع المنطقي LSN: [ 24 ] [ 25 ] [ 26 ]
- حدد (مرة واحدة) مكان تخزين عدد القطاعات المحجوزة عند الإزاحة 0x00E ، وعدد جداول تخصيص الملفات (FATs) عند الإزاحة 0x010 ، وعدد القطاعات لكل جدول تخصيص ملفات عند الإزاحة 0x016 (FAT12/FAT16) أو 0x024 (FAT32)، وإدخالات الدليل الجذر عند الإزاحة 0x011 ، وحجم القطاع عند الإزاحة 0x00B ، وقم بتقريب الناتج إلى عدد صحيح.
SSA=RSC+FN×SF+ceil((32×RDE)/SS)RSCFNSFRDESSceil(x) - حدد مكان تخزين القطاعات لكل مجموعة عند الإزاحة 0x00D .
LSN=SSA+(CN−2)×SCSC
في الوسائط غير المقسمة، يكون عدد القطاعات المخفية في وحدة التخزين صفرًا، وبالتالي تصبح LSNالعناوين LBAمتطابقة طالما أن حجم القطاع المنطقي لوحدة التخزين مطابق لحجم القطاع الفعلي للوسيط الأساسي. في ظل هذه الظروف، يسهل أيضًا ترجمة العناوين إلى CHSعناوين LSNsأخرى.
LSN=SPT×(HN+(NOS×TN))+SN−1SPTحيث يتم تخزين القطاعات لكل مسار عند الإزاحة 0x018 ، وعدد الأضلاع عند الإزاحة 0x01A . يتوافق رقم المسار ورقم الرأس ورقم القطاع مع Cylinder-head-sector : تعطي الصيغة ترجمة CHS إلى LBA المعروفة.NOSTNHNSN
كتلة معلمات BIOS الموسعة
بنية إضافية تستخدمها أنظمة الملفات FAT12 وFAT16 منذ نظامي التشغيل OS/2 1.0 وDOS 4.0، والمعروفة أيضًا باسم كتلة معلمات BIOS الموسعة (EBPB) (البايتات أسفل إزاحة القطاع 0x024 هي نفسها الموجودة في BPB لنظام DOS 3.31):
| إزاحة القطاع | تعويض EBPB | الحجم (بايت) | محتويات |
|---|---|---|---|
| 0x00B | 0x00 | 25 | DOS 3.31 BPB |
| 0x024 | 0x19 | 1 | رقم محرك الأقراص الفعلي ( 0x00 للوسائط القابلة للإزالة (الأولى)، و 0x80 للقرص الثابت (الأول) وفقًا لـ INT 13h ). القيم المسموح بها لمحركات الأقراص الفعلية المحتملة، اعتمادًا على BIOS، هي من 0x00 إلى 0x7E ومن 0x80 إلى 0xFE . القيمتان 0x7F و 0xFF محجوزتان لأغراض داخلية مثل الإقلاع عن بُعد أو من ROM، ويجب ألا تظهرا على القرص. تستخدم بعض برامج الإقلاع، مثل برنامج إقلاع MS-DOS /PC DOS، هذه القيمة عند تحميل نظام التشغيل، بينما تتجاهلها برامج أخرى تمامًا أو تستخدم رقم محرك الأقراص المُقدم في سجل DL بواسطة برنامج الإقلاع الأساسي (كما هو الحال في العديد من أنظمة BIOS وMBR). يتم تغيير هذا الإدخال أحيانًا بواسطة أمر SYS ، أو يمكن تعديله ديناميكيًا بواسطة برنامج الإقلاع السابق لإجبار رمز قطاع الإقلاع على تحميل نظام التشغيل من أقراص فعلية بديلة عن القرص الافتراضي. كان هناك إدخال مماثل (فقط) في قطاعات التمهيد من DOS 3.2 إلى 3.31 عند إزاحة القطاع 0x1FD . إذا كان هذا القسم تابعًا لوحدة تخزين تمهيد، فيمكن تهيئة سجل التمهيد الرئيسي المُحسَّن (MBR) لنظام DR-DOS 7.07 (انظر NEWLDR offset 0x014 ) لتحديث مدخل EBPB هذا ديناميكيًا إلى قيمة DL المُقدمة عند بدء التشغيل أو القيمة المخزنة في جدول الأقسام. يُمكّن هذا من التمهيد من محركات أقراص بديلة، حتى عندما يتجاهل رمز VBR قيمة DL. |
| 0x025 | 0x1A | 1 | محجوز؛
|
| 0x026 | 0x1B | 1 | توقيع التمهيد الموسع. (يجب أن يكون 0x29 [ 24 ] [ 25 ] [ 26 ] [ 21 ] للإشارة إلى وجود ملف EBPB يحتوي على المدخلات الثلاثة التالية (منذ نظام التشغيل OS/2 1.2 ونظام التشغيل DOS 4.0). قد يكون 0x28 على بعض أقراص نظام التشغيل OS/2 1.0-1.1 ونظام التشغيل PC DOS 3.4، مما يشير إلى شكل سابق من تنسيق EBPB مع الرقم التسلسلي فقط. يتعرف نظام التشغيل MS-DOS/PC DOS 4.0 والإصدارات الأحدث، ونظام التشغيل OS/2 1.2 والإصدارات الأحدث، بالإضافة إلى عائلة أنظمة التشغيل Windows NT، على كلا التوقيعين.) |
| 0x027 | 0x1C | 4 | معرف وحدة التخزين (الرقم التسلسلي) عادةً ما يُنشأ الرقم التسلسلي "xxxx-xxxx" من خلال جمع قيمتي DX المُسترجعة من INT 21h/AH=2Ah (للحصول على تاريخ النظام) [ nb 6 ] وINT 21h/AH=2Ch (للحصول على وقت النظام) [ nb 6 ] للكلمة العليا، وجمع قيمتي CX للكلمة الدنيا من الرقم التسلسلي مرة أخرى. بدلاً من ذلك، توفر بعض أدوات القرص في نظام DR-DOS خيارًا |
| 0x02B | 0x20 | 11 | اسم قسم التخزين، مُضافًا إليه فراغات ( 0x20 )، على سبيل المثال، " ". يجب على البرامج التي تُغيّر اسم قسم التخزين في نظام الملفات تحديث هذا الإدخال أيضًا، ولكن ليس كل البرامج تفعل ذلك. يُعرض اسم قسم التخزين عادةً في أدوات تقسيم الملفات لأنه يُمكن الوصول إليه دون الحاجة إلى تحميل وحدة التخزين. مدعوم منذ نظام التشغيل OS/2 1.2 ونظام MS-DOS 4.0 والإصدارات الأحدث. NO␠NAME␠␠␠␠غير متاح إذا تم تعيين التوقيع عند 0x026 إلى 0x28 . استُخدمت هذه المنطقة من قِبل قطاعات الإقلاع في نظام التشغيل DOS 3.2 إلى 3.3 لتخزين نسخة خاصة من جدول معلمات القرص (DPT)، بدلاً من استخدام مؤشر INT 1Eh لاسترجاع جدول ROM كما في الإصدارات اللاحقة من قطاع الإقلاع. وقد قلّل استخدام هذا الموقع لتسمية قسم التخزين، ذات الطابع التجميلي في الغالب، من المشاكل التي قد تحدث في حال حاولت بعض أدوات النظام القديمة تعديل جدول معلمات القرص السابق. |
| 0x036 | 0x2B | 8 | نوع نظام الملفات، مع إضافة مسافات ( 0x20 )، على سبيل المثال، " ", " ", " " FAT12␠␠␠FAT16␠␠␠FAT␠␠␠␠␠هذا الإدخال مخصص للعرض فقط، ولا يجوز لنظام التشغيل استخدامه لتحديد نوع نظام الملفات. مع ذلك، قد تستخدمه برامج خارجية أحيانًا لأغراض التعريف، لذا يجب ألا تختلف القيم عن القيم الرسمية المستخدمة. مدعوم منذ نظام التشغيل OS/2 1.2 ونظام MS-DOS 4.0 والإصدارات الأحدث. غير متاح إذا تم تعيين التوقيع عند 0x026 إلى 0x28 . |
كتلة معلمات BIOS الموسعة FAT32
باختصار، يُدرج نظام FAT32 ثمانية وعشرين بايتًا في EBPB، متبوعةً بالستة وعشرين بايتًا المتبقية (أو أحيانًا سبعة بايتات فقط) من EBPB كما هو موضح أعلاه لنظامي FAT12 وFAT16. تحدد أنظمة تشغيل مايكروسوفت وآي بي إم نوع نظام ملفات FAT المستخدم على وحدة التخزين بناءً على عدد الكتل فقط، وليس بناءً على تنسيق BPB المستخدم أو نوع نظام الملفات المُشار إليه. أي أنه من الممكن تقنيًا استخدام "FAT32 EBPB" لوحدات تخزين FAT12 وFAT16، وكذلك استخدام DOS 4.0 EBPB لوحدات تخزين FAT32 الصغيرة. ونظرًا لاكتشاف إنشاء أنظمة تشغيل ويندوز لمثل هذه الوحدات في ظروف غير معتادة، [ ملاحظة 7 ] يجب أن تكون أنظمة التشغيل مُهيأة للتعامل مع هذه الأشكال الهجينة.
| إزاحة القطاع | إزاحة EBPB في FAT32 | الحجم (بايت) | محتويات |
|---|---|---|---|
| 0x00B | 0x00 | 25 | DOS 3.31 BPB |
| 0x024 | 0x19 | 4 | القطاعات المنطقية لكل جدول تخصيص الملفات (يتوافق مع الإدخال القديم عند الإزاحة 0x0B في DOS 2.0 BPB ). يجب ألا يصبح البايت الموجود عند الإزاحة 0x026 في هذا الإدخال 0x28 أو 0x29 لتجنب أي سوء تفسير مع تنسيق EBPB في أنظمة التشغيل غير المتوافقة مع FAT32. لحسن الحظ، في الظروف العادية (حجم القطاع 512 بايت)، لا يمكن حدوث ذلك، لأن نظام ملفات FAT32 يحتوي على 268435446 مجموعة بيانات كحد أقصى (0xffffff6). يتسع قطاع FAT واحد لـ 128 واصف مجموعة بيانات (512 / 4 = 128). لذا، لن نحتاج إلا إلى 2097152 قطاعًا كحد أقصى (0x200000)، مما يجعل البايت الثالث من عدد قطاعات FAT هو 0x20 كحد أقصى، وهو أقل من القيمتين المحظورتين 0x28 و0x29. |
| 0x028 | 0x1D | 2 | وصف محرك الأقراص / علامات النسخ المتطابق (البتات من 3 إلى 0: عدد جداول تخصيص الملفات النشطة (FAT) بدءًا من الصفر، إذا تم تعيين البت 7. [ 4 ] إذا كان البت 7 غير مُفعّل، فسيتم نسخ جميع جداول تخصيص الملفات (FAT) كالمعتاد. البتات الأخرى محجوزة ويجب أن تكون قيمتها 0.) تستخدم قطاعات الإقلاع FAT32 في نظام DR-DOS 7.07، التي تدعم منطق الوصول المزدوج (LBA) ونظام CHS، البتات من 15 إلى 8 لتخزين علامة الوصول وجزء من رسالة. تحتوي هذه البتات إما على النمط 0110:1111b (حرف صغير 'o'، البت 13 مُفعّل للوصول عبر CHS) أو 0100:1111b (حرف كبير 'O'، البت 13 غير مُفعّل للوصول عبر LBA). يُستخدم هذا البايت أيضًا للحرف الثاني في رسالة الخطأ المحتملة "No␠IBMBIO␠␠COM" (انظر الإزاحة 0x034 )، والتي تُعرض إما بأحرف مختلطة أو كبيرة، مما يُشير إلى نوع الوصول الذي فشل. قد تقوم أدوات التهيئة أو أدوات SYS غير التابعة لنظام DR-DOS بمسح هذه البتات، ولكن يجب أن تُبقي أدوات القرص الأخرى البتات من 15 إلى 8 دون تغيير. |
| 0x02A | 0x1F | 2 | الإصدار (المُعرَّف بأنه 0.0). يُخزَّن البايت الأعلى من رقم الإصدار عند الإزاحة 0x02B ، والبايت الأدنى عند الإزاحة 0x02A . [ 4 ] ينبغي لتطبيقات FAT32 رفض تحميل وحدات التخزين ذات أرقام الإصدارات غير المعروفة لديها. |
| 0x02C | 0x21 | 4 | رقم مجموعة بداية الدليل الجذر، وعادةً ما يكون 2 (المجموعة الأولى [ 33 ] ) إذا لم يكن يحتوي على قطاعات تالفة. (يفرض تطبيق FAT32 من مايكروسوفت حدًا مصطنعًا يبلغ 65,535 مدخلًا لكل دليل، بينما لا تفرض العديد من تطبيقات الجهات الخارجية هذا الحد). قيمة المجموعة 0 غير مسموح بها رسميًا، ولا يمكن أن تشير أبدًا إلى مجموعة بدء صالحة لدليل الجذر. قد تتعامل بعض تطبيقات FAT32 غير القياسية معها كمؤشر للبحث عن دليل جذر ذي حجم ثابت، بينما يُتوقع وجودها في وحدات تخزين FAT16؛ انظر الإزاحة 0x011 . |
| 0x030 | 0x25 | 2 | رقم القطاع المنطقي لقطاع معلومات نظام الملفات ، وعادة ما يكون 1، أي القطاع الثاني من قطاعات التمهيد الثلاثة لنظام FAT32. تدعم بعض تطبيقات FAT32 تعديلًا طفيفًا لمواصفات مايكروسوفت بجعل قطاع معلومات نظام الملفات اختياريًا، وذلك بتحديد القيمة 0xFFFF [ 19 ] (أو 0x0000 ) في هذا المدخل. ولأن القطاع المنطقي 0 لا يمكن أن يكون قطاع معلومات صالحًا لنظام الملفات، ولأن قطاعات معلومات نظام الملفات تستخدم نفس التوقيع الموجود في العديد من قطاعات الإقلاع ، فلا ينبغي لتطبيقات نظام الملفات محاولة استخدام القطاع المنطقي 0 كقطاع معلومات لنظام الملفات، بل يجب افتراض أن هذه الميزة غير مدعومة على وحدة التخزين هذه. وبدون قطاع معلومات لنظام الملفات، يمكن تقليل الحد الأدنى المسموح به لحجم القطاع المنطقي في وحدات تخزين FAT32 إلى 128 بايت لأغراض خاصة. |
| 0x032 | 0x27 | 2 | رقم القطاع المنطقي الأول لنسخة من قطاعات التمهيد الثلاثة FAT32، وعادة ما يكون 6. [ 4 ] بما أن وحدات التخزين المهيأة بنظام DR-DOS 7.0x FAT32 تستخدم قطاع تمهيد أحادي القطاع، فإن بعض وحدات التخزين المهيأة بنظام DR-DOS تستخدم القيمة 2 هنا. القيم 0x0000 [ 4 ] (و/أو 0xFFFF [ 19 ] ) محجوزة وتشير إلى عدم توفر قطاع احتياطي. |
| 0x034 | 0x29 | 12 | محجوز (قد يتم تغييره إلى بايت حشو التنسيق 0xF6 [ nb 8 ] كأثر من MS-DOS ، ويجب تهيئته إلى 0 بواسطة أدوات التنسيق، ولكن يجب عدم تغييره بواسطة تطبيقات نظام الملفات أو أدوات القرص لاحقًا.) FDISKتستخدم قطاعات الإقلاع في نظام DR-DOS 7.07 FAT32 هذه البايتات الاثنتي عشرة لتخزين اسم ملف " |
| 0x040 | 0x35 | 1 | انظر 0x024 لنظامي FAT12/FAT16 (رقم محرك الأقراص الفعلي) توجد ملفات exFAT BPB عند إزاحة القطاع من 0x040 إلى 0x077 ، وتتداخل مع جميع الإدخالات المتبقية في ملف FAT32 EBPB القياسي، بما في ذلك هذا الملف. ويمكن اكتشافها من خلال توقيع علامة الشركة المصنعة الأصلية " " عند إزاحة القطاع 0x003 . في هذه الحالة، تُضبط البايتات من 0x00B إلى 0x03F عادةً على 0x00 . |
| 0x041 | 0x36 | 1 | انظر 0x025 لنظامي FAT12/FAT16 (يستخدم لأغراض متنوعة؛ انظر FAT12/FAT16) قد تحتوي على بايتات حشو التنسيق 0xF6 [ nb 8 ] بعد التقسيم باستخدام MS-DOS FDISK، ولكن لم تتم تهيئتها بعد. |
| 0x042 | 0x37 | 1 | انظر 0x026 لنظامي FAT12/FAT16 (توقيع التمهيد الموسع، 0x29 ) معظم تطبيقات نظام الملفات FAT32 لا تدعم التوقيع البديل 0x28 [ 15 ] للإشارة إلى شكل مختصر من FAT32 EBPB مع الرقم التسلسلي فقط (بدون إدخالات تسمية وحدة التخزين ونوع نظام الملفات)، ولكن نظرًا لأن هذه البايتات الـ 19 غير المستخدمة في الغالب قد تخدم أغراضًا مختلفة في بعض السيناريوهات، يجب أن تقبل التطبيقات 0x28 كتوقيع بديل ثم تعود إلى استخدام تسمية وحدة التخزين في نظام الملفات بدلاً من EBPB للتوافق مع الامتدادات المحتملة. |
| 0x043 | 0x38 | 4 | انظر 0x027 لنظام الملفات FAT12/FAT16 (معرف وحدة التخزين) |
| 0x047 | 0x3C | 11 | انظر 0x02B لنظامي الملفات FAT12/FAT16 (ملصق وحدة التخزين) غير متاح إذا تم تعيين التوقيع عند الإزاحة 0x042 إلى 0x28 . |
| 0x052 | 0x47 | 8 | انظر 0x036 لـ FAT12/FAT16 (نوع نظام الملفات، مملوء بالفراغات ( 0x20 )، على سبيل المثال، " "). FAT32␠␠␠غير متاح إذا تم تعيين التوقيع عند 0x042 إلى 0x28 . إذا كانت قيمتا إجمالي القطاعات المنطقية عند الإزاحة 0x020 و 0x013 تساويان صفرًا على وحدات التخزين التي تستخدم نظام ملفات FAT32 EBPB بتوقيع 0x29 ، فإن وحدات التخزين التي تحتوي على أكثر من 4,294,967,295 (2 ^32 - 1) قطاعًا (مثل بعض وحدات تخزين DR-DOS ذات إدخالات عنقودية 32 بت) يمكنها استخدام هذا الإدخال كقيمة إجمالية للقطاعات المنطقية 64 بت . في هذه الحالة، يمكن استرداد تسمية الشركة المصنعة الأصلية عند إزاحة القطاع 0x003 كنوع نظام ملفات جديد . |
الاستثناءات
اعتمدت إصدارات نظام التشغيل DOS السابقة للإصدار 3.2، كليًا أو جزئيًا، على بايت وصف الوسائط في BPB أو بايت مُعرّف FAT في المجموعة 0 من أول FAT لتحديد تنسيقات أقراص FAT12 المرنة، حتى في حال وجود BPB. وبناءً على مُعرّف FAT المُكتشف ونوع محرك الأقراص، يتم افتراضيًا استخدام أحد نماذج BPB التالية بدلًا من استخدام القيم المُخزّنة فعليًا في BPB. [ ملاحظة 1 ]
في الأصل، كان من المفترض أن يكون مُعرّف FAT عبارة عن علامة بتية، حيث تكون جميع البتات مُفعّلة باستثناء البت 2 الذي يُمسح للإشارة إلى تنسيق 80 مسارًا (مقابل 40 مسارًا)، والبت 1 الذي يُمسح للإشارة إلى تنسيق 9 قطاعات (مقابل 8 قطاعات)، والبت 0 الذي يُمسح للإشارة إلى تنسيق أحادي الجانب (مقابل تنسيق ثنائي الجانب)، [ 7 ] ولكن لم يتبع جميع مُصنّعي المعدات الأصلية هذا النظام، وأصبح قديمًا مع ظهور الأقراص الصلبة وتنسيقات التخزين عالية الكثافة. كما أن تنسيقات الأقراص المختلفة بحجم 8 بوصات التي يدعمها نظاما 86-DOS وMS-DOS لا تتوافق مع هذا النظام.
| معرف FAT (قارن مع معرف الوسائط عند إزاحة BPB 0x0A ) [ 22 ] [ 23 ] | 0xFF | 0xFE | 0xFD | 0xFC | 0xFB | 0xFA | 0xF9 | 0xF8 | 0xF0 | 0xED | 0xE5 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| مقاس | 8" | 5.25" | 8" | 8" | 5.25" | 8" | 8" | 5.25" | 5.25" | 5.25 بوصة / 3.5 بوصة | 5.25 بوصة / 3.5 بوصة | 5.25" | 3.5 بوصة | 3.5 بوصة | 5.25" | 5.25 بوصة / 3.5 بوصة | 3.5 بوصة | 3.5 بوصة | 3.5 بوصة | 5.25" | 8" |
| كثافة | ؟ | DD 48tpi | SD | DD | DD 48tpi | SD | SD | DD 48tpi | DD 48tpi | ؟ | ؟ | HD 96tpi | DD 135tpi | HD 135tpi | QD 96tpi | ؟ | DD | HD 135tpi | ED | QD 96tpi | SD |
| تعديل | ؟ | MFM | إف إم | MFM | MFM | إف إم | إف إم | MFM | MFM | MFM | MFM | MFM | MFM | MFM | MFM | MFM | MFM | MFM | MFM | MFM | إف إم |
| السعة المهيأة (كيلوبايت) | ؟ | 320 | 250 ("قديم") [ 28 ] [ 32 ] | 1200 | 160 | 250 ("جديد") [ 28 ] [ 32 ] | 500 | 360 | 180 | 640 | 320 | 1200 | 720 | 1440 | 720 | 360 | 360 | 1440 | 2880 | 720 | 243 / 250 |
| الأسطوانات (CHS) | 77 | 40 | 77 | 77 | 40 | 77 | 77 | 40 | 40 | 80 | 80 | 80 | 80 | 80 | 80 | 80 | 80 | 80 | 80 | 80 | 77 |
| القطاعات الفيزيائية / المسار (إزاحة BPB 0x0D ) | ؟ | 8 | 26 | 8 | 8 | 26 | 26 | 9 | 9 | 8 | 8 | 15 | 9 | 18 | 9 (8 [ 31 ] ) | 9 | 9 | 18 | 36 | 9 (8 [ 31 ] ) | 26 |
| عدد الرؤوس (إزاحة BPB 0x0F ) | ؟ | 2 | 1 [ 28 ] [ 32 ] | 2 [ 7 ] [ 22 ] [ 32 ] (1 ) | 1 | 1 [ 7 ] [ 28 ] [ 32 ] | 2 [ 22 ] | 2 | 1 | 2 | 1 | 2 | 2 | 2 | 2 | 1 | 1 | 2 | 2 | 2 | 1 |
| حمولة البايت / القطاع المادي | ؟ | 512 | 128 | 1024 | 512 | 128 | 128 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 128 |
| بايتات / قطاع منطقي (إزاحة BPB 0x00 ) | ؟ | 512 | 128 | 1024 | 512 | 128 | 128 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 128 |
| القطاعات المنطقية / المجموعة (إزاحة BPB 0x02 ) | ؟ | 2 | 4 | 1 | 1 | 4 | 4 | 2 | 1 | 2 | 1 [ 22 ] (2؟ [ 7 ] ) | 1 | 2 | 1 | ؟ | 2 | ؟ | 1 | 2 | ؟ | 4 |
| القطاعات المنطقية المحجوزة (إزاحة BPB 0x03 ) | ؟ | 1 | 1 [ 28 ] [ 32 ] | 1 | 1 | 4 [ 28 ] [ 32 ] | 4 | 1 | 1 | 1 | 1 | 1 | 1 (2 ) | 1 | 1 | 1 | 1 | 1 | 1 | ؟ | 1 |
| عدد وحدات FAT (إزاحة BPB 0x05 ) | ؟ | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| إدخالات الدليل الجذر (إزاحة BPB 0x06 ) | ؟ | 112 (7 قطاعات) | 68 (17 قطاعاً) | 192 (6 قطاعات) | 64 (4 قطاعات) | 68 (17 قطاعاً) | 68 (17 قطاعاً) | 112 (7 قطاعات) | 64 (4 قطاعات) | 112 (7 قطاعات) | 112 (7 قطاعات) | 224 (14 قطاعاً) | 112 (7 قطاعات) | 224 (14 قطاعاً) | ؟ | 112 (7 قطاعات) | ؟ | 224 (14 قطاعاً) | 240 (15 قطاعاً) | ؟ | 64 (16 قطاعاً) |
| إجمالي القطاعات المنطقية (إزاحة BPB 0x08 ) | ؟ | 640 | 2002 [ 28 ] [ 32 ] | 1232 [ 22 ] [ 32 ] (616 [ 7 ] ) | 320 | 2002 [ 7 ] [ 28 ] [ 32 ] | 4004 [ 22 ] | 720 | 360 | 1280 | 640 | 2400 | 1440 | 2880 | ؟ | 720 | ؟ | 2880 | 5760 | ؟ | 2002 |
| القطاعات المنطقية / جدول تخصيص الملفات (إزاحة BPB 0x0B ) | ؟ | 1 | 6 [ 28 ] [ 32 ] | 2 | 1 | 6 [ 28 ] [ 32 ] | 6؟ [ 22 ] | 2 | 2 | 2 | 2 [ 22 ] (1؟ [ 7 ] ) | 7 | 3 | 9 (7) | ؟ | 2 | ؟ | 9 | 9 | ؟ | 1 |
| القطاعات المخفية (إزاحة BPB 0x11 ) | ؟ | 0 | 3 [ 22 ] (0 [ 7 ] ) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ؟ | 0 |
| إجمالي عدد المجموعات | ؟ | 315 | 497 | 1227 | 313 | ؟ | 997؟ [ 22 ] | 354 | 351 | ؟ | ؟ | 2371 | 713 | 2847؟ | ؟ | ؟ | ؟ | 2847 | 2863 | ؟ | ؟ |
| طلب قطاع الخدمات اللوجستية | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ |
| رسم خرائط القطاعات | ؟ | القطاع + الرأس + المسار + | القطاع + الرأس + المسار + | القطاع + الرأس + المسار + | القطاع + الرأس + المسار + | القطاع + المسار + | القطاع + الرأس + المسار + | القطاع + الرأس + المسار + | القطاع + الرأس + المسار + | القطاع + الرأس + المسار + | القطاع + المسار + | القطاع + الرأس + المسار + | القطاع + الرأس + المسار + | القطاع + الرأس + المسار + | ؟ | القطاع + المسار + | القطاع + المسار + | القطاع + الرأس + المسار + | القطاع + الرأس + المسار + | ؟ | القطاع + المسار + |
| القطاع المادي الأول (CHS) | ؟ | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ؟ | ؟ | 1 | 1 | 1 | ؟ | 1 | ؟ | 1 | 1 | ؟ | 1 |
DRIVER.SYS /F:n | ؟ | 0 | 3 | 4 | 0 | ؟ | 3 | 0 | 0 | ؟ | ؟ | 1 | 2 | 7 | ؟ | ؟ | ؟ | 7 | 9 | ؟ | 3 |
| حضور BPB | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | نعم | نعم | نعم | ؟ | ؟ | ؟ | نعم | نعم | ؟ | ؟ |
| يدعم | ؟ | DOS 1.1 [ 32 ] | DOS 2.0 | DOS 1.0 [ 32 ] | ؟ [ 28 ] [ 32 ] | DOS 2.0 | DOS 2.0 | DOS 2.0 | ؟ | ؟ | DOS 3.0 | DOS 3.2 | نظام التشغيل DOS 3.2 فقط؛ (DR-DOS) | سانيو 55x DS-DOS 2.11 فقط | MS-DOS 3.1 [ 7 ] | MSX-DOS | نظام التشغيل DOS 3.3 | DOS 5.0 | تاندي 2000 فقط | DR-DOS فقط | |
توصي مايكروسوفت بالتمييز بين تنسيقي 8 بوصة لمعرف FAT 0xFE عن طريق محاولة قراءة علامة عنوان أحادية الكثافة. إذا نتج عن ذلك خطأ، فيجب أن يكون الوسيط مزدوج الكثافة. [ 23 ]
لا يسرد الجدول عددًا من تنسيقات الأقراص المرنة FAT12 غير المتوافقة مقاس 8 بوصات و 5.25 بوصة التي يدعمها 86-DOS ، والتي تختلف إما في حجم إدخالات الدليل (16 بايت مقابل 32 بايت) أو في مدى منطقة القطاعات المحجوزة (عدة مسارات كاملة مقابل قطاع منطقي واحد فقط).
كان لتطبيق تنسيق FAT12 أحادي الجانب بحجم 315 كيلوبايت، المستخدم في نظام MS-DOS لأجهزة Apricot PC و F1e [ 34 ] ، تخطيط قطاع إقلاع مختلف، وذلك لملاءمة نظام BIOS غير المتوافق مع IBM في تلك الأجهزة. تم حذف تعليمة القفز واسم الشركة المصنعة الأصلية، ووُضعت معلمات BPB الخاصة بنظام MS-DOS (الإزاحات من 0x00B إلى 0x017 في قطاع الإقلاع القياسي) عند الإزاحة 0x050 . في المقابل، دعمت أجهزة Portable و F1 و PC duo و Xi FD تنسيق FAT12 ثنائي الجانب غير قياسي بحجم 720 كيلوبايت. [ 34 ] أدت الاختلافات في تخطيط قطاع الإقلاع ومعرّفات الوسائط إلى عدم توافق هذه التنسيقات مع العديد من أنظمة التشغيل الأخرى. معلمات هندسة هذه التنسيقات هي:
- 315 كيلوبايت: بايت لكل قطاع منطقي: 512 بايت، قطاعات منطقية لكل مجموعة: 1، قطاعات منطقية محجوزة: 1، عدد جداول تخصيص الملفات (FATs): 2، إدخالات الدليل الجذر: 128، إجمالي القطاعات المنطقية: 630، معرف جدول تخصيص الملفات (FAT): 0xFC ، قطاعات منطقية لكل جدول تخصيص ملفات (FAT): 2، قطاعات فيزيائية لكل مسار: 9، عدد الرؤوس: 1. [ 34 ] [ 35 ]
- 720 كيلوبايت: بايت لكل قطاع منطقي: 512 بايت، قطاعات منطقية لكل مجموعة: 2، قطاعات منطقية محجوزة: 1، عدد جداول تخصيص الملفات (FATs): 2، إدخالات الدليل الجذر: 176، إجمالي القطاعات المنطقية: 1440، معرف جدول تخصيص الملفات (FAT): 0xFE ، قطاعات منطقية لكل جدول تخصيص ملفات (FAT): 3، قطاعات فعلية لكل مسار: 9، عدد الرؤوس: 2. [ 34 ]
أضافت الإصدارات اللاحقة من نظام التشغيل Apricot MS-DOS إمكانية قراءة وكتابة الأقراص ذات قطاع الإقلاع القياسي، بالإضافة إلى الأقراص ذات قطاع الإقلاع الخاص بنظام Apricot. كما دعمت DOS Plus 2.1e/g هذه التنسيقات لسلسلة Apricot ACT.
دعمت نسخة DOS Plus المُعدّلة لجهاز BBC Master 512 نظامي FAT12 على محركات أقراص 5.25 بوصة ذات 80 مسارًا، مزدوجة الجوانب، ومزدوجة الكثافة، والتي لم تستخدم قطاعات الإقلاع التقليدية على الإطلاق. أغفلت أقراص البيانات سعة 800 كيلوبايت قطاع الإقلاع وبدأت بنسخة واحدة من جدول تخصيص الملفات (FAT). [ 35 ] استُخدم البايت الأول من جدول تخصيص الملفات المُعاد توجيهه في القطاع المنطقي 0 لتحديد سعة القرص. بدأت أقراص الإقلاع سعة 640 كيلوبايت بنظام ملفات ADFS مصغر يحتوي على مُحمّل الإقلاع، متبوعًا بجدول تخصيص ملفات واحد. [ 35 ] [ 36 ] كما اختلف نظام 640 كيلوبايت باستخدام أرقام قطاعات CHS الفعلية التي تبدأ من 0 (وليس 1 كما هو شائع) وزيادة القطاعات بالترتيب: قطاع-مسار-رأس (وليس قطاع-رأس-مسار كما هو شائع). [ 36 ] بدأ جدول تخصيص الملفات في بداية المسار التالي. هذه الاختلافات تجعل هذه الأنظمة غير قابلة للتمييز بواسطة أنظمة التشغيل الأخرى. الأنظمة. معلمات الهندسة لهذه التنسيقات هي:
- 800 كيلوبايت: بايت لكل قطاع منطقي: 1024 بايت، قطاعات منطقية لكل مجموعة: 1، قطاعات منطقية محجوزة: 0، عدد جداول تخصيص الملفات (FATs): 1، إدخالات الدليل الجذر: 192 ، إجمالي القطاعات المنطقية: 800، معرف جدول تخصيص الملفات (FAT): 0xFD ، قطاعات منطقية لكل جدول تخصيص ملفات (FAT): 2، قطاعات فعلية لكل مسار: 5، عدد الرؤوس: 2. [ 35 ] [ 36 ]
- 640 كيلوبايت: بايت لكل قطاع منطقي: 256 بايت، قطاعات منطقية لكل مجموعة: 8، قطاعات منطقية محجوزة: 16 ، عدد جداول تخصيص الملفات (FATs): 1، إدخالات الدليل الجذر: 112، إجمالي القطاعات المنطقية: 2560، معرف جدول تخصيص الملفات (FAT): 0xFF ، قطاعات منطقية لكل جدول تخصيص ملفات (FAT): 2، قطاعات فعلية لكل مسار: 16، عدد الرؤوس: 2. [ 35 ] [ 36 ]
كان بإمكان نظام التشغيل DOS Plus لجهاز Master 512 أيضًا الوصول إلى أقراص الكمبيوتر الشخصي القياسية المهيأة إلى 180 كيلوبايت أو 360 كيلوبايت ، باستخدام البايت الأول من جدول تخصيص الملفات (FAT) في القطاع المنطقي 1 لتحديد السعة.
كان قرص DEC Rainbow 100 (بجميع إصداراته) يدعم تنسيق FAT12 واحدًا على محركات أقراص 5.25 بوصة أحادية الجانب ذات 80 مسارًا وكثافة رباعية. كان المساران الأولان مخصصين لبرنامج الإقلاع، لكنهما لم يحتويا على سجل التمهيد الرئيسي (MBR) ولا على جدول التمهيد الرئيسي (BPB) (استخدم نظام MS-DOS جدول تمهيد رئيسي ثابتًا في الذاكرة بدلاً من ذلك). كان قطاع الإقلاع (المسار 0، الجانب 0، القطاع 1) عبارة عن كود Z80 يبدأ بـ DI 0xF3 . تم تحميل برنامج الإقلاع 8088 بواسطة Z80. يبدأ المسار 1، الجانب 0، القطاع 2 ببايت معرف الوسائط/FAT 0xFA . تستخدم الأقراص غير المهيأة 0xE5 بدلاً من ذلك. يبدأ نظام الملفات على المسار 2، الجانب 0، القطاع 1. توجد نسختان من جدول تخصيص الملفات (FAT) و96 مدخلاً في الدليل الجذر. بالإضافة إلى ذلك، يوجد تعيين للمسارات من الفيزيائي إلى المنطقي لتحقيق تداخل القطاعات بنسبة 2:1. تم تهيئة الأقراص بـ تم تخزين القطاعات الفيزيائية بالترتيب من 1 إلى 10 على كل مسار بعد المسارات المحجوزة، ولكن تم تخزين القطاعات المنطقية من 1 إلى 10 في القطاعات الفيزيائية 1، 6، 2، 7، 3، 8، 4، 9، 5، 10. [ 37 ]
قطاع المعلومات المالية
تم إدخال "قطاع معلومات نظام الملفات" في نظام FAT32 [ 38 ] لتسريع أوقات الوصول لبعض العمليات (وخاصةً الحصول على مقدار المساحة الحرة). ويقع هذا القطاع في رقم قطاع منطقي محدد في سجل تمهيد EBPB الخاص بنظام FAT32 عند الموضع 0x030 (عادةً ما يكون القطاع المنطقي 1، مباشرةً بعد سجل التمهيد نفسه).
| إزاحة البايت | الحجم (بايت) | محتويات |
|---|---|---|
| 0x000 | 4 | توقيع قطاع معلومات نظام الملفات ( 0x52 0x52 0x61 0x41 = " ") RRaAطالما أن قطاع معلومات نظام الملفات موجود في القطاع المنطقي 1، وهو الموقع الذي يبدأ فيه نظام الملفات FAT عادةً في أنظمة الملفات FAT12 وFAT16 (مع قطاع محجوز واحد فقط)، فإن وجود هذه التوقيعة يضمن أن الإصدارات المبكرة من DOS لن تحاول أبدًا تحميل وحدة تخزين FAT32، لأنها تتوقع أن تتبع القيم في المجموعة 0 والمجموعة 1 أنماط بت معينة، والتي لا تفي بها هذه التوقيعة. |
| 0x004 | 480 | محجوز (يجب ضبط قيم البايت على 0x00 أثناء التهيئة، ولكن لا يُعتمد عليها ولا تُغير لاحقاً) |
| 0x1E4 | 4 | توقيع قطاع معلومات نظام الملفات ( 0x72 0x72 0x41 0x61 = " ")rrAa |
| 0x1E8 | 4 | آخر عدد معروف لمجموعات البيانات الحرة على وحدة التخزين، أو 0xFFFFFFFF إذا كان غير معروف. يجب ضبطه على 0xFFFFFFFF أثناء عملية التهيئة، وتحديثه بواسطة نظام التشغيل لاحقًا. لا يُعتمد عليه بشكل مطلق في جميع الحالات. قبل استخدام هذه القيمة، يجب على نظام التشغيل التحقق من صحتها والتأكد من أنها أقل من أو تساوي عدد مجموعات البيانات على وحدة التخزين. |
| 0x1EC | 4 | رقم أحدث مجموعة بيانات تم تخصيصها. يجب ضبطه على 0xFFFFFFFF أثناء عملية التهيئة، ثم يقوم نظام التشغيل بتحديثه لاحقًا. عند استخدام القيمة 0xFFFFFFFF ، يبدأ النظام من المجموعة 0x00000002 . لا يُعتمد على هذه القيمة بشكل مطلق في جميع الحالات. قبل استخدامها، يجب على نظام التشغيل التحقق من صحتها كرقم مجموعة على وحدة التخزين. |
| 0x1F0 | 12 | محجوز (يجب ضبط قيم البايت على 0x00 أثناء التهيئة، ولكن لا يُعتمد عليها ولا تُغير لاحقاً) |
| 0x1FC | 4 | توقيع قطاع معلومات نظام الملفات ( 0x00 0x00 0x55 0xAA ) [ 4 ] [ nb 2 ] (يجب أن تتطابق جميع البايتات الأربعة قبل افتراض أن محتويات هذا القطاع بتنسيق صالح.) |
قد تكون بيانات هذا القطاع قديمة ولا تعكس محتويات الوسائط الحالية، لأن بعض أنظمة التشغيل لا تُحدّث هذا القطاع أو تستخدمه، وحتى في حال استخدامها، فإن محتوياته تصبح غير صالحة عند إخراج الوسيط دون فصل وحدة التخزين بشكل صحيح أو بعد انقطاع التيار الكهربائي. لذا، ينبغي لأنظمة التشغيل أولًا فحص علامات بت حالة إيقاف التشغيل الاختيارية لوحدة التخزين الموجودة في مدخل FAT للمجموعة 1 أو FAT32 EBPB عند الإزاحة 0x041 ، وتجاهل البيانات المخزنة في قطاع معلومات نظام الملفات، إذا أشارت هذه العلامات إلى عدم فصل وحدة التخزين بشكل صحيح مسبقًا. لا يُسبب هذا أي مشاكل أخرى سوى احتمال انخفاض سرعة الاستعلام الأول عن المساحة الحرة أو تخصيص مجموعة البيانات؛ انظر التجزئة .
إذا كان هذا القطاع موجودًا على وحدة تخزين بنظام FAT32، فإن الحد الأدنى المسموح به لحجم القطاع المنطقي هو 512 بايت، بينما يكون 128 بايت في حال عدم وجوده. تدعم بعض تطبيقات FAT32 تعديلًا طفيفًا لمواصفات مايكروسوفت بجعل قطاع معلومات نظام الملفات اختياريًا عن طريق تحديد القيمة 0xFFFF [ 19 ] (أو 0x0000 ) في المدخل عند الإزاحة 0x030 .
منطقة FAT
جدول تخصيص الملفات
خريطة التجمعات
تُقسّم مساحة بيانات وحدة التخزين إلى مجموعات متساوية الحجم - وهي عبارة عن كتل صغيرة متجاورة من المساحة. تختلف أحجام المجموعات تبعًا لنوع نظام ملفات FAT المستخدم وحجم القرص؛ وتتراوح أحجام المجموعات النموذجية من 2 إلى 32 كيلوبايت . [ 39 ]
قد يشغل كل ملف مجموعة واحدة أو أكثر من مجموعات البيانات، وذلك بحسب حجمه. لذا، يُمثَّل الملف في جدول تخصيص الملفات (FAT) بقائمة مرتبطة أحادية . يتكون جدول تخصيص الملفات من مدخلات بطول 12 أو 16 أو 32 بت، وذلك بحسب نوع جدول التخصيص (FAT12 أو FAT16 أو FAT32). تتوافق المدخلات المتتالية مع مجموعات البيانات المتتالية، وقيمة المدخل هي رابط يُشير إلى مجموعة البيانات التالية في الملف. بالنظر إلى المدخل المُقابل لتلك المجموعة، يُمكن معرفة موقع المجموعة التالية، وهكذا، حتى الوصول إلى مدخل يُشير إلى أنها تُطابق آخر مجموعة بيانات في سلسلة مجموعات البيانات التي تحتوي على ذلك الملف. لا تكون مجموعات البيانات بالضرورة متجاورة على سطح القرص، بل غالبًا ما تكون مُجزأة في جميع أنحاء منطقة البيانات.
يستخدم كل إصدار من نظام ملفات FAT حجمًا مختلفًا لإدخالات FAT. تؤدي الأرقام الأصغر إلى حجم FAT أصغر، ولكنها تهدر مساحة في الأقسام الكبيرة بسبب الحاجة إلى تخصيصها في مجموعات كبيرة.
يستخدم نظام الملفات FAT12 اثني عشر بتًا لكل مدخل FAT، وبالتالي يمتد مدخلان على ثلاثة بايتات. وهو نظام ذو ترتيب بايتات صغير ثابت : إذا اعتبرنا هذه البايتات الثلاثة رقمًا واحدًا من 24 بتًا بترتيب بايتات صغير، فإن أقل 12 بتًا أهميةً تمثل المدخل الأول (مثل المجموعة 0)، وأكثر 12 بتًا أهميةً تمثل المدخل الثاني (مثل المجموعة 1). بعبارة أخرى، بينما تُخزَّن البتات الثمانية الأقل أهميةً من المجموعة الأولى في البايت الأول، تُخزَّن البتات الأربعة الأعلى أهميةً في النصف الأدنى من البايت الثاني، في حين تُخزَّن البتات الأربعة الأقل أهميةً من المجموعة التالية في النصف الأعلى من البايت الثاني، وتُخزَّن البتات الثمانية الأعلى أهميةً من المجموعة التالية في البايت الثالث.
| إزاحة | +0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +أ | +ب | +C | +D | +E | +F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| +0000 | F0 | F F | FF | 03 | 40 | ٠٠ | 05 | 60 | ٠٠ | 07 | 80 | ٠٠ | FF | أ ف | ٠٠ | 14 |
| +0010 | ج ٠ | ٠٠ | 0D | E0 | ٠٠ | 0 فهرنهايت | ٠٠ | 01 | 11 | F 0 | FF | ٠٠ | F 0 | FF | 15 | 60 |
| +0020 | 01 | 19 | 7 0 | FF | F7 | أ ف | 01 | FF | 0 فهرنهايت | ٠٠ | ٠٠ | 7 0 | FF | ٠٠ | ٠٠ | ٠٠ |
- معرف FAT / علامة ترتيب البايتات (في المجموعة المحجوزة رقم 0 )، حيث يشير 0xF0 إلى وحدة تخزين على محرك أقراص مرنة فائقة غير مقسم (يجب أن يكون 0xF8 للأقراص المقسمة).
- مؤشر نهاية السلسلة / علامات الصيانة (في المجموعة المحجوزة رقم 1 )
- السلسلة الثانية (7 مجموعات) لملف غير مجزأ (هنا: #2، #3، #4، #5، #6، #7، #8)
- السلسلة الثالثة (7 مجموعات) لملف مجزأ، وربما متضخم (هنا: #9، #A، #14، #15، #16، #19، #1A)
- السلسلة الرابعة (7 مجموعات) لملف غير مجزأ، وربما يكون مقطوعاً (هنا: #B، #C، #D، #E، #F، #10، #11)
- مجموعات فارغة (هنا: #12، #1B، #1C، #1E، #1F)
- السلسلة الخامسة (مجموعة واحدة) لدليل فرعي (هنا: #13)
- مجموعات سيئة (3 مجموعات) (هنا: #17، #18، #1D)
يستخدم نظام الملفات FAT16 ستة عشر بتًا لكل مدخل FAT، وبالتالي يمتد المدخل الواحد على بايتين بترتيب البايتات الصغير (little-endian):
| إزاحة | +0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +أ | +ب | +C | +D | +E | +F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| +0000 | F0 | FF | FF | FF | 03 | ٠٠ | 04 | ٠٠ | 05 | ٠٠ | 06 | ٠٠ | 07 | ٠٠ | 08 | ٠٠ |
| +0010 | FF | FF | 0A | ٠٠ | 14 | ٠٠ | 0 درجة مئوية | ٠٠ | 0D | ٠٠ | 0E | ٠٠ | 0 فهرنهايت | ٠٠ | 10 | ٠٠ |
| +0020 | 11 | ٠٠ | FF | FF | ٠٠ | ٠٠ | FF | FF | 15 | ٠٠ | 16 | ٠٠ | 19 | ٠٠ | F7 | FF |
| +0030 | F7 | FF | 1أ | ٠٠ | FF | FF | ٠٠ | ٠٠ | ٠٠ | ٠٠ | F7 | FF | ٠٠ | ٠٠ | ٠٠ | ٠٠ |
يستخدم نظام الملفات FAT32 32 بت لكل مدخل FAT، وبالتالي يمتد المدخل الواحد على أربعة بايتات بترتيب البايتات الصغير (little-endian). تُحجز البتات الأربعة العليا من كل مدخل لأغراض أخرى؛ ويتم مسحها أثناء عملية التهيئة، ولا ينبغي تغييرها في غير ذلك. يجب إخفاء هذه البتات قبل تفسير المدخل كعنوان مجموعة مكون من 28 بت.
| إزاحة | +0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +أ | +ب | +C | +D | +E | +F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| +0000 | F0 | FF | FF | 0 فهرنهايت | FF | FF | FF | 0 فهرنهايت | FF | FF | FF | 0 فهرنهايت | 04 | ٠٠ | ٠٠ | ٠٠ |
| +0010 | 05 | ٠٠ | ٠٠ | ٠٠ | 06 | ٠٠ | ٠٠ | ٠٠ | 07 | ٠٠ | ٠٠ | ٠٠ | 08 | ٠٠ | ٠٠ | ٠٠ |
| +0020 | FF | FF | FF | 0 فهرنهايت | 0A | ٠٠ | ٠٠ | ٠٠ | 14 | ٠٠ | ٠٠ | ٠٠ | 0 درجة مئوية | ٠٠ | ٠٠ | ٠٠ |
| +0030 | 0D | ٠٠ | ٠٠ | ٠٠ | 0E | ٠٠ | ٠٠ | ٠٠ | 0 فهرنهايت | ٠٠ | ٠٠ | ٠٠ | 10 | ٠٠ | ٠٠ | ٠٠ |
| +0040 | 11 | ٠٠ | ٠٠ | ٠٠ | FF | FF | FF | 0 فهرنهايت | ٠٠ | ٠٠ | ٠٠ | ٠٠ | FF | FF | FF | 0 فهرنهايت |
| +0050 | 15 | ٠٠ | ٠٠ | ٠٠ | 16 | ٠٠ | ٠٠ | ٠٠ | 19 | ٠٠ | ٠٠ | ٠٠ | F7 | FF | FF | 0 فهرنهايت |
| +0060 | F7 | FF | FF | 0 فهرنهايت | 1أ | ٠٠ | ٠٠ | ٠٠ | FF | FF | FF | 0 فهرنهايت | ٠٠ | ٠٠ | ٠٠ | ٠٠ |
| +0070 | ٠٠ | ٠٠ | ٠٠ | ٠٠ | F7 | FF | FF | 0 فهرنهايت | ٠٠ | ٠٠ | ٠٠ | ٠٠ | ٠٠ | ٠٠ | ٠٠ | ٠٠ |
- السلسلة الأولى (مجموعة واحدة) للدليل الجذر، والتي يشير إليها إدخال في FAT32 BPB (هنا: #2)
- السلسلة الثانية (6 مجموعات) لملف غير مجزأ (هنا: #3، #4، #5، #6، #7، #8)
جدول تخصيص الملفات ( FAT ) هو عدد متجاور من القطاعات يلي مباشرةً منطقة القطاعات المحجوزة. وهو يمثل قائمة من الإدخالات التي تُطابق كل مجموعة على وحدة التخزين. يسجل كل إدخال أحد أربعة أشياء:
- رقم المجموعة التالية في السلسلة
- مدخل خاص بنهاية سلسلة التجميع ( EOC ) يشير إلى نهاية السلسلة
- إدخال خاص لتمييز مجموعة سيئة
- صفر للإشارة إلى أن المجموعة غير مستخدمة
لكي تتعرف الإصدارات القديمة جدًا من نظام التشغيل DOS على نظام الملفات، يجب أن يكون النظام قد تم تشغيله من وحدة التخزين، أو أن يبدأ جدول تخصيص الملفات (FAT) الخاص بوحدة التخزين من القطاع الثاني (القطاع المنطقي 1 بعنوان CHS الفعلي 0/0/2 أو عنوان LBA 1)، أي مباشرةً بعد قطاع الإقلاع. تفترض أنظمة التشغيل هذا الموقع الثابت لجدول تخصيص الملفات (FAT) للعثور على مُعرّف FAT في مدخل المجموعة 0 من جدول تخصيص الملفات (FAT) على أقراص DOS 1.0-1.1 المرنة، حيث لا يوجد BPB صالح.
مشاركات خاصة
أول مدخلين في نظام FAT يخزنان قيمًا خاصة:
يحتوي المدخل الأول (المجموعة 0 في جدول تخصيص الملفات FAT) على مُعرّف FAT منذ MS-DOS 1.20 و PC DOS 1.1 (القيم المسموح بها من 0xF0 إلى 0xFF مع حجز من 0xF1 إلى 0xF7 ) في البتات من 7 إلى 0، والذي يُنسخ أيضًا إلى BPB لقطاع الإقلاع، عند الإزاحة 0x015 منذ DOS 2.0. أما البتات الأربعة المتبقية (في حالة FAT12)، أو الثمانية (في حالة FAT16)، أو العشرين (في حالة FAT32، حيث تكون البتات الأربعة الأكثر أهمية صفرًا) من هذا المدخل، فتكون قيمتها دائمًا 1. وقد رُتبت هذه القيم بحيث يعمل المدخل أيضًا كعلامة "اعتراض شاملة" لنهاية السلسلة لجميع مجموعات البيانات التي تحمل القيمة صفر. بالإضافة إلى ذلك، بالنسبة لمعرفات FAT غير 0xFF (و 0x00 )، يُمكن تحديد ترتيب البايتات والنصف بايتات الصحيح الذي سيستخدمه برنامج تشغيل نظام الملفات. مع ذلك، يستخدم نظام ملفات FAT رسميًا تمثيلًا بنظام little-endian فقط، ولا توجد تطبيقات معروفة لمتغيرات تستخدم قيم big-endian بدلًا منه. استخدمت أنظمة 86-DOS من الإصدار 0.42 إلى MS-DOS 1.14 ملفات تعريف محركات الأقراص المدمجة بدلًا من معرف FAT، ولكنها استخدمت هذا البايت للتمييز بين الوسائط المنسقة بإدخالات دليل بحجم 32 بايت أو 16 بايت، كما كان مُستخدمًا قبل الإصدار 86-DOS 0.42.
يُخزّن المدخل الثاني (المجموعة 1 في نظام FAT) عادةً علامة نهاية سلسلة المجموعات كما يستخدمها برنامج التهيئة، ولكنه عادةً ما يحمل القيم 0xFFF / 0xFFFF / 0x0FFFFFFF ، أي باستثناء البتات من 31 إلى 28 في وحدات تخزين FAT32، تكون هذه البتات مُفعّلة دائمًا. مع ذلك، تقوم بعض أنظمة تشغيل مايكروسوفت بتفعيل هذه البتات إذا لم تكن وحدة التخزين هي وحدة التخزين التي تحتوي على نظام التشغيل قيد التشغيل (أي، استخدام 0xFFFFFFFF بدلاً من 0x0FFFFFFFF هنا). [ 40 ] (بالتزامن مع علامات نهاية السلسلة البديلة، يمكن أن تصبح البتات من 2 إلى 0 أصفارًا لأدنى علامة نهاية سلسلة مسموح بها 0xFF8 / 0xFFF8 / 0x?FFFFFF8 ؛ يجب حجز البت 3 أيضًا نظرًا لأن المجموعات 0xFF0 / 0xFFF0 / 0x?FFFFFF0 وما فوقها محجوزة رسميًا. قد لا تتمكن بعض أنظمة التشغيل من تحميل بعض وحدات التخزين إذا لم يتم تعيين أي من هذه البتات، لذلك لا ينبغي تغيير علامة نهاية السلسلة الافتراضية. ) بالنسبة لنظامي التشغيل DOS 1 و2، تم توثيق الإدخال على أنه محجوز للاستخدام المستقبلي.
منذ نظام التشغيل DOS 7.1، يمكن أن تحتوي البتتان الأكثر أهمية في هذا الإدخال على علامتين اختياريتين تمثلان حالة وحدة التخزين الحالية على أنظمة الملفات FAT16 وFAT32، ولكن ليس على أنظمة FAT12. لا تدعم جميع أنظمة التشغيل هذه العلامات، ولكن الأنظمة التي تدعم هذه الميزة تقوم بتعيين هذه البتات عند إيقاف التشغيل ومسح البت الأكثر أهمية عند بدء التشغيل: إذا لم يتم تعيين البت 15 (على FAT16) أو البت 27 (على FAT32) [ 41 ] عند تثبيت وحدة التخزين، فهذا يعني أن وحدة التخزين لم يتم فصلها بشكل صحيح قبل إيقاف التشغيل أو إخراجها، وبالتالي فهي في حالة غير معروفة وربما "غير نظيفة". [ 27 ] على وحدات تخزين FAT32، قد يحتوي قطاع معلومات نظام الملفات على بيانات قديمة، وبالتالي لا ينبغي استخدامه. عادةً ما يقوم نظام التشغيل بتشغيل SCANDISK أو CHKDSK عند بدء التشغيل التالي [ ملاحظة 10 ] [ 41 ] (ولكن ليس عند إدخال وسائط قابلة للإزالة ) لضمان سلامة وحدة التخزين وربما إعادة تأسيسها. إذا تم مسح البت 14 (في نظام FAT16) أو البت 26 (في نظام FAT32) [ 41 ] ، فهذا يعني أن نظام التشغيل قد واجه أخطاء في إدخال/إخراج القرص عند بدء التشغيل، [ 41 ] مما قد يشير إلى وجود قطاعات تالفة. ستفسر أنظمة التشغيل التي تتعرف على هذا الامتداد ذلك على أنه توصية بإجراء فحص سطحي ( SCANDISK ) عند إعادة التشغيل التالية. [ 27 ] [ 41 ] (توجد مجموعة مماثلة من علامات البت في EBPB لنظامي FAT12/FAT16 عند الإزاحة 0x1A أو EBPB لنظام FAT32 عند الإزاحة 0x36 . بينما يمكن الوصول إلى إدخال المجموعة 1 بواسطة برامج تشغيل نظام الملفات بمجرد تحميل وحدة التخزين، فإن إدخال EBPB متاح حتى عندما لا تكون وحدة التخزين محملة، وبالتالي يسهل استخدامه بواسطة برامج تشغيل أجهزة كتل القرص أو أدوات التقسيم.)
إذا لم يتم ضبط عدد جداول تخصيص الملفات (FATs) في جدول BPB على 2 ، فقد يعكس إدخال المجموعة الثانية في جدول تخصيص الملفات الأول (المجموعة 1) حالة وحدة تخزين TFAT لأنظمة التشغيل التي تدعم TFAT. إذا كانت قيمة إدخال المجموعة 1 في جدول تخصيص الملفات هذا تساوي 0، فقد يشير ذلك إلى أن جدول تخصيص الملفات الثاني يمثل آخر حالة معاملة صالحة معروفة، ويجب نسخه فوق جدول تخصيص الملفات الأول، بينما يجب نسخ جدول تخصيص الملفات الأول فوق جدول تخصيص الملفات الثاني إذا كانت جميع البتات مضبوطة.
تستخدم بعض تطبيقات FAT12/FAT16 غير القياسية مدخل المجموعة 1 لتخزين المجموعة البادئة لدليل جذر متغير الحجم (عادةً 2 [ 33 ] ). قد يحدث هذا عندما يكون عدد مداخل دليل الجذر في BPB يساوي صفرًا، ولا يوجد FAT32 EBPB (لا توجد توقيعات 0x29 أو 0x28 عند الإزاحة 0x042 ). [ 20 ] مع ذلك، لا تدعم أنظمة التشغيل الشائعة هذا الامتداد، [ 20 ] لأنه يتعارض مع الاستخدامات الأخرى المحتملة لمدخل المجموعة 1. يمكن استبعاد معظم حالات التعارض إذا سُمح بهذا الامتداد فقط لوحدات تخزين FAT12 ذات مجموعات أقل من 0xFEF ووحدات تخزين FAT16 ذات مجموعات أقل من 0x3FEF وجدولَي FAT.
لأن أول مدخلين في نظام FAT يخزنان قيمًا خاصة، فلا توجد مجموعات بيانات 0 أو 1. مجموعة البيانات الأولى (بعد الدليل الجذر إذا كان FAT12/FAT16) هي المجموعة 2، [ 33 ] مما يشير إلى بداية منطقة البيانات.
قيم المجموعة
قيم إدخال FAT:
| FAT12 | FAT16 | FAT32 | وصف |
|---|---|---|---|
| 0x000 | 0x0000 | 0x?0000000 | مجموعة حرة؛ يستخدمها نظام DOS أيضًا للإشارة إلى الدليل الأصل الذي يبدأ المجموعة في مدخلات ".." للأدلة الفرعية للدليل الجذر على وحدات تخزين FAT12/FAT16. [ 42 ] [ 6 ] وإلا، إذا ظهرت هذه القيمة في سلاسل المجموعات (مثل إدخالات الدليل ذات الطول الصفري أو الملفات المحذوفة)، فيجب على تطبيقات نظام الملفات التعامل معها كعلامة نهاية السلسلة. [ 7 ] |
| 0x001 | 0x0001 | 0x?0000001 | محجوزة لأغراض داخلية؛ يستخدم نظاما التشغيل MS-DOS/PC DOS قيمة هذه المجموعة كمؤشر مؤقت للمجموعة غير الحرة أثناء إنشاء سلاسل المجموعات خلال تخصيص الملفات (لا تُرى على القرص إلا في حالة حدوث عطل أو انقطاع للتيار الكهربائي في منتصف هذه العملية). [ 42 ] [ 6 ] إذا ظهرت هذه القيمة في سلاسل المجموعات على القرص، فيجب على تطبيقات نظام الملفات التعامل مع هذا كعلامة نهاية السلسلة. |
| 0x002 - 0xFEF | 0x0002 - 0xFFEF (0x0002 - 0x7FFF) | 0x?0000002 – 0x?FFFFFEF | تُستخدم كمجموعات بيانات؛ تشير القيمة إلى المجموعة التالية. يقبل نظاما التشغيل MS-DOS/PC DOS قيمًا تصل إلى 0xFEF / 0xFFEF / 0x0FFFFFEF (وأحيانًا أكثر؛ انظر أدناه)، بينما في نظام Atari GEMDOS، لا يُسمح إلا بقيم تصل إلى 0x7FFF على وحدات تخزين FAT16. |
| 0xFF0 [ nb 11 ] - 0xFF5 (0xFF1 - 0xFF5) | 0xFFF0 - 0xFFF5 | 0x?FFFFFF0 – 0x?FFFFFF5 | تُستخدم هذه القيم في بعض السياقات، [ 43 ] أو [ 24 ] [ 25 ] [ 26 ] [ 4 ] [ 44 ] كمجموعات بيانات في بعض الأنظمة غير القياسية. ينبغي تجنب أحجام وحدات التخزين التي تستخدم هذه القيم كمجموعات بيانات، ولكن إذا وُجدت هذه القيم في وحدات تخزين موجودة، فيجب على نظام الملفات التعامل معها كمجموعات بيانات عادية في سلاسل المجموعات (مع تطبيق فحوصات سلامة إضافية، كما هو الحال في أنظمة MS-DOS وPC DOS وDR-DOS، [ 6 ] وينبغي تجنب تخصيصها للملفات في غير هذه الحالة. في نظامي التشغيل MS-DOS/PC DOS 3.3 والإصدارات الأحدث، تُعامل القيمة 0xFF0 [ ملاحظة 11 ] [ 6 ] على وحدات تخزين FAT12 (وليس على FAT16 أو FAT32) كعلامة إضافية لنهاية السلسلة، على غرار 0xFF8 - 0xFFF . [ 6 ] ولضمان التوافق مع MS-DOS/PC DOS، يجب على أنظمة الملفات تجنب استخدام مجموعة البيانات 0xFF0 في سلاسل المجموعات على وحدات تخزين FAT12 (أي، معاملتها كمجموعة محجوزة، على غرار 0xFF7 ). (ملاحظة: يرجع سبب حجز هذه القيم إلى تطابق البايت الأدنى من رقم المجموعة مع مُعرّف FAT وقيم وصف الوسائط). |
| 0xFF6 | 0xFFF6 | 0x?FFFFFF6 | محجوز؛ لا يُستخدم. [ 24 ] [ 25 ] [ 26 ] [ 4 ] [ 21 ] [ 44 ] (ملاحظة: يتوافق مع قيمة حشو التنسيق الافتراضي 0xF6 على الأجهزة المتوافقة مع IBM). لا ينبغي إنشاء وحدات تخزين تستخدم هذه القيمة كمجموعة بيانات، ولكن إذا وُجدت هذه القيمة في وحدات تخزين موجودة، فيجب على نظام الملفات التعامل معها كمجموعة بيانات عادية في سلاسل المجموعات (مع تطبيق فحوصات سلامة إضافية)، ويجب تجنب تخصيصها للملفات في غير ذلك. [ 7 ] |
| 0xFF7 | 0xFFF7 | 0x?FFFFFF7 | قطاع تالف في مجموعة أو مجموعة محجوزة (منذ DOS 2.0). تم تحديد قيم القطع للحد الأقصى لعدد المجموعات في نظامي الملفات FAT12 وFAT16 بحيث تكون أعلى قيم ممكنة لمجموعات البيانات ( 0xFF5 و 0xFFF5 ، [ 6 ] على التوالي) أصغر من هذه القيمة دائمًا. [ 6 ] لذلك، لا يمكن أن تظهر هذه القيمة عادةً في سلاسل المجموعات، ولكن إذا ظهرت، فيمكن التعامل معها كمجموعة بيانات عادية، حيث أن 0xFF7 ربما كانت مجموعة بيانات غير قياسية على وحدات تخزين FAT12 قبل إدخال علامة المجموعة غير الصالحة مع DOS 2.0 أو إدخال FAT16 مع DOS 3.0، [ 7 ] و 0xFFF7 ربما كانت مجموعة بيانات غير قياسية على وحدات تخزين FAT16 قبل إدخال FAT32 مع DOS 7.10. نظريًا، يمكن أن يكون 0x0FFFFFF7 جزءًا من سلسلة كتل صالحة على وحدات تخزين FAT32، ولكن ينبغي لأدوات القرص تجنب إنشاء وحدات تخزين FAT32 حيث يمكن أن تحدث هذه الحالة. كما ينبغي لنظام الملفات تجنب تخصيص هذه الكتلة للملفات. [ 7 ] يجب ألا تحاول أدوات القرص استعادة "المجموعات المفقودة" التي تحتوي على هذه القيمة في جدول تخصيص الملفات (FAT)، بل يجب اعتبارها مجموعات تالفة. |
| 0xFF8 – 0xFFF (واختياريًا 0xFF0؛ [ nb 11 ] انظر الملاحظة) | 0xFFF8 – 0xFFFF | 0x?FFFFFF8 - 0x?FFFFFFFF | آخر مجموعة في الملف (EOC). يجب على أنظمة الملفات التعامل مع جميع هذه القيم كعلامة نهاية السلسلة في آن واحد. [ 7 ] تستخدم معظم أنظمة الملفات (بما في ذلك 86-DOS وMS-DOS وPC DOS وDR-DOS) القيم 0xFFF [ 7 ] / 0xFFFF [ 7 ] / 0x0FFFFFFFF كعلامة نهاية الملف عند تخصيص الملفات، ولكن إصدارات لينكس السابقة للإصدار 2.5.40 كانت تستخدم القيم 0xFF8 / 0xFFF8 / 0x0FFFFFF8 . [ 45 ] تستمر إصدارات mkdosfs ( dosfstools حتى الإصدار 3.0.26) في استخدام القيمة 0x0FFFFFF8 للدليل الجذر على وحدات تخزين FAT32 ، بينما تستخدم بعض أدوات إصلاح القرص وإلغاء تجزئته قيمًا أخرى ضمن المجموعة (على سبيل المثال، قد يستخدم SCANDISK القيم 0xFF8 / 0xFFF8 / 0x0FFFFFF8 بدلاً من ذلك). في حين استُخدمت علامات نهاية مختلفة ( 0xC0 .. 0xCD ) في تطبيق نظام الملفات FAT الأصلي ذي 8 بت في برنامج مايكروسوفت Standalone Disk BASIC للإشارة إلى عدد القطاعات (من 0 إلى 13) المستخدمة في آخر مجموعة بيانات يشغلها ملف ، أُعيد استخدام علامات نهاية مختلفة في نظام DOS للإشارة إلى أنواع وسائط تخزين مختلفة، [ 7 ] حيث تُشير علامة النهاية المستخدمة حاليًا إلى مدخل المجموعة 1. مع ذلك، يبدو أن هذا المفهوم لم يُستخدم على نطاق واسع عمليًا ، لدرجة أنه في بعض الحالات قد لا تتعرف بعض أنظمة التشغيل على وحدات التخزين إذا لم يتم ضبط بعض البتات ذات الترتيب الأدنى للقيمة المخزنة في المجموعة 1. كما أن بعض تطبيقات نظام الملفات المعيبة لا تقبل سوى 0xFFF / 0xFFFF / 0x?FFFFFFF كعلامة نهاية سلسلة صالحة. ينبغي لتطبيقات نظام الملفات التحقق من قيم المجموعات في سلاسل المجموعات مقابل الحد الأقصى المسموح به لقيمة المجموعة المحسوبة بناءً على الحجم الفعلي لوحدة التخزين، والتعامل مع القيم الأعلى كما لو كانت علامات نهاية السلسلة. (يتوافق البايت الأدنى من رقم المجموعة من الناحية النظرية مع معرّف FAT وقيم واصف الوسائط ؛ [ 7 ] انظر الملاحظة أعلاه للاستخدام الخاص لـ 0xFF0 في MS-DOS/PC DOS [ ملاحظة 11 ] على وحدات تخزين FAT12. [ 6 ] ) |
يستخدم نظام الملفات FAT32 ثمانية وعشرين بتًا لأرقام المجموعات. أما البتات الأربعة المتبقية في مدخل FAT ذي الـ 32 بت، فعادةً ما تكون أصفارًا، ولكنها محجوزة ويجب تركها دون تغيير. يجب ألا يعتمد برنامج تشغيل نظام الملفات FAT32 المتوافق مع المعايير أو أداة الصيانة على كون البتات الأربعة العليا أصفارًا، بل يجب عليه إزالتها قبل تقييم رقم المجموعة، وذلك تحسبًا لأي توسعات مستقبلية محتملة قد تُستخدم فيها هذه البتات لأغراض أخرى. يجب ألا يقوم برنامج تشغيل نظام الملفات بمسح هذه البتات عند تخصيص مجموعات جديدة، ولكن يجب مسحها أثناء إعادة التهيئة.
منطقة الدليل الجذر
يحتل جدول الدليل الجذر في أنظمة الملفات FAT12 و FAT16 موقع منطقة الدليل الجذر الخاص .
منطقة البيانات
باستثناء جدول الدليل الجذر في نظامي الملفات FAT12 وFAT16، والذي يشغل موقع منطقة الدليل الجذرية الخاصة ، تُخزَّن جميع جداول الدليل في منطقة البيانات. ويمكن زيادة عدد الإدخالات في دليل مُخزَّن في منطقة البيانات بإضافة مجموعة أخرى إلى سلسلة FAT.
جدول الدليل
جدول الدليل هو نوع خاص من الملفات يُمثل دليلاً (يُعرف أيضاً بالمجلد). منذ إصدار 86-DOS 0.42 ، [ 46 ] يُمثل كل ملف، أو (منذ MS-DOS 1.40 وPC DOS 2.0) دليل فرعي مُخزن داخله، بإدخال بحجم 32 بايت في الجدول. يُسجل كل إدخال الاسم، والامتداد، والخصائص ( أرشيف ، دليل، مخفي، للقراءة فقط، نظام، ووحدة تخزين )، وعنوان أول مجموعة بيانات في الملف/الدليل، وحجم الملف/الدليل، والتاريخ، [ 46 ] و(منذ PC DOS 1.1) وقت آخر تعديل. كانت الإصدارات السابقة من 86-DOS تستخدم إدخالات دليل بحجم 16 بايت فقط، ولا تدعم الملفات التي يزيد حجمها عن 16 ميجابايت، ولا تدعم وقت آخر تعديل. [ 46 ]
لا يفرض نظام ملفات FAT أي قيود على عمق شجرة المجلدات الفرعية طالما توجد مساحات تخزين متاحة لتخصيصها. مع ذلك، فإن بنية الدليل الحالية (CDS) الداخلية في نظامي MS-DOS/PC DOS تحد من طول المسار المطلق للمجلد إلى 66 حرفًا (بما في ذلك حرف محرك الأقراص، ولكن باستثناء فاصل البايت NUL)، [ 24 ] [ 25 ] [ 26 ] مما يحد من أقصى عمق مدعوم للمجلدات الفرعية إلى 32 ، أيهما أقرب. لا تخزن أنظمة Concurrent DOS وMultiuser DOS وDR DOS من الإصدار 3.31 إلى 6.0 (بما في ذلك تحديثات نوفمبر 1992) المسارات المطلقة لمجلدات العمل داخليًا، وبالتالي لا يظهر هذا القيد. [ 47 ] وينطبق الأمر نفسه على نظام Atari GEMDOS، لكن سطح مكتب Atari لا يدعم أكثر من 8 مستويات من المجلدات الفرعية. تدعم معظم التطبيقات التي تتعرف على هذا الامتداد مسارات يصل طولها إلى 127 بايت على الأقل. يدعم كل من FlexOS و4680 OS و4690 OS طولًا يصل إلى 127 بايت، مما يسمح بأعماق تصل إلى 60 مستوى. [ 48 ] أما PalmDOS وDR DOS 6.0 (منذ BDOS 7.1) والإصدارات الأحدث، وNovell DOS، وOpenDOS، فتستخدم CDS متوافقًا مع MS-DOS، وبالتالي لها نفس حدود الطول الخاصة بـ MS-DOS/PC DOS.
يمكن أن يسبق كل إدخال "إدخالات وهمية" لدعم اسم ملف طويل VFAT (LFN)؛ انظر المزيد أدناه.
تتضمن الأحرف القانونية لأسماء الملفات القصيرة في نظام DOS ما يلي:
- الأحرف الكبيرة
A–Z - الأرقام
0–9 - المسافة (مع أن المسافات الزائدة في نهاية اسم الملف أو امتداده تُعتبر حشوًا وليست جزءًا من اسم الملف؛ كما أن أسماء الملفات التي تحتوي على مسافات لم يكن من السهل استخدامها في سطر أوامر نظام التشغيل DOS قبل ويندوز 95 لعدم وجود نظام مناسب للهروب من الأحرف المفقودة ). ومن الاستثناءات الأخرى الأوامر الداخلية
MKDIR/MDوRMDIR/RDفي نظام DR-DOS التي تقبل وسيطًا واحدًا، وبالتالي تسمح بإدخال المسافات. ! # $ % & ' ( ) - @ ^ _ ` { } ~- الأحرف 128-228
- الأحرف 230-255
يستثنى من ذلك الأحرف التالية من نظام ASCII :
" * / : < > ? \ |لا يحتوي نظام التشغيل Windows/MS-DOS على حرف هروب في الصدفة+ , . ; = [ ]مسموح به في أسماء الملفات الطويلة فقط- الأحرف الصغيرة
a-zتُخزن كـA-Z؛ مسموح بها في أسماء الملفات الطويلة - أحرف التحكم 0-31
- الحرف 127 (حذف)
لم يكن يُسمح باستخدام الحرف 229 ( 0xE5 ) كأول حرف في اسم الملف في نظامي التشغيل DOS 1 و2 نظرًا لاستخدامه كعلامة دخول حرة. أُضيفت حالة خاصة لتجاوز هذا القيد في نظام التشغيل DOS 3.0 والإصدارات الأحدث.
يُسمح باستخدام الأحرف الإضافية التالية في نظام GEMDOS الخاص بشركة أتاري، ولكن يجب تجنبها من أجل التوافق مع نظامي MS-DOS/PC DOS:
" + , ; < = > [ ] |
;يُنصح بتجنب استخدام الفاصلة المنقوطة ( ) في أسماء الملفات في أنظمة التشغيل DR DOS 3.31 والإصدارات الأحدث، وPalmDOS، وNovell DOS، وOpenDOS، وConcurrent DOS ، وMultiuser DOS، وSystem Manager، وREAL/32 ، لأنها قد تتعارض مع صيغة تحديد كلمات مرور الملفات والمجلدات: " ...\DIRSPEC.EXT;DIRPWD\FILESPEC.EXT;FILEPWD". يقوم نظام التشغيل بحذف فاصلة منقوطة واحدة [ 47 ] (وأيضًا اثنتين - منذ DR-DOS 7.02) وكلمات المرور المعلقة من أسماء الملفات قبل تخزينها على القرص. (يستخدم معالج الأوامر 4DOS الفواصل المنقوطة لقوائم التضمين، ويتطلب مضاعفة الفاصلة المنقوطة للملفات المحمية بكلمة مرور مع أي أوامر تدعم الأحرف البديلة. [ 47 ] )
تُستخدم علامة @ @في قوائم الملفات بواسطة العديد من أوامر DR-DOS وPalmDOS وNovell DOS وOpenDOS وMultiuser DOS وSystem Manager وREAL/32، بالإضافة إلى 4DOS، ولذلك قد يكون استخدامها في أسماء الملفات صعبًا في بعض الأحيان. [ 47 ]
في نظامي التشغيل Multiuser DOS و REAL/32، لا تُعد علامة التعجب (!) حرفًا صالحًا في أسماء الملفات لأنها تُستخدم لفصل عدة أوامر في سطر أوامر واحد. [ 47 ]
في نظامي التشغيل IBM 4680 و 4690 ، لا يُسمح باستخدام الأحرف التالية في أسماء الملفات:
? * : . ; , [ ] ! + = < > " - / \ |
بالإضافة إلى ذلك، لا يُسمح باستخدام الأحرف الخاصة التالية في الأحرف الأول والرابع والخامس والثامن من اسم الملف، لأنها تتعارض مع أسماء ملفات إنشاء جدول تسلسل الإدخال ومعالج أوامر المضيف (HCP):
@ # ( ) { } $ &
أسماء ملفات DOS موجودة في مجموعة أحرف OEM الحالية : يمكن أن يكون لهذا تأثيرات مفاجئة إذا تم تفسير الأحرف التي يتم التعامل معها بطريقة معينة لصفحة ترميز معينة بشكل مختلف لصفحة ترميز أخرى (أمر DOS CHCP) فيما يتعلق بالأحرف الصغيرة والكبيرة، أو الفرز، أو الصلاحية كحرف اسم ملف.
إدخال الدليل
قبل أن تُضيف مايكروسوفت دعمًا لأسماء الملفات الطويلة وطوابع وقت الإنشاء/الوصول، كانت البايتات من 0x0C إلى 0x15 من مدخل الدليل تُستخدم من قِبل أنظمة تشغيل أخرى لتخزين بيانات وصفية إضافية، ولا سيما أنظمة تشغيل عائلة Digital Research التي كانت تُخزن كلمات مرور الملفات وحقوق الوصول ومعرّفات المالك وبيانات حذف الملفات هناك. وبينما لا تتوافق امتدادات مايكروسوفت الأحدث تمامًا مع هذه الامتدادات افتراضيًا، إلا أن معظمها يُمكن أن يتعايش في تطبيقات FAT التابعة لجهات خارجية (على الأقل على وحدات تخزين FAT12 وFAT16).
تكون إدخالات الدليل ذات 32 بايت، سواء في منطقة الدليل الجذر أو في الدلائل الفرعية، بالتنسيق التالي (انظر أيضًا 8.3 اسم الملف ):
| إزاحة البايت | الحجم (بايت) | محتويات | ||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x00 | 8 | اسم ملف مختصر (مع إضافة مسافات) يمكن أن يحتوي البايت الأول على القيم الخاصة التالية:
تبدأ إصدارات نظام التشغيل DOS الأقدم من الإصدار 5.0 بفحص جداول الدليل من أعلى الجدول إلى أسفله. ولزيادة فرص استعادة الملفات المحذوفة بنجاح، يحتفظ نظام التشغيل DOS 5.0 والإصدارات الأحدث بموقع آخر إدخال تمت كتابته في الدليل، ويستخدمه كنقطة بداية لفحص جداول الدليل. | ||||||||||||||||||||||||||||||||||||||||||
| 0x08 | 3 | امتداد ملف قصير (مُضاف إليه مسافات) | ||||||||||||||||||||||||||||||||||||||||||
| 0x0B | 1 | سمات الملف
في نظام التشغيل DR DOS 6.0 والإصدارات الأحدث، بما في ذلك PalmDOS وNovell DOS وOpenDOS، يتم تعيين سمة وحدة التخزين للملفات والمجلدات المعلقة للحذف ضمن DELWATCH. يُستخدم رمز 0x0F لتحديد اسم ملف طويل في نظام VFAT منذ إصدار MS-DOS 7.0. قد تخلط الإصدارات القديمة من DOS بين هذا الرمز وتسمية وحدة تخزين، حيث تعتمد أول إدخال مُعيّن له رمز وحدة التخزين كتسمية لها. يمكن تجنب هذه المشكلة بفرض تسمية وحدة التخزين كجزء من عملية التهيئة؛ ولهذا السبب، تقوم بعض أدوات القرص بكتابة تسميات وهمية لوحدات التخزين عندما لا يُحدد المستخدم تسمية. [ ملاحظة 14 ] بما أن تسميات وحدات التخزين لا تُعيّن لها عادةً سمة النظام في الوقت نفسه، فمن الممكن التمييز بين تسميات وحدات التخزين وإدخالات VFAT LFN. قد يظهر تركيب السمة 0x0F أحيانًا كجزء من ملف حذف معلق صالح ضمن DELWATCH، ولكن في وحدات تخزين FAT12 وFAT16، تكون قيمة المجموعة في إدخالات VFAT LFN دائمًا عند 0x1A مُعيّنة على 0x0000 ، بينما لا تكون قيمة إدخال الطول عند 0x1C أبدًا 0x00000000 ، في حين أن الإدخال عند 0x1A يكون دائمًا غير صفري لملفات الحذف المعلقة ضمن DELWATCH. لا يعمل هذا الفحص على وحدات تخزين FAT32. | ||||||||||||||||||||||||||||||||||||||||||
| 0x0C | 1 |
| ||||||||||||||||||||||||||||||||||||||||||
| 0x0D | 1 |
لا يؤدي الاستخدام المزدوج لوقت الإنشاء بالمللي ثانية وحرف الملف إلى حدوث تعارض، لأن وقت الإنشاء لم يعد مهمًا للملفات المحذوفة. | ||||||||||||||||||||||||||||||||||||||||||
| 0x0E | 2 |
إذا كانت البتات 15-11 > 23 أو البتات 10-5 > 59 أو البتات 4-0 > 29 هنا، أو عندما تحتوي البتات 12-0 عند الإزاحة 0x14 على خريطة بتات الوصول، ولم يكن هذا مجلد FAT32 أو مجلدًا يستخدم سمات OS/2 الموسعة ، فإن هذا الإدخال يحتوي بالفعل على تجزئة كلمة مرور، وإلا فيمكن افتراض أنه وقت إنشاء ملف. | ||||||||||||||||||||||||||||||||||||||||||
| 0x10 | 2 |
لا يتعارض استخدام تاريخ الإنشاء للملفات الموجودة مع وقت آخر تعديل للملفات المحذوفة، لأنهما لا يُستخدمان معًا أبدًا. وللسبب نفسه، لا يتعارض استخدام حجم السجل للملفات الموجودة مع وقت آخر تعديل للملفات المحذوفة. مع ذلك، لا يمكن استخدام تاريخ الإنشاء وحجم السجل في الوقت نفسه، إذ يُخزَّن كلاهما عند إنشاء الملف فقط ولا يُغيَّر لاحقًا، مما يحد من التعارض في أنظمة FlexOS و4680 OS و4690 OS التي تصل إلى ملفات أُنشئت على أنظمة تشغيل أخرى، بالإضافة إلى مشاكل العرض أو فرز الملفات المحتملة في الأنظمة التي تحاول تفسير حجم السجل على أنه وقت الإنشاء. لتجنب هذا التعارض، ينبغي أن يكون تخزين تاريخ الإنشاء ميزة اختيارية في أنظمة التشغيل التي تدعمه. | ||||||||||||||||||||||||||||||||||||||||||
| 0x12 | 2 |
لا يتعارض استخدام معرّفات مالكي الملفات الموجودة مع تاريخ آخر تعديل للملفات المحذوفة، لأنهما لا يُستخدمان معًا أبدًا. [ 47 ] كما لا يتعارض استخدام تاريخ آخر تعديل للملفات المحذوفة مع تاريخ الوصول، إذ لم يعد تاريخ الوصول مهمًا للملفات المحذوفة. مع ذلك، لا يمكن استخدام معرّفات المالكين وتواريخ الوصول في الوقت نفسه. | ||||||||||||||||||||||||||||||||||||||||||
| 0x14 | 2 |
يتعارض تخزين البايتين الأعلى من المجموعة الأولى في ملف على نظام FAT32 جزئيًا مع خرائط بتات حقوق الوصول. | ||||||||||||||||||||||||||||||||||||||||||
| 0x16 | 2 |
| ||||||||||||||||||||||||||||||||||||||||||
| 0x18 | 2 |
| ||||||||||||||||||||||||||||||||||||||||||
| 0x1A | 2 | بداية الملف في مجموعات في FAT12 و FAT16. البايتان الأدنى من المجموعة الأولى في FAT32؛ مع تخزين البايتين الأعلى عند الإزاحة 0x14 . يجب أن تحتوي الإدخالات التي تحمل علامة Volume Label، والمجلد الفرعي ".." الذي يشير إلى جذر FAT12 وFAT16، والملفات الفارغة ذات الحجم 0 على المجموعة الأولى 0. تحتوي إدخالات VFAT LFN أيضًا على هذا الإدخال مضبوطًا على 0؛ في وحدات تخزين FAT12 وFAT16، يمكن استخدام هذا كجزء من آلية الكشف للتمييز بين ملفات الحذف المعلقة ضمن DELWATCH وVFAT LFNs؛ انظر أعلاه. | ||||||||||||||||||||||||||||||||||||||||||
| 0x1C | 4 | حجم الملف بالبايت. يجب أن يكون حجم الإدخالات التي تحمل علامة "اسم وحدة التخزين" أو "المجلد الفرعي" صفرًا. لا تُخزّن إدخالات VFAT LFN القيمة 0x00000000 هنا. يمكن استخدام هذا كجزء من آلية الكشف للتمييز بين ملفات الحذف المعلقة ضمن DELWATCH وVFAT LFNs؛ انظر أعلاه. |
يدعم نظاما التشغيل IBM 4680 OS و IBM 4690 OS القائمان على FlexOS سمات توزيع فريدة مخزنة في بعض بتات المناطق المحجوزة مسبقًا في إدخالات الدليل: [ 62 ]
- محلي: لا تقم بتوزيع الملف، بل احتفظ به على وحدة التحكم المحلية فقط. [ ملاحظة 15 ]
- نسخ الملف عند التحديث: توزيع الملف على الخادم فقط عند تحديث الملف.
- نسخ الملف عند الإغلاق: توزيع الملف على الخادم فقط عند إغلاق الملف.
- ملف مركب عند التحديث: توزيع الملف على جميع وحدات التحكم عند تحديث الملف.
- ملف مركب عند الإغلاق: توزيع الملف على جميع وحدات التحكم عند إغلاق الملف. [ 63 ]
تتضمن بعض الامتدادات غير المتوافقة الموجودة في بعض أنظمة التشغيل ما يلي:
| إزاحة البايت | الحجم (بايت) | نظام | وصف |
|---|---|---|---|
| 0x0C | 2 | نظام التشغيل RISC | نوع الملف، 0x0000 – 0x0FFF |
| 0x0C | 4 | بيتروف دوسفس | عنوان تحميل الملف |
| 0x0E | 2 | أندوس | عنوان الملف في الذاكرة |
| 0x10 | 4 | بيتروف دوسفس | عنوان تنفيذ الملف |
حدود الحجم
تتميز أنظمة الملفات FAT12 وFAT16 وFAT16B وFAT32 بحدود واضحة تعتمد على عدد المجموعات وعدد القطاعات في كل مجموعة (1، 2، 4، ...، 128). وبالنسبة للقيمة النموذجية البالغة 512 بايت لكل قطاع:
متطلبات FAT12 : 3 قطاعات على كل نسخة من جدول تخصيص الملفات لكل 1024 مجموعة. متطلبات FAT16 : قطاع واحد على كل نسخة من جدول تخصيص الملفات لكل 256 مجموعة. متطلبات FAT32 : قطاع واحد على كل نسخة من جدول تخصيص الملفات لكل 128 مجموعة . نطاق FAT12 : من 1 إلى 4084 مجموعة : من 1 إلى 12 قطاعًا لكل نسخة من جدول تخصيص الملفات. نطاق FAT16 : من 4085 إلى 65524 مجموعة : من 16 إلى 256 قطاعًا لكل نسخة من جدول تخصيص الملفات. نطاق FAT32 : من 65525 إلى 268435444 مجموعة : من 512 إلى 2097152 قطاعًا لكل نسخة من جدول تخصيص الملفات. الحد الأدنى لحجم FAT12 : قطاع واحد لكل مجموعة × مجموعة واحدة = 512 بايت (0.5 كيلوبايت). الحد الأدنى لحجم FAT16 : قطاع واحد لكل مجموعة × 4085 مجموعة = 2,091,520 بايت (2,042.5 كيلوبايت) الحد الأدنى لنظام FAT32 : قطاع واحد لكل مجموعة × 65,525 مجموعة = 33,548,800 بايت (32,762.5 كيلوبايت) الحد الأقصى لنظام FAT12 : 64 قطاعًا لكل مجموعة × 4,084 مجموعة = 133,824,512 بايت (≈ 127 ميجابايت) [الحد الأقصى لنظام FAT12 : 128 قطاعًا لكل مجموعة × 4,084 مجموعة = 267,694,024 بايت (≈ 255 ميجابايت)] الحد الأقصى لنظام FAT16 : 64 قطاعًا لكل مجموعة × 65,524 مجموعة = 2,147,090,432 بايت (≈ 2,047 ميجابايت) [الحد الأقصى لنظام FAT16 : 128 قطاعًا لكل مجموعة × 65,524 مجموعة = [4,294,180,864 بايت (≈4,095 ميجابايت)] الحد الأقصى لنظام FAT32 : 8 قطاعات لكل مجموعة × 268,435,444 مجموعة = 1,099,511,578,624 بايت (≈1,024 جيجابايت) الحد الأقصى لنظام FAT32 : 16 قطاعًا لكل مجموعة × 268,173,557 مجموعة = 2,196,877,778,944 بايت (≈2,046 جيجابايت) [الحد الأقصى لنظام FAT32 : 32 قطاعًا لكل مجموعة × 134,152,181 مجموعة = 2,197,949,333,504 بايت (≈2,047 جيجابايت)] [الحد الأقصى لنظام FAT32 : 64 قطاعًا لكل مجموعة × 67,092,469 مجموعة = 2,198,486,024,192 بايت (≈2,047 جيجابايت)] [الحد الأقصى لنظام FAT32 : 128 قطاعًا لكل مجموعة × 33,550,325 مجموعة = 2,198,754,099,200 بايت (≈2,047 جيجابايت)]
- مفتاح الرموز: 268435444+3 يساوي 0x0FFFFFF7 ، لأن نظام FAT32 الإصدار 0 يستخدم 28 بت فقط في أرقام العناقيد ذات 32 بت. تشير أرقام العناقيد من 0x0FFFFFF7 إلى 0x0FFFFFFF إلى عناقيد تالفة أو نهاية ملف، بينما يشير رقم العنقود 0 إلى عنقود فارغ، أما رقم العنقود 1 فهو غير مستخدم. [ 33 ] وبالمثل، فإن 65524+3 يساوي 0xFFF7 لنظام FAT16، و4084+3 يساوي 0xFF7 لنظام FAT12. عدد القطاعات في كل عنقود هو قوة للعدد 2 تتسع في بايت واحد، أصغر قيمة هي 1 ( 0x01 )، وأكبر قيمة هي 128 ( 0x80 ). تشير الخطوط بين قوسين مربعين إلى حجم العنقود غير المعتاد 128، وبالنسبة لنظام FAT32، إلى أحجام العناقيد الأكبر من اللازم 32 أو 64. [ 64 ]
نظرًا لأن كل مدخل في نظام FAT32 يشغل 32 بت (4 بايت)، فإن الحد الأقصى لعدد المجموعات (268435444) يتطلب 2097152 قطاعًا من قطاعات FAT، وذلك لحجم قطاع يبلغ 512 بايت. القيمة 2097152 تساوي 0x200000 ، وتخزين هذه القيمة يتطلب أكثر من بايتين. لذلك، أضاف نظام FAT32 قيمة جديدة من 32 بت في قطاع الإقلاع الخاص به، مباشرةً بعد القيمة 32 بت الخاصة بإجمالي عدد القطاعات المُضافة في نظام FAT16B.
تبدأ امتدادات سجل الإقلاع التي تم تقديمها مع نظام التشغيل DOS 4.0 بالرقم السحري 40 ( 0x28 ) أو 41 ( 0x29 ). عادةً ما تنظر برامج تشغيل FAT فقط إلى عدد المجموعات لتمييز أنظمة FAT12 وFAT16 وFAT32: يتم تجاهل السلاسل النصية التي يمكن قراءتها لتحديد نوع FAT في سجل الإقلاع، لأنها موجودة فقط للوسائط المهيأة بنظام DOS 4.0 أو أحدث.
يُعدّ تحديد عدد مداخل الدليل لكل مجموعة أمرًا بسيطًا. يشغل كل مدخل 32 بايتًا، ما ينتج عنه 16 مدخلًا لكل قطاع، أي بحجم قطاع يبلغ 512 بايتًا. يقوم الأمر DOS 5 RMDIR/ RDبإزالة المدخلين الأوليين " ." (هذا الدليل) و " .." (الدليل الأصل) في الأدلة الفرعية مباشرةً، وبالتالي يُمكن استخدام حجم قطاع 32 بت على قرص RAM لنظام FAT12، ولكنه يتطلب قطاعين أو أكثر لكل مجموعة. يحتاج قطاع تمهيد FAT12 بدون امتدادات DOS 4 إلى 29 بايتًا قبل أول عدد غير ضروري من قطاعات FAT16B المخفية ذات 32 بت، ما يترك ثلاثة بايتات لرمز التمهيد (غير المستخدم على قرص RAM) والرمز السحري 0x55 0xAA في نهاية جميع قطاعات التمهيد. في نظام Windows NT، أصغر حجم قطاع مدعوم هو 128 بايتًا.
في أنظمة تشغيل ويندوز إن تي، تتوافق FORMATخيارات الأمر مع الحد الأقصى لحجم الكتلة (128) مع حجم قطاع يبلغ 1024 و2048 على التوالي. أما بالنسبة لحجم القطاع الشائع 512، فينتج 128 قطاعًا لكل كتلة./A:128K/A:256K0x80/A:64K
تحدد كلتا نسختي ECMA-107 [ 24 ] وISO/IEC 9293 [ 25 ] [ 26 ] الحد الأقصى لعدد المجموعاتMAX المحدد بواسطة الصيغة ، وتحجز أرقام المجموعات حتى 4086 ( 0xFF6 ، FAT12) ولاحقًا 65526 ( 0xFFF6 ، FAT16) للتوحيد القياسي في المستقبل.MAX=1+trunc((TS-SSA)/SC)MAX+1
تنص مواصفات EFI FAT32 من مايكروسوفت [ 4 ] على أن أي نظام ملفات FAT يحتوي على أقل من 4085 مجموعة هو FAT12، وأي نظام ملفات FAT يحتوي على أقل من 65525 مجموعة هو FAT16، وما عدا ذلك فهو FAT32. يجب أن يكون إدخال المجموعة 0 في بداية جدول تخصيص الملفات (FAT) مطابقًا لبايت واصف الوسائط الموجود في BPB، بينما يعكس إدخال المجموعة 1 قيمة نهاية السلسلة التي يستخدمها مُهيئ سلاسل المجموعات ( 0xFFF أو 0xFFFF أو 0x0FFFFFFFF ). تنتهي إدخالات المجموعتين 0 و1 عند حد بايت حتى بالنسبة لـ FAT12، على سبيل المثال، 0xF9FFFF لواصف الوسائط 0xF9 .
المجموعة الأولى من البيانات هي 2، [ 33 ] وبالتالي MAXتحصل المجموعة الأخيرة على رقم MAX+1. ينتج عن ذلك أرقام مجموعات البيانات من 2 إلى 4085 ( 0xFF5 ) لنظام FAT12، ومن 2 إلى 65525 ( 0xFFF5 ) لنظام FAT16، ومن 2 إلى 268435445 ( 0x0FFFFFF5 ) لنظام FAT32.
وبالتالي، فإن القيمتين الوحيدتين المتاحتين والمخصصتين للتوحيد القياسي المستقبلي هما 0xFF6 (FAT12) و 0xFFF6 (FAT16). وكما هو موضح أدناه، يُستخدم مصطلح "أقل من 4085" أيضًا في تطبيقات لينكس، [ 44 ] أو كما ورد في مواصفات نظام الملفات FAT من مايكروسوفت : [ 4 ]
عندما يُكتب < ، فهذا لا يعني < =. لاحظ أيضًا أن الأرقام صحيحة. الرقم الأول لنظام FAT12 هو 4085؛ والرقم الثاني لنظام FAT16 هو 65525. هذه الأرقام وعلامات " < " صحيحة.
التجزئة
لا يحتوي نظام ملفات FAT على آليات مدمجة تمنع الملفات المكتوبة حديثًا من التشتت عبر القسم. [ 65 ] في وحدات التخزين التي تُنشأ فيها الملفات وتُحذف بشكل متكرر أو تتغير أحجامها باستمرار، ستصبح الوسائط مجزأة بشكل متزايد بمرور الوقت.
على الرغم من أن تصميم نظام ملفات FAT لا يُسبب أي عبء تنظيمي في بنية القرص أو يُقلل من مساحة التخزين الحرة مع زيادة التجزئة ، كما هو الحال مع التجزئة الخارجية ، إلا أن الوقت اللازم لقراءة وكتابة الملفات المُجزأة سيزداد، حيث سيتعين على نظام التشغيل تتبع سلاسل الكتل في FAT (مع تحميل أجزاء منها في الذاكرة أولاً، خاصةً على وحدات التخزين الكبيرة) وقراءة البيانات المُوزعة فعليًا على كامل الوسيط، مما يُقلل من فرص قيام برنامج تشغيل جهاز الكتلة منخفض المستوى بتنفيذ عمليات إدخال/إخراج متعددة القطاعات للقرص أو بدء عمليات نقل DMA كبيرة، وبالتالي زيادة عبء بروتوكول الإدخال/الإخراج، بالإضافة إلى أوقات حركة الذراع واستقرار الرأس داخل محرك الأقراص. كما ستصبح عمليات الملفات أبطأ مع ازدياد التجزئة، حيث يستغرق نظام التشغيل وقتًا أطول للعثور على الملفات أو الكتل الحرة.
تستخدم أنظمة ملفات أخرى، مثل HPFS أو exFAT ، خرائط بتات للمساحة الحرة تُشير إلى المجموعات المستخدمة والمتاحة، والتي يُمكن البحث عنها بسرعة للعثور على مساحات متجاورة خالية. ويتمثل حل آخر في ربط جميع المجموعات الحرة في قائمة واحدة أو أكثر (كما هو الحال في أنظمة ملفات يونكس ). في المقابل، يجب مسح جدول تخصيص الملفات (FAT) كمصفوفة للعثور على المجموعات الحرة، مما قد يؤدي إلى انخفاض الأداء مع الأقراص الكبيرة.
في الواقع، يُعد البحث عن الملفات في المجلدات الفرعية الكبيرة أو حساب مساحة القرص الحرة على وحدات تخزين FAT من أكثر العمليات استهلاكًا للموارد، إذ يتطلب ذلك قراءة جداول المجلدات أو حتى جدول FAT بأكمله بشكل خطي. ولأن العدد الإجمالي للمجموعات وحجم إدخالاتها في جدول FAT كان لا يزال صغيرًا على وحدات تخزين FAT12 وFAT16، فقد كان من الممكن التغاضي عن ذلك في معظم الأحيان، مع الأخذ في الاعتبار أن إدخال هياكل أقراص أكثر تعقيدًا كان سيزيد من تعقيد أنظمة التشغيل ذات الوضع الحقيقي وحجم الذاكرة المطلوبة لها، والتي لا تتجاوز متطلباتها الإجمالية للذاكرة 128 كيلوبايت (كما هو الحال مع نظام DOS)، والتي صُمم جدول FAT خصيصًا لها.
مع ظهور نظام الملفات FAT32، برزت أوقات البحث والمسح الطويلة، خاصةً مع وحدات التخزين الكبيرة جدًا. أحد المبررات التي اقترحها ريموند تشين من مايكروسوفت لتقييد الحد الأقصى لحجم أقسام FAT32 المُنشأة على نظام ويندوز هو الوقت اللازم لتنفيذ عملية " DIR"، والتي تُظهر دائمًا مساحة القرص الحرة في السطر الأخير. [ 66 ] كان عرض هذا السطر يستغرق وقتًا أطول مع ازدياد عدد الكتل. لذلك، قدم نظام FAT32 قطاع معلومات خاصًا بنظام الملفات، حيث يتم الاحتفاظ بمقدار المساحة الحرة المحسوبة مسبقًا عند إعادة تشغيل النظام، بحيث لا يلزم إعادة حساب عداد المساحة الحرة إلا عند إخراج وسيط تخزين قابل للإزالة مُهيأ بنظام FAT32 دون فصله أولًا، أو عند إيقاف تشغيل النظام دون إغلاق نظام التشغيل بشكل صحيح، وهي مشكلة تظهر غالبًا في أجهزة الكمبيوتر الشخصية القديمة (قبل ATX ) ، وأنظمة DOS البسيطة ، وبعض المنتجات الاستهلاكية التي تعمل بالبطاريات.
مع أحجام المجموعات الضخمة (16 كيلوبايت، 32 كيلوبايت، 64 كيلوبايت) التي تفرضها أقسام FAT الأكبر، يبدأ التجزئة الداخلية في شكل إهدار مساحة القرص بسبب فائض الملفات الناتج عن بروز المجموعة (حيث نادرًا ما تكون الملفات مضاعفات دقيقة لحجم المجموعة) في أن تصبح مشكلة أيضًا، خاصة عندما يكون هناك عدد كبير من الملفات الصغيرة.
تم ابتكار العديد من التحسينات والتعديلات على تنفيذ برامج تشغيل نظام ملفات FAT، وبرامج تشغيل أجهزة الكتل، وأدوات القرص، للتغلب على معظم معوقات الأداء في التصميم الأساسي لنظام الملفات، دون الحاجة إلى تغيير تخطيط هياكل البيانات على القرص. [ 67 ] [ 68 ] ويمكن تقسيم هذه التحسينات إلى طرق تعمل عبر الإنترنت وأخرى تعمل دون اتصال بالإنترنت، وتتمثل في محاولة تجنب تجزئة نظام الملفات من الأساس، ثم تطبيق طرق للتعامل بشكل أفضل مع التجزئة الموجودة، وإعادة ترتيب هياكل البيانات على القرص وتحسينها. ومع تطبيق هذه التحسينات، يمكن أن يصل أداء وحدات تخزين FAT في كثير من الأحيان إلى مستوى أنظمة الملفات الأكثر تطورًا في السيناريوهات العملية، مع الحفاظ في الوقت نفسه على ميزة إمكانية الوصول إليها حتى على الأنظمة الصغيرة جدًا أو القديمة.
لن يعيد نظام التشغيل DOS 3.0 والإصدارات الأحدث استخدام مساحة القرص الخاصة بالملفات المحذوفة فورًا لتخصيصات جديدة، بل سيبحث عن مساحة غير مستخدمة سابقًا قبل البدء في استخدام مساحة القرص الخاصة بالملفات المحذوفة. هذا لا يساعد فقط في الحفاظ على سلامة الملفات المحذوفة لأطول فترة ممكنة، بل يُسرّع أيضًا عملية تخصيص الملفات ويتجنب التجزئة، لأن مساحة القرص غير المُخصصة مسبقًا تكون دائمًا غير مُجزأة. يُحقق DOS ذلك من خلال الاحتفاظ بمؤشر إلى آخر كتلة مُخصصة على كل وحدة تخزين مُثبتة في الذاكرة، ويبدأ البحث عن مساحة حرة من هذا الموقع صعودًا بدلًا من بداية جدول تخصيص الملفات (FAT)، كما كان يفعل DOS 2.x. [ 13 ] إذا تم الوصول إلى نهاية جدول تخصيص الملفات، فسيعود النظام إلى بدايته لمواصلة البحث حتى يتم العثور على مساحة حرة أو الوصول إلى الموقع الأصلي مرة أخرى دون العثور على مساحة حرة. [ 13 ] تُهيأ هذه المؤشرات لتشير إلى بداية جداول تخصيص الملفات (FATs) بعد بدء التشغيل، [ 13 ] ولكن في وحدات تخزين FAT32، يحاول نظام التشغيل DOS 7.1 والإصدارات الأحدث استرداد آخر موضع من قطاع معلومات نظام الملفات . مع ذلك، تتعطل هذه الآلية إذا قام تطبيق ما بحذف الملفات المؤقتة وإعادة إنشائها بشكل متكرر، حيث سيحاول نظام التشغيل حينها الحفاظ على سلامة البيانات الفارغة، مما يؤدي في النهاية إلى مزيد من التجزئة. [ 13 ] في بعض إصدارات DOS، يمكن استخدام دالة API خاصة لإنشاء ملفات مؤقتة لتجنب هذه المشكلة.
بالإضافة إلى ذلك، سيتم تمييز إدخالات الدليل للملفات المحذوفة بالرمز 0xE5 بدءًا من نظام التشغيل DOS 3.0. [ 42 ] سيبدأ نظام التشغيل DOS 5.0 والإصدارات الأحدث في إعادة استخدام هذه الإدخالات فقط عندما يتم استنفاد إدخالات الدليل غير المستخدمة سابقًا في الجدول، وإلا سيضطر النظام إلى توسيع الجدول نفسه. [ 6 ]
منذ إصدار DOS 3.3، يوفر نظام التشغيل وسائل لتحسين أداء عمليات الملفات من FASTOPENخلال تتبع مواقع الملفات أو المجلدات التي تم فتحها مؤخرًا في قوائم مختلفة (MS-DOS/PC DOS) أو جداول تجزئة (DR-DOS) ، مما يقلل بشكل كبير من أوقات البحث عن الملفات وفتحها. قبل إصدار DOS 5.0، كان يجب توخي الحذر عند استخدام هذه الآليات مع برامج إلغاء تجزئة القرص التي تتجاوز نظام الملفات أو برامج تشغيل القرص.
سيقوم نظام التشغيل Windows NT بتخصيص مساحة القرص للملفات على نظام FAT مسبقًا، مع تحديد مناطق متجاورة كبيرة، ولكن في حالة حدوث عطل، ستظهر الملفات التي كانت قيد الإلحاق أكبر مما كانت عليه عند كتابتها، مع وجود الكثير من البيانات العشوائية في النهاية.
قد تقوم آليات أخرى عالية المستوى بقراءة ومعالجة أجزاء أكبر أو جدول تخصيص الملفات (FAT) بالكامل عند بدء التشغيل أو عند الطلب، وبناء تمثيلات شجرية ديناميكية في الذاكرة لهياكل ملفات وحدة التخزين، تختلف عن الهياكل الموجودة على القرص. [ 67 ] [ 68 ] قد يشغل هذا، في وحدات التخزين ذات العديد من المجموعات الفارغة، ذاكرة أقل من صورة جدول تخصيص الملفات نفسه. على وجه الخصوص، في وحدات التخزين المجزأة أو الممتلئة للغاية، تصبح عمليات البحث أسرع بكثير من عمليات المسح الخطي لجدول تخصيص الملفات الفعلي، حتى لو تم تخزين صورة لجدول تخصيص الملفات في الذاكرة. كذلك، من خلال العمل على المستوى المنطقي العالي للملفات وسلاسل المجموعات بدلاً من مستوى القطاع أو المسار، يصبح من الممكن تجنب بعض تجزئة الملفات من الأساس، أو إجراء إلغاء تجزئة الملفات محليًا وإعادة ترتيب إدخالات الدليل بناءً على أسمائها أو أنماط الوصول إليها في الخلفية.
بعض المشاكل المتصورة المتعلقة بتجزئة أنظمة ملفات FAT ناتجة أيضًا عن قيود الأداء لبرامج تشغيل أجهزة الكتل الأساسية ، والتي تصبح أكثر وضوحًا كلما قلت الذاكرة المتاحة لتخزين القطاعات مؤقتًا وحظر/إلغاء حظر المسارات:
على الرغم من أن نظام التشغيل DOS أحادي المهام كان يدعم قراءة القطاعات المتعددة وحجب/إلغاء حجب المسارات، إلا أن نظام التشغيل وبنية القرص الصلب التقليدية للحاسوب الشخصي ( طلب إدخال/إخراج واحد معلق فقط في كل مرة ، وبدون عمليات نقل DMA ) لم تتضمن في الأصل آليات لتخفيف التجزئة عن طريق جلب البيانات التالية مسبقًا بشكل غير متزامن أثناء معالجة التطبيق للأجزاء السابقة. وقد أُتيحت هذه الميزات لاحقًا. كما وفرت إصدارات DOS اللاحقة دعمًا مدمجًا لتخزين القطاعات المؤقت، وجاءت مزودة ببرامج تخزين مؤقت للقرص قابلة للتحميل ديناميكيًا تعمل على مستوى القطاع المادي أو المنطقي، وغالبًا ما تستخدم ذاكرة EMS أو XMS ، وتوفر أحيانًا استراتيجيات تخزين مؤقت تكيفية ، أو حتى تعمل في وضع محمي من خلال DPMS أو Cloaking لزيادة الأداء عن طريق الوصول المباشر إلى البيانات المخزنة مؤقتًا في الذاكرة الخطية بدلًا من واجهات برمجة تطبيقات DOS التقليدية.
لم يتم تمكين التخزين المؤقت للكتابة المؤجلة بشكل افتراضي في برامج مايكروسوفت (إن وجدت) نظرًا لمشكلة فقدان البيانات في حالة انقطاع التيار الكهربائي أو التعطل، وهو ما يسهل حدوثه بسبب عدم وجود حماية للأجهزة بين التطبيقات والنظام.
أسماء الملفات الطويلة بتنسيق VFAT

تُخزَّن أسماء الملفات الطويلة (LFNs) في نظام ملفات FAT باستخدام حيلة: إضافة إدخالات إضافية إلى الدليل قبل إدخال الملف العادي. تُعلَّم هذه الإدخالات الإضافية بخصائص "اسم وحدة التخزين" و"النظام" و"مخفي" و"للقراءة فقط" (مما ينتج عنه 0x0F )، وهو مزيج غير متوقع في بيئة MS-DOS، وبالتالي تتجاهله برامج MS-DOS والأدوات المساعدة الخارجية. والجدير بالذكر أن الدليل الذي يحتوي على أسماء وحدات التخزين فقط يُعتبر فارغًا ويُسمح بحذفه؛ ويحدث هذا الوضع عند حذف ملفات بأسماء طويلة من نظام DOS. تشبه هذه الطريقة إلى حد كبير طريقة DELWATCH التي تستخدم خاصية وحدة التخزين لإخفاء الملفات التي لم تُحذف بعد، وذلك لإمكانية استعادتها لاحقًا، بدءًا من DR DOS 6.0 (1991) والإصدارات الأحدث. كما أنها تشبه طريقة نوقشت علنًا لتخزين أسماء الملفات الطويلة على أجهزة أتاري ونظام لينكس في عام 1992. [ 69 ] [ 70 ]
نظرًا لأن الإصدارات القديمة من نظام التشغيل DOS كانت تخلط بين أسماء LFN في الدليل الجذر واسم وحدة التخزين، فقد صُمم نظام VFAT لإنشاء اسم وحدة تخزين فارغ في الدليل الجذر قبل إضافة أي إدخالات لأسماء LFN (إذا لم يكن اسم وحدة التخزين موجودًا بالفعل). [ ملاحظة 14 ]
يمكن أن يحتوي كل إدخال وهمي على ما يصل إلى 13 حرفًا من نوع UCS-2 (26 بايتًا) باستخدام حقول في السجل تحتوي على حجم الملف أو الطوابع الزمنية (ولكن ليس حقل المجموعة البادئة، ولضمان التوافق مع أدوات القرص، يتم تعيين حقل المجموعة البادئة إلى القيمة 0. راجع 8.3 اسم الملف لمزيد من التوضيحات). يمكن ربط ما يصل إلى 20 من هذه الإدخالات المكونة من 13 حرفًا، مما يدعم طولًا أقصى يبلغ 255 حرفًا من نوع UCS-2. [ 55 ]
إذا لم يكن موضع الحرف الأخير من اسم الملف الكبير (LFN) عند حدود مدخل الدليل (13، 26، 39، ...)، فسيتم إضافة مُنهي 0x0000 في موضع الحرف التالي. بعد ذلك، إذا لم يكن هذا المُنهي أيضًا عند الحدود، فسيتم ملء مواضع الأحرف المتبقية بـ 0xFFFF . لن يوجد أي مدخل دليل يحتوي على مُنهي وحيد.
تستخدم إدخالات LFN التنسيق التالي:
| إزاحة البايت | الحجم (بايت) | وصف |
|---|---|---|
| 0x00 | 1 | رقم التسلسل (البت 6: آخر إدخال منطقي، أول إدخال فعلي LFN، البت 5: 0؛ البتات 4-0: الرقم 0x01 .. 0x14 ( 0x1F )، الإدخال المحذوف: 0xE5 ) |
| 0x01 | 10 | أحرف الاسم (خمسة أحرف UCS-2 ) |
| 0x0B | 1 | السمات (دائماً 0x0F ) |
| 0x0C | 1 | النوع (دائمًا 0x00 لـ VFAT LFN، والقيم الأخرى محجوزة للاستخدام المستقبلي؛ للاطلاع على الاستخدام الخاص للبتات 4 و3 في SFNs، انظر أعلاه) |
| 0x0D | 1 | مجموع التحقق من اسم ملف DOS |
| 0x0E | 12 | أحرف الاسم (ستة أحرف UCS-2 ) |
| 0x1A | 2 | المجموعة الأولى (دائماً 0x0000 ) |
| 0x1C | 4 | اسم الأحرف ( حرفان من UCS-2 ) |
إذا تطلّب تمثيل اسم ملف عدة مدخلات LFN، فإن المدخل الذي يُمثّل نهاية اسم الملف يأتي أولًا. يُضبط رقم تسلسل هذا المدخل على البت السادس ( 0x40 ) للدلالة على أنه آخر مدخل LFN منطقي، وله أعلى رقم تسلسل. يتناقص رقم التسلسل في المدخلات اللاحقة. المدخل الذي يُمثّل بداية اسم الملف له رقم تسلسل 1. تُستخدم القيمة 0xE5 للإشارة إلى حذف المدخل.
في وحدات التخزين FAT12 و FAT16، يمكن استخدام اختبار القيم عند 0x1A لتكون صفرًا وعند 0x1C لتكون غير صفرية للتمييز بين VFAT LFNs وملفات الحذف المعلقة في DELWATCH.
على سبيل المثال، سيتم تنسيق اسم ملف مثل "ملف ذو اسم ملف طويل جدًا.ext" على النحو التالي:
| رقم التسلسل | بيانات الإدخال |
|---|---|
| 0x03 | "me.ext" |
| 0x02 | "y long filena" |
| 0x01 | "ملف مع الإصدار" |
| ??? | مدخل عادي 8.3 |
تتيح قيمة التحقق أيضًا التأكد من تطابق اسم الملف الطويل مع اسم الإصدار 8.3؛ إذ قد يحدث عدم تطابق في حال حذف ملف وإعادة إنشائه باستخدام نظام DOS في نفس موقع الدليل. تُحسب قيمة التحقق باستخدام الخوارزمية الموضحة أدناه. (يشير pFCBName إلى اسم الملف كما يظهر في مدخل الدليل العادي، أي أن الأحرف الثمانية الأولى هي اسم الملف، والأحرف الثلاثة الأخيرة هي الامتداد. النقطة مُضمنة. تُملأ أي مسافة غير مستخدمة في اسم الملف بمسافات (ASCII 0x20 ). على سبيل المثال، سيكون اسم الملف "Readme.txt" هو " ".)README␠␠TXT
unsigned char lfn_checksum ( const unsigned char * pFCBName ) { int i ; unsigned char sum = 0 ;for ( i = 11 ; i ; i -- ) sum = (( sum & 1 ) << 7 ) + ( sum >> 1 ) + * pFCBName ++ ;أعد المجموع ؛ }إذا كان اسم الملف يحتوي على أحرف صغيرة فقط، أو كان مزيجًا من اسم أساسي بأحرف صغيرة وامتداد بأحرف كبيرة ، أو العكس؛ ولم يكن يحتوي على أي رموز خاصة، وكان ضمن حدود الإصدار 8.3، فلن يتم إنشاء مدخل VFAT على نظام التشغيل Windows NT والإصدارات الأحدث من Windows مثل XP. بدلاً من ذلك، يتم استخدام بتّين في البايت 0x0C من مدخل الدليل للإشارة إلى أن اسم الملف يجب اعتباره بأحرف صغيرة كليًا أو جزئيًا. تحديدًا، يشير البت 4 إلى الامتداد بأحرف صغيرة ، بينما يشير البت 3 إلى الاسم الأساسي بأحرف صغيرة ، مما يسمح بتركيبات مثل " " أو " " ولكن ليس " ". تدعم أنظمة تشغيل قليلة أخرى هذه الخاصية. يُسبب هذا مشكلة في التوافق مع الإصدارات القديمة من Windows (Windows 95 / 98 / 98 SE / ME) التي تتعامل مع أسماء الملفات بأحرف كبيرة فقط إذا تم استخدام هذا الامتداد، وبالتالي قد يتغير اسم الملف عند نقله بين أنظمة التشغيل، كما هو الحال على ذاكرة فلاش USB. ستتعرف الإصدارات الحالية من لينكس 2.6.x على هذا الامتداد عند القراءة (المصدر: نواة 2.6.18 و )؛ ويحدد خيار التركيب ما إذا كانت هذه الميزة ستُستخدم عند الكتابة. [ 71 ]example.TXTHELLO.txtMixed.txt/fs/fat/dir.cfs/vfat/namei.cshortname
انظر أيضاً
ملحوظات
- لضمان أقصى توافق مع أنظمة التشغيل MS-DOS/PC DOS و DR -DOS، يجب على أنظمة التشغيل التي تحاول تحديد تنسيق القرص المرن اختبار جميع تسلسلات رموز العمليات المذكورة عند إزاحة القطاع 0x000، بالإضافة إلى البحث عن بايت وصف وسائط صالح عند إزاحة القطاع 0x015 قبل افتراض وجود BPB . على الرغم من أن أقراص PCDOS1.0 المرنة لا تحتوي على BPB، إلا أنها تبدأ بالقيمة 0xEB ، ولكنها لا تُظهر القيمة 0x90 عند الإزاحة 0x002 . حتى أن أقراص PCDOS1.10 المرنة تبدأ بالقيمة 0xEB 0x?? 0x90 ، على الرغم من أنها لا تزال لا تحتوي على BPB. في كلتا الحالتين، سيفشلاختبار وجود وصف وسائط صالح عند الإزاحة 0x015 (القيمة 0x00 بدلاً من قيم وصف الوسائط الصالحة 0xF0 وما فوق). إذا فشلت هذه الاختبارات، يتحقق نظام التشغيل DOS من وجود بايت وصف الوسائط في البايت الأول من أول FAT في القطاع الذي يلي قطاع التمهيد (القطاع المنطقي 1 على أقراص FAT12/FAT16 المرنة).
- ١ ٢ ٣ ٤ ٥ التوقيع عند الإزاحة ٠x١FE في قطاعات الإقلاع هو ٠x٥٥ ٠xAA ، أي ٠x٥٥ عند الإزاحة ٠x١FE و ٠xAA عند الإزاحة ٠x١FF . بما أنه يجب افتراض تمثيل little-endian في سياق أجهزة IBM PC المتوافقة، يمكن كتابة هذا ككلمة ١٦ بت ٠xAA٥٥ في برامج معالجات x٨٦ (لاحظ تبديل الترتيب)، بينما يجب كتابته كـ ٠x٥٥AA في برامج معمارية وحدة المعالجة المركزية الأخرى التي تستخدم تمثيل big-endian . نظرًا لخلط هذا الأمر عدة مرات في الكتب وحتى في وثائق مايكروسوفت المرجعية الأصلية،تستخدم هذه المقالة التمثيل القائم على الإزاحة على مستوى البايت على القرص لتجنب أي سوء فهم محتمل.
- ١ ٢ ٣ يحتوي إدخال مجموع التحقق في قطاعات إقلاع أتاري على قيمة المحاذاة، وليس القيمة السحرية نفسها. القيمة السحرية 0x1234 غير مخزنة في أي مكان على القرص. على عكسمعالجات Intel x86 ، تستخدم معالجات Motorola 680x0 المستخدمة في أجهزة أتاري تمثيلًا للذاكرة بنظام big-endian ، وبالتالي يجب افتراض هذا التمثيل عند حساب مجموع التحقق. ونتيجة لذلك، بالنسبة لرمز التحقق من مجموع التحقق الذي يعمل على أجهزة x86، يجب تبديل أزواج البايتات قبل عملية الجمع ذات 16 بت.
- يتم تخزينالبايتات ↑ عند إزاحة القطاع من 0x00B إلى 0x017 منذ DOS 2.0، ولكن لا يتم استخدامها دائمًا قبل DOS 3.2، ويتم استخدام القيم عند 0x018 إلى 0x01B منذ DOS 3.0.
- ↑ يمكن لـ DR-DOS الإقلاع من وسائط FAT12/FAT16 ذات القطاعات المنطقية بأحجام قطاعات منطقية تصل إلى 1024 بايت.
- ١ ٢ تُعيد دوال نظام التشغيل DOS التالية قيم السجلات التالية: INT 21h/AH=2Ah "الحصول على تاريخ النظام" تُعيد القيم التالية: CX = السنة ( 1980 .. 2099 )، DH = الشهر (1..12)، DL = اليوم (1..31). INT 21h/AH=2Ch "الحصول على وقت النظام" تُعيد القيم التالية: CH = الساعة (0..23)، CL = الدقيقة (0..59)، DH = الثانية (0..59)، DL = جزء من مئة من الثانية (0..99).
- لوحظ أن نظام التشغيل ويندوز إكس بي يُنشئ أقراصًا هجينة عند إعادة تهيئة أقراص ZIP-100 المُهيأة بنظام FAT16B إلى نظام FAT32. كانت وحدات التخزين الناتجة بنظام FAT32، ولكنها لا تزال تستخدم ملف EBPB الخاص بنظام FAT16B. (من غير الواضح كيف يُحدد ويندوز موقع الدليل الجذر على وحدات تخزين FAT32، إذا تم استخدام ملف EBPB الخاص بنظام FAT16 فقط).
- ١ ٢ من الأدوات المساعدة التي توفر خيار تحديد قيمة التعبئة المطلوبة للأقراص الصلبة، أداة FDISK R2.31 من DR-DOS مع مُعامل المسح الاختياري
/W:246. على عكس أدوات FDISK الأخرى ، فإن DR-DOS FDISK ليست مجرد أداة لتقسيم الأقراص، بل يمكنها أيضًا تهيئة الأقسام المُنشأة حديثًا بنظام FAT12 أو FAT16 أو FAT32 . هذا يقلل من خطر تهيئة وحدات تخزين خاطئة عن طريق الخطأ. - ↑ لدعم تعايش نظام DR-DOS مع نظام PC DOS وإمكانية تثبيت عدة نسخ متوازية من DR-DOS،
IBMBIO␠␠COMيمكن تغيير امتداد اسم ملف الإقلاع الافتراضي باستخدامSYS /DR:extالخيار، حيث يمثل ext الامتداد الجديد. ومن أسماء ملفات الإقلاع الأخرى المحتملة لنظام DR-DOS في حالات خاصة: "DRBIOS␠␠SYS، "DRDOS␠␠␠SYS، "IO␠␠␠␠␠␠SYS،JO␠␠␠␠␠␠SYS". - ↑ إذا استمر مسح علامة إيقاف التشغيل غير السليم لوحدة التخزين عند بدء التشغيل، فهذا يعني أن وحدة التخزين لم تُفصل بشكل صحيح. سيؤدي هذا، على سبيل المثال، إلى قيام نظام التشغيل Windows 98 (WIN.COM) بتشغيل أداة SCANDISK للتحقق من أخطاء نظام الملفات المنطقية المحتملة وإصلاحها. في حال مسح علامة القطاع التالف، سيتم إجراء فحص سطحي للقرص أيضًا. يمكن تعطيل هذه الميزة بتعيين AUTOSCAN=0 في قسم [OPTIONS] في ملف MSDOS.SYS .
- 1 2 3 4 انظر الروابط الأخرى للاطلاع على الاحتياطات الخاصة المتعلقة بحدوث قيمة المجموعة 0xFF0 على وحدات تخزين FAT12 تحت MS-DOS/PC DOS 3.3 والإصدارات الأحدث.
- 1 2 دعمت بعض إصدارات برنامج FORMAT منذ MS-DOS 1.25 و PC DOS 2.0 خيارًا
/O(للإصدارات القديمة ) لملء البايت الأول من جميع إدخالات الدليل بالقيمة 0xE5 بدلًا من استخدام علامة النهاية 0x00 . وبذلك، ظل الوصول إلى وحدة التخزين ممكنًا في PC DOS 1.0 - 1.1 ، بينما استغرقت عملية التهيئة وقتًا أطول نوعًا ما، ولم تتمكن الإصدارات الأحدث من DOS من الاستفادة من التسارع الكبير الناتج عن استخدام علامة النهاية 0x00 . - ↑ هذا هو السبب في أن 0xE5 كان له معنى خاص في إدخالات الدليل.
- لتجنب سوء تفسير تسميات وحدات التخزين الدليلية التي تحتوي على إدخالات VFAT LFN من قِبل أنظمة التشغيل غير المتوافقة مع VFAT، من المعروف أن أدوات DR-DOS 7.07 FDISK وFORMAT تكتب تسميات وهمية " " لوحدات التخزين الدليلية إذا لم يُدخل المستخدم تسمية وحدة تخزين. سيعيد نظام التشغيل افتراضيًا نفس السلسلة إذا لم يتم العثور على تسمية وحدة تخزين دليلية في جذر وحدة التخزين، ولكن بدون وجود تسمية وحدة تخزين حقيقية مخزنة كأول إدخال (بعد إدخالات الدليل)، قد تلتقط أنظمة التشغيل القديمة إدخالات VFAT LFN بشكل خاطئ.
NO␠NAME␠␠␠␠ - ↑ يجب أن يكون لنوع سمة توزيع نظام التشغيل IBM 4680 ونظام التشغيل 4690 قيمة بت على القرص تساوي 0 حيث تعود الملفات إلى هذا النوع عندما تُفقد السمات عن طريق الخطأ.
مراجع
- ↑ "أنظمة الملفات" . technet.microsoft.com . مايكروسوفت تك نت. 2001. مؤرشف من الأصل بتاريخ 12 أغسطس 2011. تم الاطلاع عليه بتاريخ 31 يوليو 2011 .
- 1 2 (2006-11-15). ملف CONFIG.TXT الخاص بقرص Windows 95 المضغوط ، من إنتاج مايكروسوفت. رابط قديم مؤرشف بتاريخ 2013-01-28 على archive.today. المقالة رقم 135481، الإصدار: 1.1، تاريخ الاسترجاع: 2011-12-22: "يحدد هذا الخيار لكل قرص صلب ما إذا كان سيتم تسجيل تاريخ آخر وصول إلى الملفات. يتم تعطيل تواريخ آخر وصول لجميع محركات الأقراص عند بدء تشغيل الكمبيوتر في الوضع الآمن، ولا يتم الاحتفاظ بها لأقراص المرنة افتراضيًا. الصيغة:
ACCDATE=drive1+|- [drive2+|-]..." - ↑ بهات، دبليو إيه (2010). "مراجعة بنية بيانات FAT لنظام ملفات FAT32". S2CID 58178285 .
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 "مواصفات نظام ملفات FAT32 لمبادرة البرامج الثابتة القابلة للتوسيع من مايكروسوفت، FAT: نظرة عامة على تنسيق القرص" . مايكروسوفت . 2000-12-06. مؤرشف من الأصل في 2021-07-23 . تم الاسترجاع في 2011-07-03 .
- 1 2 3 4 هاف، ويلفريد؛ ميدل ، فرانك (نوفمبر 1987). "البيانات على Scheiben – File- und Diskettenstrukturen unter CP/M, MSDOS und TOS: Dateiverwaltung unter TOS". c't - مجلة لتقنية الكمبيوتر . ج' كارتي (في المانيا). المجلد. 1987، لا. 11. شركة Verlag Heinz Heise GmbH & Co. KG . ص 241 – 246 [246]. ردمك 0724-8679 .
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 تشابل، جيف (يناير 1994). شولمان، أندرو؛ بيدرسن، أموريت (محرران). أساسيات نظام التشغيل DOS . سلسلة أندرو شولمان للبرمجة (الطبعة الأولى، الإصدار الأول). شركة أديسون ويسلي للنشر . ISBN 978-0-201-60835-9.(xxvi+738+iv صفحات، قرص مرن 3.5 بوصة)) تصحيحات:
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Microsoft MS-DOS 3.1 Programmierhandbuch in englischer Sprache [ الدليل المرجعي لمبرمج Microsoft MS-DOS 3.1 باللغة الإنجليزية ] . ميونيخ: Markt & Technik Verlag (نشرت عام 1986). 1984. ردمك 3-89090-368-18411-310-02، 036-014-012.
فيما يتعلق بتعليمات القفز في بداية قطاع الإقلاع: "حدد ما إذا كان البايت الأول من قطاع الإقلاع هو E9H أو EBIT (البايت الأول من قفزة NEAR ثلاثية البايت أو قفزة قصيرة ثنائية البايت) أو EBH (البايت الأول من قفزة ثنائية البايت متبوعة بـ NOP). إذا كان الأمر كذلك، فإن BPB موجود بدءًا من الإزاحة 3."
(ملاحظة: يحتوي هذا الكتاب على العديد من الأخطاء.) - 1 2 سيدوري، دانيال ب. (1981). قطاع الإقلاع لنظام التشغيل DOS على حاسوب IBM الشخصي (الإصدار 1.00 ). مؤرشف من الأصل بتاريخ 21-05-2014 . تم استرجاعه بتاريخ 02-08-2005 – عبر thestarman.narod.ru.
- 1 2 سيدوري، دانيال ب. (1982). قطاع الإقلاع لنظام التشغيل DOS لأجهزة الكمبيوتر الشخصية من IBM (الإصدار 1.10 ). مؤرشف من الأصل بتاريخ 21-05-2014 . تم استرجاعه بتاريخ 29-07-2005 – عبر thestarman.narod.ru. ).
- 1 2 Caldera OpenDOS Machine Readable Source Kit 7.01 . Caldera. 1997.يُظهر ملف DISK.ASM الموجود في مجموعة المصادر القابلة للقراءة آليًا أن DR-DOS يجري اختبارات على القيمة 0x69 أيضًا.
- ↑ بول، ماتياس ر. (20 فبراير 2002). "الحاجة إلى نظام DOS 6.22 (ليس إصدار OEM)" . مجموعة الأخبار : alt.msdos.programmer . تاريخ الاسترجاع: 14 أكتوبر 2006 .
{{cite newsgroup}}: CS1 maint: deprecated archiveal service ( link ) - ↑ باس، والي (14 فبراير 1994). "حجم الكتلة" . مجموعة الأخبار : comp.os.msdos.programmer . تم الاسترجاع في 14 أكتوبر 2006 .
{{cite newsgroup}}: CS1 maint: deprecated archiveal service ( link ) - 1 2 3 4 5 6 7 8 ويليامز، ديف (1992). المرجع التقني للمبرمج لنظام التشغيل MSDOS وجهاز IBM PC . DOSREF، إصدار تجريبي. ISBN 1-878830-02-3أُرشف من المصدر الأصلي بتاريخ 20 مايو 2014. تم الاطلاع عليه بتاريخ 8 يناير 2012 – عبر موقع o3one.org.يذكر المؤلف أن نظام التشغيل DOS 4.0 يتحقق من ملصق الشركة المصنعة الأصلية، لكنه ينفي أن نظام التشغيل DOS 3.2 يتحقق منه أيضًا (على الرغم من أنه يفعل ذلك).
- ↑ بول، ماتياس ر. (25-08-2004). "NOVOLTRK.REG" . drdos.org. مؤرشف من الأصل بتاريخ 04-03-2016 . تم الاطلاع عليه بتاريخ 17-12-2011 – عبر ibiblio.org.اطلع على أرشيف آخر هنا
- 1 2 "استكشاف أخطاء الأقراص وأنظمة الملفات وإصلاحها" . technet.microsoft.com . مايكروسوفت تك نت . 2005-11-05. مؤرشف من الأصل في 2014-06-07 . تم الاطلاع عليه في 2014-06-15 .
- ↑ دليل مرجعي تقني لأجهزة الكمبيوتر الشخصية من IBM . IBM. 1983.يتضمن قائمة كاملة بشفرة المصدر ROM BIOS لجهاز IBM PC الأصلي.
- 1 2 3 4 هانز-ديتر يانكوفسكي، ديتمار رابيتش؛ ريشكي، جوليان ف. (1992). أتاري بروفيبوتش ST-STE-TT (الطبعة الرابعة ). الدفعة الثانية عشرة. سايبكس. رقم ISBN 978-3-88745-888-1.
- ↑ "الانتقال إلى محركات الأقراص الصلبة ذات القطاعات 4K بتنسيق متقدم" (ملف PDF) . seagate.com . شركة سيجيت تكنولوجيز. 2010. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 2011-09-02 . تم الاطلاع عليه بتاريخ 2026-01-12 .
- 1 2 3 4 براون، رالف د. (29-12-2002). "قائمة مقاطعات x86" . مؤرشف من الأصل في 16-06-2016 . تم الاسترجاع في 14-10-2011 .
- 1 2 3 4 دي بوين بولارد، جوناثان (2010) [2006]. "كل ما يتعلق بكتل معلمات BIOS" . إجابات شائعة . مؤرشف من الأصل بتاريخ 26-08-2016 . تم الاسترجاع بتاريخ 02-06-2014 .
- 1 2 3 مرجع مبرمج مايكروسوفت إم إس-دوس: الإصدار 5.0 . مطبعة مايكروسوفت. 1991. ISBN 1-55615-329-5.
- 1 2 3 4 5 6 7 8 9 10 11 "تنسيقات الأقراص المرنة القياسية التي يدعمها نظام MS-DOS" . مساعدة ودعم مايكروسوفت. 12 مايو 2003. مؤرشف من الأصل في 9 يناير 2015. تم الاطلاع عليه في 11 سبتمبر 2012 .
- 1 2 3 مرجع المبرمج لنظام التشغيل MS-DOS 3.3 . مايكروسوفت. يوليو 1987.
- 1 2 3 4 5 6 7 8 9 10 "بنية وحدة التخزين والملفات في خراطيش الأقراص لتبادل المعلومات" . المعيار ECMA-107 ( الطبعة الثانية). ECMA . يونيو 1995. مؤرشف من الأصل بتاريخ 7 أكتوبر 2018. تم الاطلاع عليه بتاريخ 30 يوليو 2011 .
{{cite web}}: صيانة CS1: التاريخ والسنة ( رابط ) - 1 2 3 4 5 6 7 8 9 10 "تكنولوجيا المعلومات - بنية حجم وملفات خراطيش الأقراص لتبادل المعلومات" (كتالوج) . ISO/IEC 9293:1994 . ISO . 1994. مؤرشف من الأصل بتاريخ 17 يناير 2012. تم الاطلاع عليه بتاريخ 6 يناير 2012 .
- 1 2 3 4 5 6 7 8 9 10 "معالجة المعلومات - بنية وحدة التخزين والملفات في خراطيش الأقراص المرنة لتبادل المعلومات" . ISO 9293:1987 . كتالوج ISO. 1987. مؤرشف من الأصل بتاريخ 17 يناير 2012. تم الاطلاع عليه بتاريخ 6 يناير 2012 .
- 1 2 3 براور، أندرياس (2002-09-20). "نظام ملفات FAT" . مؤرشف من الأصل بتاريخ 2011-10-06 . تم الاطلاع عليه بتاريخ 2011-10-16 .
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 باترسون، تيم (19 ديسمبر 2013) [1983]. "Microsoft DOS الإصدار 1.1 والإصدار 2.0: /msdos/v20source/SKELIO.TXT، /msdos/v20source/HRDDRV.ASM" . computerhistory.org . متحف تاريخ الحاسوب، مايكروسوفت. مؤرشف من الأصل في 14 أغسطس 2019. تم الاطلاع عليه في 25 مارس 2014 .بينما يدعي الناشرون أن هذا سيكون MS-DOS 1.1 و 2.0، إلا أنه في الواقع SCP MS-DOS 1.25 ومزيج من Altos MS-DOS 2.11 و TeleVideo PC DOS 2.11.
- 1 2 3 4 5 6 7 8 9 10 زبيكوفسكي، مارك ؛ ألين، بول ؛ بالمر، ستيف ؛ وآخرون . (1988). "المستشارون التقنيون". موسوعة MS-DOS: الإصدارات من 1.0 إلى 3.2 . بقلم دنكان، راي؛ بوستويك، ستيف؛ بورغوين، كيث؛ وآخرون . ( طبعة منقحة بالكامل). ريدموند، واشنطن، الولايات المتحدة الأمريكية: مطبعة مايكروسوفت . ISBN 1-55615-049-0LCCN 87-21452 . OCLC 16581341 . مؤرشف من الأصل بتاريخ 14-10-2018. (ملاحظة: نُشرت هذه الطبعة في عام 1988 بعد إعادة صياغة شاملة للطبعة الأولى المسحوبة عام 1986 من قبل فريق مختلف من المؤلفين.)
- 1 2 "شرح مفصل لقطاع الإقلاع FAT" . support.microsoft.com . قاعدة معارف مايكروسوفت. 2003-12-06. مؤرشف من الأصل في 2011-11-28 . تم الاطلاع عليه في 2011-10-16 .
- 1 2 3 لاي، روبرت س.؛ مجموعة وايت (1987). كتابة برامج تشغيل أجهزة MS-DOS ( الطبعة الثانية). أديسون ويسلي. ISBN 0-201-60837-5.
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 باترسون، تيم (19 ديسمبر 2013) [1983]. "Microsoft DOS الإصدار 1.1 والإصدار 2.0: /msdos/v20source/DEVDRIV.txt" . computerhistory.org . متحف تاريخ الحاسوب، مايكروسوفت. مؤرشف من الأصل في 14 أغسطس 2019. تم الاسترجاع في 25 مارس 2014 .بينما يدعي الناشرون أن هذا سيكون MS-DOS 1.1 و 2.0، إلا أنه في الواقع SCP MS-DOS 1.25 ومزيج من Altos MS-DOS 2.11 و TeleVideo PC DOS 2.11.
- 1 2 3 4 5 باترسون، تيم (1983). "نظرة متعمقة على نظام التشغيل MS-DOS" . بايت . مؤرشف من الأصل بتاريخ 20 يوليو 2011. تم الاطلاع عليه بتاريخ 18 يوليو 2011 عبر patersontech.com.
يبدأ الترقيم من 2؛ الرقمان الأولان، 0 و1، محجوزان.
- 1 2 3 4 PORT-DOS - دليل المستخدم لبرنامج Apricot Portable (ملف PDF) . المملكة المتحدة: أدلة المستخدم. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 22-05-2013 . تم الاطلاع عليه بتاريخ 12-01-2026 – عبر actapricot.org.
- 1 2 3 4 5 إليوت، جون سي. (1998). تنسيقات أقراص DOSPLUS . مؤرشف من الأصل بتاريخ 2013-06-07 . تم الاسترجاع بتاريخ 2026-01-12 – عبر seasip.demon.co.uk.
- ١ ٢ ٣ ٤ دليل بي بي سي الرئيسي ٥١٢. صفحات كمبيوتر بي بي سي من موقع Yellow Pig. مؤرشف من الأصل بتاريخ ٢١ مايو ٢٠١٤. تم الاطلاع عليه بتاريخ ١٣ يناير ٢٠٢٦ – عبر cowsarenotpurple.co.uk.
- ↑ وثائق تقنية لنظام التشغيل MS-DOS 2.01 من سلسلة Rainbow 100. المجلد 1 (QV025-GZ). قائمة BIOS لنظام التشغيل Microsoft MS-DOS (AA-X432A-TV)، برنامج تشغيل القرص العالمي، شركة Digital Equipment Corporation. 1983. الصفحات 1-17 .
- ↑ "شرح مفصل لقطاع FAT Boot" . شركة DEW Associates. 2002. مؤرشف من الأصل بتاريخ 26-09-2011 . تم الاطلاع عليه بتاريخ 16-10-2011 .
- ↑ تياجي، تارون (31-10-2004). "حجم المجموعات في أنظمة ملفات FAT وNTFS". استعادة البيانات مع وبدون برمجة . نيودلهي، الهند: كتب غاردنرز. ص 4. ISBN 978-81-7656-922-4أُرشف من المصدر الأصلي بتاريخ 3 ديسمبر 2021. تم الاطلاع عليه بتاريخ 3 ديسمبر 2021 .
- ↑ سيدوري، دانيال ب. (4 ديسمبر 2001). ملاحظات تفصيلية حول "علامة الإغلاق غير النظيف" في نظام التشغيل ويندوز . مؤرشف من الأصل بتاريخ 21 مايو 2014. تم الاطلاع عليه بتاريخ 12 يناير 2026 عبر الموقع الإلكتروني thestarman.narod.ru.
- 1 2 3 4 5 "الفصل 10 - الأقراص وأنظمة الملفات" . مجموعة موارد ويندوز 98. مايكروسوفت تك نت. 1998. مؤرشف من الأصل في 1 مايو 2012. تم الاطلاع عليه في 16 يوليو 2012 عبر technet.microsoft.com.
- 1 2 3 4 شولمان، أندرو؛ براون، رالف د .؛ ماكسي، ديفيد؛ وآخرون (1994) [نوفمبر 1993]. نظام التشغيل DOS غير الموثق: دليل المبرمج لوظائف MS-DOS المحجوزة وهياكل البيانات - موسع ليشمل MS-DOS 6 و Novell DOS وWindows 3.1 ( الطبعة الثانية). ريدينغ، ماساتشوستس: أديسون ويسلي . ص 11. ISBN 0-201-63287-Xتم الاطلاع عليه بتاريخ 12 يناير 2026 .تصويبات (الطبعة الثانية)
- ↑ نورتون، بيتر (1986). داخل جهاز IBM PC، منقح وموسع . برادي. ص 157. ISBN 0-89303-583-1.
- 1 2 3 براور، أندرياس. "نظام الملفات FAT في لينكس" . مؤرشف من الأصل بتاريخ 2014-07-01 . تم الاطلاع عليه بتاريخ 2014-05-20 .
- ↑ بروير، أندرياس (2002-09-20). "FAT" . مؤرشف من الأصل في 2017-12-17 . تم الاسترجاع في 2012-01-11 .
- 1 2 3 "ملحق SCP 86-DOS 1.0" (ملف PDF) . منتجات سياتل للحاسوب. 1981. مؤرشف (ملف PDF) من الأصل بتاريخ 3 أكتوبر 2012. تم الاطلاع عليه بتاريخ 10 مارس 2013 .
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 بول ، ماتياس ر. (1997/07/30) [1994/05/01]. NWDOS-TIPs — نصائح وحيل لتشغيل Novell DOS 7، مع النقر على تفاصيل التفاصيل والأخطاء والحلول البديلة . MPDOSTIP (باللغة الألمانية) (3 ed.). مؤرشفة من الأصلي بتاريخ 2016-11-05 . تم الاسترجاع 2012/01/11 . يُعدّ ملف NWDOSTIP.TXT مرجعًا شاملًا لنظامي التشغيل Novell DOS 7 و OpenDOS 7.01 ، ويتضمن وصفًا للعديد من الميزات والتفاصيل الداخلية غير الموثقة. وهو جزء من مجموعة MPDOSTIP.ZIP الأكبر حجمًا التي احتفظ بها المؤلف حتى عام 2001، والتي تم توزيعها على العديد من المواقع الإلكترونية آنذاك. (يشير الرابط المرفق إلى نسخة أقدم من الملف مُحوّلة إلى صيغة HTML).
- ↑ دليل مستخدم نظام التشغيل 4690، الإصدار 5.2 (ملف PDF) . وثيقة IBM رقم SC30-4134-01. 10 يناير 2008 - عبر موقع ibm.com.
- 1 2 باترسون، تيم (19 ديسمبر 2013) [1983]. "Microsoft DOS الإصدارين 1.1 و2.0: /msdos/v20source/FORMAT.TXT" . متحف تاريخ الحاسوب ، مايكروسوفت. مؤرشف من الأصل في 14 أغسطس 2019. تم الاطلاع عليه في 25 مارس 2014 .بينما يدعي الناشرون أن هذا سيكون MS-DOS 1.1 و 2.0، إلا أنه في الواقع SCP MS-DOS 1.25 ومزيج من Altos MS-DOS 2.11 و TeleVideo PC DOS 2.11 .
- 1 2 شوستيك، لين (24 مارس 2014). "شفرة المصدر المبكرة لنظام التشغيل مايكروسوفت إم إس-دوس" . computerhistory.org . جواهر البرمجيات: سلسلة شفرات المصدر التاريخية لمتحف تاريخ الحاسوب. متحف تاريخ الحاسوب، مايكروسوفت. مؤرشف من الأصل في 10 أغسطس 2019. تم الاسترجاع في 29 مارس 2014 .بينما يدعي الناشرون أن هذا سيكون MS-DOS 1.1 و 2.0، إلا أنه في الواقع SCP MS-DOS 1.25 ومزيج من Altos MS-DOS 2.11 و TeleVideo PC DOS 2.11.
- 1 2 ليفين، روي (25 مارس 2014). "مايكروسوفت تُتيح شفرة المصدر لنظامي MS-DOS وWord لنظام ويندوز للجمهور" . مدونة مايكروسوفت الرسمية . مؤرشفة من الأصل بتاريخ 28 مارس 2014. تم الاطلاع عليها بتاريخ 29 مارس 2014 عبر blogs.technet.com.بينما يدعي الناشرون أن هذا سيكون MS-DOS 1.1 و 2.0، إلا أنه في الواقع SCP MS-DOS 1.25 ومزيج من Altos MS-DOS 2.11 و TeleVideo PC DOS 2.11.
- ↑ "معيار رابطة منتجات الكاميرات والتصوير، CIPA DC-009-Translation-2010، قاعدة تصميم نظام ملفات الكاميرا: DCF الإصدار 2.0" (ملف PDF) . cipa.jp. JEIDA/JEITA/CIPA. 2010. مؤرشف من الأصل (ملف PDF) بتاريخ 30-09-2013 . تم الاطلاع عليه بتاريخ 13-04-2011 .
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Caldera OpenDOS Machine Readable Source Kit 7.01 . Caldera Corp. 1997.يحتوي ملف FDOS.EQU الموجود في مجموعة المصادر القابلة للقراءة آليًا على معادلات لإدخالات الدليل المقابلة.
- ↑ إليوت، جون سي. (1998). تنسيقات أقراص CP/M 4.1 . مؤرشف من الأصل بتاريخ 26-08-2014 . تم الاسترجاع بتاريخ 12-01-2026 – عبر seasip.demon.co.uk.
يسمح CP/M 4.1 (DOS Plus [1.2]) باستخدام نظامي ملفات - CP/M وDOS. لا يمكن للإصدار [...] المرفق مع Amstrad PC1512 التعامل مع أقراص مرنة أكبر من 360 كيلوبايت (CP/M) / 1.2 ميجابايت (DOS)، أو أقسام قرص صلب أكبر من 32 ميجابايت. [...] يمكن أن يكون نظام ملفات DOS إما FAT12 أو FAT16. التنسيق مطابق تمامًا لتنسيق PCDOS 2.11، باستثناء: البايت 0Ch من مدخل الدليل [...] يحتوي على "سمات المستخدم" الأربعة F1'-F4' [...] كلمات المرور بنمط DRDOS غير مدعومة.
- 1 2 vinDaci (1998-01-06). "مواصفات اسم الملف الطويل" . مؤرشف من الأصل في 2001-04-20 . تم الاسترجاع في 2007-03-13 .
- ↑ كيلدر، هينك. "ملف FAT32.TXT لنظام الملفات FAT32.IFS الإصدار 0.74" . شركة ماكارلو. مؤرشف من الأصل بتاريخ 30 مارس 2012. تم الاطلاع عليه بتاريخ 14 يناير 2012 .لا تزال هذه النسخة القديمة من ملف README تناقش القيم السحرية القديمة 0xEA و 0xEC .
- ↑ كيلدر، هينك. "FAT32.TXT لنظام الملفات FAT32.IFS الإصدار 0.9.13" . netlabs.org . مؤرشف من الأصل بتاريخ 25-01-2022.
هذا البايت [...] لا يتم تعديله أثناء تشغيل
نظام التشغيل Windows 95
، ولا بواسطة
SCANDISK
أو
DEFRAG
. [...] إذا قام برنامج آخر بتعيين القيمة إلى
0x00
لملف يحتوي على
EAs،
فلن يتم العثور على هذه EAs باستخدام استدعاءات DosFindFirst/Next فقط. لا تعتمد استدعاءات
نظام التشغيل OS/2
الأخرى لاسترداد EAs (DosQueryPathInfo وDosQueryFileInfo وDosEnumAttribute) على هذا البايت. كما يمكن أن يحدث العكس [...]. [...] في هذه الحالة فقط، سينخفض أداء عمليات فحص الدليل. يتم تصحيح كلتا الحالتين [...] بواسطة
CHKDSK
.
- ↑ "FAT32.IFS Wiki and Sources" . netlabs.org . مؤرشف من الأصل بتاريخ 11-05-2013.
- 1 2 "وثيقة IBM رقم SC30-4137-01" (ملف PDF) . دليل برمجة نظام التشغيل 4690، الإصدار 5.2 . تاريخ 2007-12-06 . تاريخ الاطلاع: 2026-01-12 .
- ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩ ١٠ ١١ ١٢ ١٣ ١٤ سلسلة مراجع مطوري OpenDOS - دليل النظام ودليل المبرمج - دليل المبرمج . شركة كالدرا، أغسطس ١٩٩٧. رقم جزء كالدرا ٢٠٠-DODG-٠٠٣. مؤرشف من الأصل بتاريخ ٢٠١٧-١٠-٠٧ . تم الاسترجاع بتاريخ ٢٠١٤-٠٥-٢٠ .(طُبع في المملكة المتحدة.)
- ↑ إيجر، بوب (28 أكتوبر 2000). تطبيق السمات الموسعة على نظام ملفات FAT . أنظمة تافي. مؤرشف من الأصل في 13 يونيو 2006. تم الاطلاع عليه في 13 يناير 2026 – عبر tavi.co.uk.
- ↑ "معلومات IBM حول سمات توزيع الملفات الفريدة لنظام التشغيل 4690" . الولايات المتحدة: وثيقة IBM رقم R1001487. 30 يوليو 2003. مؤرشفة من الأصل في 21 مايو 2014. تم الاطلاع عليها في 20 مايو 2014.
تُخزَّن أنواع الملفات في قسم "البتات المحجوزة" من بنية دليل ملفات PC-DOS [...] نظام التشغيل 4690 فقط هو الذي يحترم هذه السمات ويحافظ عليها. تتخذ أنظمة التشغيل الأخرى غير 4690 إجراءات مختلفة إذا تم تشغيل هذه البتات [...] عند النسخ من قرص مرن تم إنشاؤه على نظام 4690. [...] سيقوم كل من PC-DOS وWindows 2000 Professional بنسخ الملف دون خطأ وتصفير البتات. نظام التشغيل OS/2 [...] 1.2 [...] سيرفض نسخ الملف ما لم [...] يقوم أولاً بتشغيل الأمر CHKDSK /F على الملف. بعد [...] تشغيل CHKDSK، سيقوم بنسخ الملف وتصفير البتات. [...] عندما [...] نسخ [...] مرة أخرى إلى نظام 4690، [...] سيتم نسخ الملف كملف محلي.
- ↑ "حفظ واستعادة سمات توزيع الملفات في جهاز IBM 4690" . الولايات المتحدة: وثيقة IBM رقم R1000622. 31 أغسطس 2010. مؤرشفة من الأصل في 21 مايو 2014. تم الاطلاع عليها في 20 مايو 2014 .).
- ↑ "قيود نظام ملفات FAT32" . support.microsoft.com . قاعدة معارف مايكروسوفت . 26-03-2007. مؤرشف من الأصل في 15-08-2011 . تم الاطلاع عليه في 21-08-2011 . لا يمكن أن تتجاوز
أحجام
المجموعات 64 كيلوبايت.
- ↑ دانكن، راي (1989). "أهداف التصميم وتنفيذ نظام الملفات عالي الأداء الجديد" . مجلة أنظمة مايكروسوفت. مؤرشف من الأصل بتاريخ 16 يوليو 2011. تم الاطلاع عليه بتاريخ 20 مايو 2014 .[ملاحظة: يحتوي ملف النص هذا على عدد من أخطاء التعرف الضوئي على الحروف؛ على سبيل المثال، "Ray" هو الاسم الصحيح للمؤلف؛ وليس "Roy" كما يظهر في النص.]
- ↑ تشين، ريموند (يوليو 2006). "مايكروسوفت تك نت: تاريخ موجز وغير مكتمل لنظام FAT32" . مجلة مايكروسوفت تك نت. مؤرشف من الأصل بتاريخ 18 نوفمبر 2008. تم الاطلاع عليه بتاريخ 20 مايو 2014 .
- 1 2 بيل، ليس (2 سبتمبر 1996) [1990]. "نظام ملفات عالي الأداء لنظام التشغيل OS/2" . مستشار دعم الكمبيوتر الشخصي . شركة أسوشيتس المحدودة. مؤرشف من الأصل في 1 مارس 2014. تم الاسترجاع في 24 يونيو 2014 .
- 1 2 بريدجز، دان (فبراير 1996). "داخل نظام الملفات عالي الأداء - الجزء 2/6: مقدمة" . Significant Bits، مجموعة مستخدمي أجهزة الكمبيوتر الشخصية في بريسبان . مؤرشف من الأصل في 23 سبتمبر 2015. تم الاسترجاع في 24 يونيو 2014 .
- ↑ ناتورليش! (24-03-1992). "استخراج أسماء ملفات أطول من نظام GEMDOS" . comp.sys.atari.st.tech . مؤرشف من الأصل بتاريخ 24-04-2014 . تم الاطلاع عليه بتاريخ 05-05-2014 .
- ↑ تورفالدز، لينوس (23 ديسمبر 1992). "أسماء الملفات الطويلة" . comp.os.minix. مؤرشف من الأصل بتاريخ 23 أبريل 2014. تم الاطلاع عليه بتاريخ 5 مايو 2014 .
- ↑ "صفحة دليل لينكس: mount(8): تثبيت نظام الملفات" . linux.die.net . مؤرشفة من الأصل بتاريخ 2014-05-05 . تم الاطلاع عليها بتاريخ 2014-05-20 .
روابط خارجية
- ECMA-107 بنية المجلد والملف لخراطيش القرص لتبادل المعلومات ، مطابقة لـ ISO/IEC 9293.
- مواصفات نظام ملفات FAT32 من مبادرة البرامج الثابتة القابلة للتوسيع من مايكروسوفت، FAT: نظرة عامة على تنسيق القرص
- فهم أنظمة ملفات FAT32 (شرح لمطوري البرامج الثابتة المدمجة)
- فهم FAT بما في ذلك الكثير من المعلومات حول LFNs
- شرح مفصل لقطاع التمهيد FAT : مقالة قاعدة معارف مايكروسوفت رقم 140418، نسخة من أرشيف الإنترنت Wayback Machine
- وصف نظام الملفات FAT32 : مقالة قاعدة معارف مايكروسوفت رقم 154997، نسخة منقولة بواسطة أرشيف الإنترنت Wayback Machine
- تطبيق نظام الملفات FAT12/FAT16/FAT32 لأنظمة *nix : يتضمن مكتبات libfat وبرنامج تشغيل نظام الملفات FUSE fusefat
- نظام التشغيل MS-DOS: قيود الدليل والدليل الفرعي : مقالة قاعدة معارف مايكروسوفت رقم 39927، نسخة منقولة بواسطة أرشيف الإنترنت Wayback Machine
- نظرة عامة على أنظمة الملفات FAT وHPFS وNTFS : مقالة قاعدة معارف مايكروسوفت رقم 100108
- حدود حجم الملفات وسعة التخزين لأنظمة ملفات FAT : مايكروسوفت تكنيت، نسخة من أرشيف الإنترنت (Wayback Machine).
- مايكروسوفت تك نت: تاريخ موجز وغير مكتمل لنظام FAT32 بقلم ريموند تشين
- برنامج تهيئة FAT32 ( مؤرشف بتاريخ 21 يوليو 2009 على موقع Wayback Machine) : يسمح بتهيئة وحدات تخزين أكبر من 32 جيجابايت بنظام FAT32 على أنظمة التشغيل Windows 2000 و Windows XP و Windows Vista
- لا يتعرف برنامج Fdisk على الحجم الكامل للأقراص الصلبة التي يزيد حجمها عن 64 جيجابايت : مقالة قاعدة معارف مايكروسوفت رقم 263044، نسخة من أرشيف الإنترنت Wayback Machine . تشرح هذه المقالة عدم القدرة على العمل مع وحدات التخزين الكبيرة جدًا في نظامي التشغيل ويندوز 95/98.
- نظام الملفات FAT32 في نظام التشغيل مايكروسوفت ويندوز إكس بي . نسخة منقولة من مقالة تتضمن ملخصًا لقيود نظام FAT32، والتي لم تعد متوفرة على موقع مايكروسوفت الإلكتروني، وذلك بواسطة أرشيف الإنترنت (Wayback Machine) .
- مخطط مرئي لمحرك أقراص FAT16
- برامج عام 1980
- أنظمة ملفات الحاسوب
- أنظمة ملفات القرص
- تقنية DOS
- مكونات ويندوز
- أنظمة ملفات القرص في ويندوز
- معايير إيكما
- أنظمة الملفات التي يدعمها نواة لينكس
