تصميم نظام الملفات FAT

سمين
المطور(ون)مايكروسوفت ، SCP ، IBM ، كومباك ، ديجيتال ريسيرش ، نوفيل ، كالديرا
الاسم الكاملجدول تخصيص الملفات:
FAT12 (إصدار 12 بت)،
FAT16 (إصدارات 16 بت)،
FAT32 (إصدار 32 بت مع استخدام 28 بت)،
exFAT (إصدارات 64 بت)
قدَّم1977 ( Standalone Disk BASIC-80 )
FAT12: أغسطس 1980 (SCP  QDOS )
FAT16: أغسطس 1984 (IBM  PC DOS 3.0)
FAT16B: نوفمبر 1987 ( Compaq MS-DOS 3.31)
FAT32: أغسطس 1996 ( Windows 95 OSR2 )
exFAT: نوفمبر 2006 ( Windows Embedded CE 6.0 )
معرفات القسمMBR / EBR :
FAT12ea FAT16ea FAT32ea exFATea BDP :0x01
0x040x060x0E
0x0B0x0C
0x07

EBD0A0A2-B9E5-4433­87C0-68B6B72699C7
الهياكل
محتويات الدليلطاولة
تخصيص الملفاتالقائمة المرتبطة
كتل سيئةوسم المجموعة
الحدود
الحد الأقصى لحجم الصوتFAT12: 32  ميجابايت (256  ميجابايت لمجموعات 64  كيلو بايت )
FAT16: 2  جيجا بايت (4  جيجا بايت لمجموعات 64  كيلو بايت )
FAT32: 2  تيرابايت (16  تيرابايت لقطاعات كيلو بايت )
الحد الأقصى لحجم الملف4,294,967,295 بايت (4  جيجابايت - 1) بنظامي FAT16B وFAT32 [1]
الحد الأقصى لعدد الملفاتFAT12: 4,068 لمجموعات كيلوبايت
FAT16: 65,460  لمجموعات 32 كيلوبايت
FAT32: 268,173,300  لمجموعات 32 كيلوبايت
الحد الأقصى لطول اسم الملف8.3 اسم الملف ، أو 255 حرف UCS-2 عند استخدام LFN
سمات
التواريخ المسجلةتاريخ/وقت التعديل، تاريخ/وقت الإنشاء (DOS 7.0 والإصدارات الأحدث فقط)، تاريخ الوصول (متاح فقط مع تمكين ACCDATE )، [2] تاريخ/وقت الحذف (فقط مع DELWATCH 2)
نطاق التاريخ1980-01-01 إلى 2099-12-31 ( 2107-12-31 )
قرار التاريخثانيتان لوقت التعديل الأخير،
و10 مللي ثانية لوقت الإنشاء،
ويوم واحد لتاريخ الوصول،
وثانيتان لوقت الحذف
شوكليس أصليا
صفاتللقراءة فقط، مخفي، نظام، مجلد، دليل، أرشيف

أذونات نظام الملفات
FAT12/FAT16: حقوق الوصول إلى الملفات والدلائل والمجلدات للقراءة والكتابة والتنفيذ والحذف فقط مع DR-DOS و PalmDOS و Novell DOS و OpenDOS و FlexOS و 4680 OS و 4690 OS و Concurrent DOS و Multiuser DOS و System Manager و REAL/32 (حق التنفيذ فقط مع FlexOS و4680 OS و4690 OS؛ كلمات مرور الملفات/الدلائل الفردية ليست مع FlexOS و4680 OS و4690 OS؛ فئات أذونات العالم/المجموعة/المالك فقط مع تحميل أمان متعدد المستخدمين)
FAT32: جزئي، فقط مع DR-DOS وREAL/32 و4690 OS

ضغط شفاف
FAT12/FAT16: لكل وحدة تخزين، SuperStor ، Stacker ، DoubleSpace ، DriveSpace
FAT32: لا

تشفير شفاف
FAT12/FAT16: لكل مجلد فقط مع DR-DOS
FAT32: لا

نظام الملفات FAT هو نظام ملفات يستخدم في أنظمة التشغيل MS-DOS و Windows 9x . [3] ويستمر استخدامه في الأجهزة المحمولة والأنظمة المضمنة ، وبالتالي فهو نظام ملفات مناسب لتبادل البيانات بين أجهزة الكمبيوتر والأجهزة من أي نوع وعمر تقريبًا من عام 1981 حتى الوقت الحاضر.

بناء

يتكون نظام الملفات FAT من أربع مناطق:

مناطق نظام الملفات FAT، والتي تتضمن أربع مناطق رئيسية
منطقة الحجم في القطاعات محتويات ملحوظات
القطاعات المحجوزة (عدد القطاعات المحجوزة) قطاع التمهيد القطاع المحجوز الأول (القطاع المنطقي 0) هو قطاع التمهيد (يسمى أيضًا سجل تمهيد المجلد أو ببساطة VBR ). وهو يتضمن منطقة تسمى كتلة معلمات BIOS ( BPB ) والتي تحتوي على بعض معلومات نظام الملفات الأساسية، وخاصة نوعها ومؤشرات إلى موقع الأقسام الأخرى، وعادةً ما تحتوي على كود محمل التمهيد لنظام التشغيل .

يمكن الوصول إلى المعلومات الهامة من قطاع التمهيد من خلال بنية نظام التشغيل المسماة كتلة معلمات محرك الأقراص ( DPB ) في DOS وOS/2.

يتم الإشارة إلى العدد الإجمالي للقطاعات المحجوزة بواسطة حقل داخل قطاع التمهيد، وعادةً ما يكون 32 على أنظمة الملفات FAT32. [4]

بالنسبة لأنظمة الملفات FAT32، تتضمن القطاعات المحجوزة قطاع معلومات نظام الملفات في القطاع المنطقي 1 وقطاع التمهيد الاحتياطي في القطاع المنطقي 6. وفي حين استمر العديد من البائعين الآخرين في استخدام إعداد قطاع واحد (القطاع المنطقي 0 فقط) لمحمل التمهيد، فقد نما كود قطاع التمهيد الخاص بشركة Microsoft ليشمل القطاعات المنطقية 0 و2 منذ تقديم FAT32، حيث يعتمد القطاع المنطقي 0 على البرامج الفرعية في القطاع المنطقي 2. وتتكون منطقة قطاع التمهيد الاحتياطي من ثلاثة قطاعات منطقية 6 و7 و8 أيضًا. وفي بعض الحالات، تستخدم Microsoft أيضًا القطاع 12 من منطقة القطاعات المحجوزة لمحمل التمهيد الموسع.

قطاع معلومات FS (FAT32 فقط)
قطاعات أكثر حجزًا (اختياري)
منطقة الدهون (عدد FATs) * (القطاعات لكل FAT) جدول تخصيص الملفات رقم 1 يحتوي هذا عادةً على نسختين من جدول تخصيص الملفات من أجل التحقق من التكرار، على الرغم من أنه نادرًا ما يُستخدم، حتى بواسطة أدوات إصلاح القرص. هذه هي خرائط منطقة البيانات، والتي تشير إلى المجموعات التي تستخدمها الملفات والدلائل. في FAT12 وFAT16، تتبع هذه الخرائط القطاعات المحجوزة على الفور. عادةً ما يتم الاحتفاظ بالنسخ الإضافية في مزامنة محكمة عند الكتابة، ولا تُستخدم عند القراءة إلا عند حدوث أخطاء في FAT الأول. تحتوي أول مجموعتين (المجموعة 0 و1) في الخريطة على قيم خاصة.
جدول تخصيص الملفات رقم 2 ... (اختياري)
منطقة الدليل الجذر (عدد الإدخالات الجذرية * 32) / (البايتات لكل قطاع) دليل الجذر (FAT12 وFAT16 فقط) هذا جدول دليل يخزن معلومات حول الملفات والدلائل الموجودة في الدليل الجذر. ويستخدم فقط مع FAT12 وFAT16، ويفرض على الدليل الجذر حجمًا أقصى ثابتًا يتم تخصيصه مسبقًا عند إنشاء هذا المجلد. يخزن FAT32 الدليل الجذر في منطقة البيانات، جنبًا إلى جنب مع الملفات والدلائل الأخرى، مما يسمح له بالنمو دون مثل هذا القيد. وبالتالي، بالنسبة لـ FAT32، تبدأ منطقة البيانات هنا.
منطقة البيانات (عدد المجموعات) * (القطاعات لكل مجموعة) منطقة البيانات (للملفات والدلائل) ... (حتى نهاية القسم أو القرص) هذا هو المكان الذي يتم فيه تخزين بيانات الملف والدليل الفعلية ويشغل معظم القسم. يبدأ FAT32 عادةً جدول الدليل الجذر في المجموعة رقم 2: المجموعة الأولى لمنطقة البيانات.

يستخدم FAT تنسيق النهاية الصغيرة لجميع الإدخالات في الرأس (باستثناء، حيث يتم ذكر ذلك صراحةً، بعض الإدخالات في قطاعات تمهيد Atari ST) وFAT(s). [5] من الممكن تخصيص قطاعات FAT أكثر مما هو ضروري لعدد المجموعات. يمكن عدم استخدام نهاية القطاع الأخير من كل نسخة FAT إذا لم تكن هناك مجموعات مقابلة. يمكن أن يكون العدد الإجمالي للقطاعات (كما هو مذكور في سجل التمهيد) أكبر من عدد القطاعات المستخدمة بواسطة البيانات (المجموعات × القطاعات لكل مجموعة)، وFATs (عدد FATs × القطاعات لكل FAT)، والدليل الجذر (غير متاح لـ FAT32)، والقطاعات المخفية بما في ذلك قطاع التمهيد: سيؤدي هذا إلى قطاعات غير مستخدمة في نهاية المجلد. إذا كان القسم يحتوي على قطاعات أكثر من العدد الإجمالي للقطاعات التي يشغلها نظام الملفات، فسيؤدي ذلك أيضًا إلى قطاعات غير مستخدمة، في نهاية القسم، بعد المجلد.

منطقة القطاعات المحجوزة

قطاع التمهيد

في أجهزة التخزين غير المقسمة ، مثل الأقراص المرنة ، يكون قطاع التمهيد ( VBR ) هو القطاع الأول (القطاع المنطقي 0 بعنوان CHS الفعلي 0/0/1 أو عنوان LBA 0). بالنسبة لأجهزة التخزين المقسمة مثل الأقراص الصلبة، يكون قطاع التمهيد هو القطاع الأول في القسم، كما هو محدد في جدول أقسام الجهاز.

البنية المشتركة لقطاع التمهيد المستخدم بواسطة معظم إصدارات FAT لأجهزة X86 المتوافقة مع IBM منذ DOS 2.0
إزاحة البايت الطول (بايت) محتويات
0x000 3 تعليمات الانتقال. إذا كان قطاع التمهيد يحتوي على توقيع صالح موجود في آخر بايتين من قطاع التمهيد (تم اختباره بواسطة معظم برامج تحميل التمهيد الموجودة في BIOS النظام أو MBR) وتم التمهيد من هذا المجلد، فسوف يمرر برنامج تحميل التمهيد السابق التنفيذ إلى نقطة الدخول هذه بقيم سجل معينة، ثم تتخطى تعليمات الانتقال بقية الرأس (غير القابل للتنفيذ). راجع سجل تمهيد المجلد .

منذ 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 اسم OEM (مبطن بمسافات 0x20 ). تحدد هذه القيمة النظام الذي تم تهيئة القرص فيه.

على الرغم من توثيقه رسميًا على أنه مجاني للاستخدام من قبل الشركات المصنعة للمعدات الأصلية، فإن أنظمة MS-DOS/PC DOS (منذ 3.1) وWindows 95/98/SE/ME وOS/2 تتحقق من هذا الحقل لتحديد الأجزاء الأخرى من سجل التمهيد التي يمكن الاعتماد عليها وكيفية تفسيرها. لذلك، قد يؤدي تعيين علامة OEM على قيم عشوائية أو وهمية إلى عدم تعرف MS-DOS وPC DOS وOS/2 على وحدة التخزين بشكل صحيح والتسبب في تلف البيانات أثناء الكتابة. [11] [12] [13] ومن الأمثلة الشائعة " IBM␠␠3.3" و " MSDOS5.0" و " MSWIN4.1" و " IBM␠␠7.1" و " mkdosfs␠" و " FreeDOS␠".

يقوم بعض البائعين بتخزين معلومات الترخيص أو مفاتيح الوصول في هذا الإدخال.

سيقوم Volume Tracker في Windows 95/98/SE/ME باستبدال ملصق OEM ?????IHCبتوقيعات " " (بقايا من " ␠OGACIHC" لـ " Chicago ") حتى في حالة الوصول إلى القرص الذي يبدو للقراءة فقط (مثل DIR A:) إذا لم يكن الوسيط محميًا ضد الكتابة. ونظرًا للاعتماد على قيم معينة موضحة أعلاه، فقد يتسبب هذا، اعتمادًا على تنسيق BPB الفعلي ومحتوياته، في عدم تمكن MS-DOS/PC DOS وOS/2 من التعرف على الوسيط وإلقاء رسائل خطأ على الرغم من حقيقة أن الوسيط ليس معيبًا ولا يزال من الممكن قراءته دون مشاكل في أنظمة التشغيل الأخرى. يقرأ Windows 9x الأقراص التي تحمل علامة ذاتية دون أي مشاكل ولكنه يعطي بعض القيم الغريبة لمعلمات غير ذات معنى والتي لا توجد أو لا يتم استخدامها عند تنسيق القرص بمواصفات BPB القديمة، على سبيل المثال الرقم التسلسلي للقرص (الذي لا يوجد إلا للأقراص المنسقة على DOS 5.0 أو أحدث، وفي Windows 9x بعد استبدال ملصق OEM بـ ?????IHCسيتم الإبلاغ عنه كـ 0000-0000أو أي قيمة أخرى مخزنة في حقل الرقم التسلسلي للقرص عند استخدام قرص منسق على نظام آخر). [14] ينطبق هذا فقط على محركات الأقراص القابلة للإزالة.

تقوم بعض أجهزة تحميل التمهيد بإجراء تعديلات أو رفض تمرير التحكم إلى قطاع التمهيد اعتمادًا على قيم معينة تم اكتشافها هنا (على سبيل المثال، NEWLDR offset 0x018 ).

لن تتعامل ذاكرة القراءة فقط (ROM) الخاصة بجهاز الكمبيوتر Wang Professional مع القرص باعتباره قابلاً للتمهيد إلا إذا كانت الأحرف الأربعة الأولى من ملصق OEM هي " Wang". وعلى نحو مماثل، لن تعمل ذاكرة القراءة فقط (BIOS) الخاصة بجهاز Philips :YES على التمهيد من القرص إلا إذا كانت الأحرف الأربعة الأولى من ملصق OEM هي " :YES".

إذا كان التوقيع في إزاحة القطاع 0x042 في FAT32 EBPB هو 0x29 وكان إجمالي إدخالي القطاع 0، فقد يعمل إدخال نظام الملفات كإدخال عدد القطاعات الإجمالي 64 بت ويمكن استخدام إدخال تسمية OEM كنوع بديل لنظام الملفات بدلاً من الإدخال العادي في الإزاحة 0x052 .

وبنفس الطريقة، إذا تم تعيين هذا الإدخال على " EXFAT␠␠␠"، فإنه يشير إلى استخدام BPB exFAT الموجود عند إزاحة القطاع 0x040 إلى 0x077 ، في حين تستخدم وحدات تخزين NTFS " " [15] للإشارة إلى BPB NTFS . NTFS␠␠␠␠

0x00ب يختلف كتلة معلمات 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 ) 0x1FA0x1FD لتخزين أعلى 4 بايتات من القطاعات المخفية للمجلدات الموجودة خارج أول قطاعين 32 -1. نظرًا لأن هذا الموقع قد يحتوي على تعليمات برمجية أو بيانات أخرى في قطاعات تمهيد أخرى، فقد لا يتم الكتابة إليه عندما لا تحتوي جميع 0x1F90x1FD على صفر.)

0x1FD 1 رقم محرك الأقراص الفعلي (فقط في قطاعات التمهيد من DOS 3.2 إلى 3.31). مع OS/2 1.0 وDOS 4.0، تم نقل هذا الإدخال إلى إزاحة القطاع 0x024 (عند الإزاحة 0x19 في EBPB). تحتفظ معظم قطاعات التمهيد الخاصة بـ Microsoft وIBM بقيم 0x00 عند الإزاحة 0x1FC و 0x1FD منذ ذلك الحين، على الرغم من أنها ليست جزءًا من التوقيع عند 0x1FE .

إذا كان هذا ينتمي إلى وحدة تخزين تمهيد، فيمكن تكوين MBR المحسّن في DR-DOS 7.07 (انظر إزاحة NEWLDR 0x014 ) لتحديث هذا الإدخال ديناميكيًا إلى قيمة DL المقدمة في وقت التمهيد أو القيمة المخزنة في جدول الأقسام. يتيح هذا التمهيد من محركات أقراص بديلة، حتى عندما يتجاهل رمز VBR قيمة DL.

0x1FE 2 توقيع قطاع التمهيد ( 0x55 0xAA ). [4] [nb 2] يشير هذا التوقيع إلى رمز تمهيد متوافق مع IBM PC ويتم اختباره بواسطة معظم برامج تحميل التمهيد الموجودة في BIOS النظام أو MBR قبل تمرير التنفيذ إلى رمز تمهيد قطاع التمهيد (ولكن، على سبيل المثال، ليس بواسطة IBM PC ROM-BIOS الأصلي [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 أو أعلى. إذا كان حجم القطاع المادي أكبر، فيمكن تكراره في نهاية القطاع المادي.

ستفترض أجهزة Atari STs أن القرص قابل للتمهيد بواسطة Atari 68000 إذا كان المجموع الاختباري على 256 كلمة كبيرة النهاية لقطاع التمهيد يساوي 0x1234 . [17] [ملاحظة 3] إذا كان رمز محمل التمهيد متوافقًا مع IBM، فمن المهم التأكد من أن المجموع الاختباري على قطاع التمهيد لا يتطابق مع هذا المجموع الاختباري عن طريق الخطأ. إذا حدث هذا، فيمكن استخدام تغيير بت غير مستخدم (على سبيل المثال، قبل أو بعد منطقة رمز التمهيد) لضمان عدم استيفاء هذا الشرط.

في حالات نادرة، تم ملاحظة توقيع معكوس 0xAA 0x55 على صور القرص. يمكن أن يكون هذا نتيجة لتنفيذ خاطئ في أداة التنسيق استنادًا إلى وثائق خاطئة، [nb 2] ولكنه قد يشير أيضًا إلى ترتيب بايتات مبدل لصورة القرص، والذي ربما حدث أثناء النقل بين الأنظمة الأساسية باستخدام ترتيب طرفي مختلف . قيم BPB وأنظمة الملفات FAT12 وFAT16 وFAT32 مخصصة لاستخدام تمثيل الطرف الصغير فقط ولا توجد تنفيذات معروفة لمتغيرات تستخدم قيم الطرف الكبير بدلاً من ذلك.

تحتوي أقراص Atari ST المرنة بتنسيق FAT على تخطيط قطاع تمهيد مشابه جدًا
إزاحة البايت الطول (بايت) محتويات
0x000 2 تعليمات القفز. تبدأ قطاعات التمهيد الأصلية لجهاز Atari ST بالتعليمات 68000 BRA.S ( 0x60 0x?? ). [5] من أجل التوافق مع أنظمة تشغيل الكمبيوتر الشخصي، تبدأ الأقراص المنسقة لجهاز Atari ST منذ TOS 1.4 بـ 0xE9 0x?? بدلاً من ذلك.
0x002 6 اسم الشركة المصنعة للمعدات الأصلية (مبطن بمسافات 0x20 )، على سبيل المثال، " " ( 0x4C 0x6F 0x61 0x64 0x65 0x72 ) على وحدات التخزين التي تحتوي على محمل تمهيد Atari ST. راجع احتياطات اسم الشركة المصنعة للمعدات الأصلية للأقراص المنسقة للكمبيوتر الشخصي أعلاه. يختلف الإزاحة وطول هذا الإدخال مقارنة بالإدخال على الأقراص المنسقة للكمبيوتر الشخصي. Loader
0x008 3 الرقم التسلسلي للقرص [5] (افتراضي: 0x00 0x00 0x00 )، يستخدمه Atari ST للكشف عن تغيير القرص. (سيقوم Windows 9x Volume Tracker دائمًا بتخزين " " هنا على الأقراص المرنة غير المحمية ضد الكتابة؛ انظر أعلاه.) يجب تغيير هذه القيمة إذا تم تغيير محتوى القرص خارجيًا، وإلا فقد لا تتعرف أجهزة Atari ST على التغيير عند إعادة الإدخال. يتداخل هذا الإدخال مع حقل اسم الشركة المصنعة الأصلية على الأقراص المنسقة للكمبيوتر الشخصي. للحصول على أقصى قدر من التوافق، قد يكون من الضروري مطابقة أنماط معينة هنا؛ انظر أعلاه. IHC
0x00ب 19 كتلة معلمات BIOS DOS 3.0 ( تنسيق little-endian )
0x01E يختلف بيانات قطاع التمهيد الخاص (تنسيق مختلط بين الكبير والصغير )
يختلف يختلف كود تمهيد Atari ST الخاص بنظام الملفات ونظام التشغيل. لا يجب إجراء أي افتراضات فيما يتعلق بموضع تحميل الكود، والذي يجب أن يكون قابلاً للنقل. إذا فشل تحميل نظام التشغيل (TOS.IMG [5] )، يمكن للكود العودة إلى BIOS Atari ST باستخدام تعليمة 68000 RTS ( رمز التشغيل 0x4E75 مع تسلسل بايتات كبير النهاية 0x4E 0x75 [nb 2] ) وجميع السجلات دون تغيير.
0x1FE 2 المجموع الاختباري. يجب أن يتطابق المجموع الاختباري المكون من 16 بتًا على الكلمات ذات النهاية الكبيرة البالغ عددها 256 كلمة في قطاع التمهيد الذي يبلغ طوله 512 بايتًا والذي يتضمن هذه الكلمة مع القيمة السحرية 0x1234 للإشارة إلى رمز قطاع التمهيد القابل للتنفيذ في Atari ST 68000. [17] يمكن استخدام إدخال المجموع الاختباري هذا لمحاذاة المجموع الاختباري وفقًا لذلك. [nb 3]

إذا كان حجم القطاع المنطقي أكبر من 512 بايت، فإن الباقي لا يتم تضمينه في المجموع الاختباري وعادة ما يتم ملؤه بالصفر. [17] نظرًا لأن بعض أنظمة تشغيل الكمبيوتر الشخصي لا تقبل عن طريق الخطأ الأقراص المرنة بتنسيق FAT إذا لم يكن التوقيع 0x55 0xAA [nb 2] موجودًا هنا، فمن المستحسن وضع 0x55 0xAA في هذا المكان (وإضافة محمل تمهيد متوافق مع IBM أو جزء منه) واستخدام كلمة غير مستخدمة في البيانات الخاصة أو منطقة رمز التمهيد أو الرقم التسلسلي لضمان عدم تطابق المجموع الاختباري 0x1234 [nb 3] (ما لم يكن تراكب رمز الدهون المشترك قابلاً للتنفيذ لكل من IBM PC وAtari ST في نفس الوقت).

تحتوي وحدات تخزين MSX-DOS بتنسيق FAT12 على تخطيط قطاع تمهيد مشابه جدًا
إزاحة البايت الطول (بايت) محتويات
0x000 3 تعليمات القفزة الوهمية (على سبيل المثال، 0xEB 0xFE 0x90 ).
0x003 8 اسم OEM (مبطن بمسافات 0x20 ).
0x00ب 19 دوس 3.0 بي بي بي
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
0x02ب 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

البنية المشتركة لأول 25 بايت من كتلة معلمات BIOS (BPB) المستخدمة في إصدارات FAT منذ DOS 2.0 (يتم تخزين البايتات عند إزاحة القطاع 0x00B إلى 0x017 منذ DOS 2.0، ولكن لا يتم استخدامها دائمًا قبل DOS 3.2، يتم استخدام القيم عند 0x018 إلى 0x01B منذ DOS 3.0)
تعويض القطاع إزاحة BPB الطول (بايت) محتويات
0x00ب 0x00 2 بايتات لكل قطاع منطقي؛ القيمة الأكثر شيوعًا هي 512. لا تدعم بعض أنظمة التشغيل أحجام قطاعات أخرى. من أجل البساطة وأقصى قدر من الأداء، غالبًا ما يكون حجم القطاع المنطقي مطابقًا لحجم القطاع المادي للقرص، ولكن يمكن أن يكون أكبر أو أصغر في بعض السيناريوهات.

الحد الأدنى للقيمة المسموح بها لمجلدات FAT12/FAT16 غير القابلة للتمهيد والتي تحتوي على ما يصل إلى 65535 قطاعًا منطقيًا هو 32 بايت، أو 64 بايت لأكثر من 65535 قطاعًا منطقيًا. الحد الأدنى للقيمة العملية هو 128. استخدمت بعض إصدارات DOS OEM السابقة لـ DOS 3.31 أحجام قطاعات منطقية تصل إلى 8192 بايت لمجلدات FAT ذات القطاعات المنطقية . يدعم Atari ST GEMDOS أحجام قطاعات منطقية بين 512 و4096. [17] يدعم DR-DOS التمهيد من مجلدات FAT12/FAT16 ذات أحجام قطاعات منطقية تصل إلى 32 كيلوبايت وتنفيذات INT 13h التي تدعم القطاعات المادية حتى 1024 بايت/قطاع. [ملاحظة 4] الحد الأدنى لحجم القطاع المنطقي لمجلدات 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 ) لفترة انتقالية.

يدعم Linux، وبالتالي Android، حجم قطاع منطقي أكبر بكثير، وهو موثق رسميًا في صفحة الدليل الخاصة بأدوات نظام الملفات بحجم يصل إلى 32 كيلوبايت.

0x00د 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 في صورة نظام الملفات. على الأقل 1 لهذا القطاع، وعادةً 32 لـ FAT32 (لحمل قطاع التمهيد الموسع وقطاع معلومات نظام الملفات وقطاعات التمهيد الاحتياطية).

نظرًا لأن وحدات التخزين المنسقة بنظام DR-DOS 7.0x FAT32 تستخدم قطاع تمهيد أحادي القطاع وقطاع معلومات نظام الملفات وقطاع النسخ الاحتياطي، فإن بعض وحدات التخزين المنسقة بنظام DR-DOS تستخدم قيمة 4 هنا.

0x010 0x05 1 عدد جداول تخصيص الملفات. 2 في الغالب؛ وقد تستخدم أقراص RAM جدولاً واحدًا. لا تدعم معظم إصدارات MS-DOS/PC DOS أكثر من جدولين FAT. تدعم بعض أنظمة التشغيل DOS جدولين FAT فقط في برنامج تشغيل القرص المدمج، ولكنها تدعم عددًا آخر من جداول FAT لبرامج تشغيل الأجهزة التي يتم تحميلها لاحقًا.

لن يتم التعامل مع المجلدات التي تعلن عن 2 FAT في هذا الإدخال كمجلدات TFAT . إذا كانت القيمة تختلف عن 2، فقد تحاول بعض أنظمة تشغيل Microsoft تحميل المجلد كمجلد TFAT واستخدام المجموعة الثانية (المجموعة 1) من FAT الأول لتحديد حالة TFAT.

0x011 0x06 2 الحد الأقصى لعدد إدخالات دليل الجذر FAT12 أو FAT16. 0 لـ FAT32، حيث يتم تخزين دليل الجذر في مجموعات بيانات عادية؛ راجع الإزاحة 0x02C في FAT32 EBPBs.

قد تشير القيمة 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 0×0أ 1 موصوف الوسائط (مقارنة: معرف FAT): [21] [22] [23] [nb 1]
0xE5
  • 8 بوصات (200 مم) من جانب واحد، 77 مسارًا لكل جانب، 26 قطاعًا لكل مسار، 128 بايتًا لكل قطاع (250.25 كيلوبايت) (DR-DOS فقط)
0xED
  • 5.25 بوصة (130 مم) على الوجهين، 80 مسارًا لكل جانب، 9 قطاعات، 720 كيلوبايت ( Tandy 2000 فقط) [13]
0xEE
  • مخصص للأقسام المخصصة غير القياسية (التي تستخدم تنسيقات BPB غير القياسية أو تتطلب وصولاً إلى وسائط خاصة مثل عنونة 48/64 بت)؛ يتوافق مع 0xF8 ، ولكن لا يتم التعرف عليه بواسطة الأنظمة غير المدركة حسب التصميم؛ لا يلزم أن تكون القيمة مطابقة لمعرف FAT، ولا يتم استخدامها مطلقًا كعلامة نهاية سلسلة المجموعة (محجوزة لـ DR-DOS)
0xEF
  • مخصص لتنسيقات الأقراص المرنة الفائقة غير القياسية ؛ يتوافق مع 0xF0 ، ولكن لا يتم التعرف عليه بواسطة الأنظمة غير المدركة حسب التصميم؛ لا يلزم أن تكون القيمة مطابقة لمعرف FAT، ولا يتم استخدامه مطلقًا كعلامة نهاية سلسلة المجموعة (محجوزة لـ DR-DOS)
0xF0 [24] [25] [26]
  • 3.5 بوصة (90 مم) مزدوج الجانب، 80 مسارًا لكل جانب، 18 أو 36 قطاعًا لكل مسار (1440 كيلوبايت، والمعروفة باسم "1.44 ميجابايت"؛ أو 2880 كيلوبايت، والمعروفة باسم "2.88 ميجابايت").
  • مخصص للاستخدام مع تنسيقات الأقراص المرنة والمرنة جدًا المخصصة حيث يتم تعريف الهندسة في BPB.
  • تُستخدم أيضًا لأنواع الوسائط الأخرى مثل الأشرطة. [27]
0xF4
0xF5
  • قرص ثابت، رباعي الجوانب، 12 قطاعًا لكل مسار (1.95؟ ميجابايت) ( Altos MS-DOS 2.11 فقط) [28]
0xF8
  • القرص الثابت (أي، عادةً قسم على القرص الصلب). (منذ DOS 2.0) [29] [30]
  • مخصص للاستخدام لأي وسائط مقسمة ثابتة أو قابلة للإزالة، حيث يتم تعريف الهندسة في BPB.
  • 3.5 بوصة، جانب واحد، 80 مسارًا لكل جانب، 9 قطاعات لكل مسار (360 كيلو بايت) (MS-DOS 3.1 [7] وMSX-DOS)
  • 5.25 بوصة على الوجهين، 80 مسارًا لكل جانب، 9 قطاعات لكل مسار (720 كيلو بايت) ( Sanyo  55x DS-DOS 2.11 فقط) [13]
  • جانب واحد ( Altos MS-DOS 2.11 فقط) [28]
0xF9 [24] [25] [26]
  • 3.5 بوصة، على الوجهين، 80 مسارًا لكل جانب، 9 قطاعات لكل مسار (720 كيلو بايت) (منذ DOS 3.2) [29]
  • 3.5 بوصة، على الوجهين، 80 مسارًا لكل جانب، 18 قطاعًا لكل مسار (1440 كيلو بايت) (DOS 3.2 فقط) [29]
  • 5.25 بوصة، على الوجهين، 80 مسارًا لكل جانب، 15 قطاعًا لكل مسار (1200 كيلوبايت، والمعروفة باسم "1.2 ميجا بايت") (منذ DOS 3.0) [29]
  • جانب واحد ( Altos MS-DOS 2.11 فقط) [28]
0xFA
  • 3.5 بوصة و5.25 بوصة من جانب واحد، 80 مسارًا لكل جانب، 8 قطاعات لكل مسار (320 كيلوبايت)
  • تستخدم أيضًا لأقراص RAM وأقراص ROM (على سبيل المثال، في Columbia Data Products [31] وفي HP 200LX )
  • القرص الصلب ( Tandy  MS-DOS فقط)
0xFB
  • 3.5 بوصة و5.25 بوصة على الوجهين، 80 مسارًا لكل جانب، 8 قطاعات لكل مسار (640 كيلوبايت)
0xFC
  • 5.25 بوصة من جانب واحد، 40 مسارًا لكل جانب، 9 قطاعات لكل مسار (180 كيلوبايت) (منذ DOS 2.0) [29]
0xFD
  • 5.25 بوصة، على الوجهين، 40 مسارًا لكل جانب، 9 قطاعات لكل مسار (360 كيلو بايت) (منذ DOS 2.0) [29]
  • 8 بوصات، على الوجهين، 77 مسارًا لكل جانب، 26 قطاعًا لكل مسار، 128 بايتًا لكل قطاع (500.5 كيلوبايت)
  • (8 بوصات، ذات وجهين، كثافة (فردية و) مزدوجة (DOS 1) [29] )
0xFE
  • 5.25 بوصة، جانب واحد، 40 مسارًا لكل جانب، 8 قطاعات لكل مسار (160 كيلوبايت) (منذ DOS 1.0) [29] [32]
  • 8 بوصات، جانب واحد، 77 مسارًا لكل جانب، 26 قطاعًا لكل مسار، 128 بايتًا لكل قطاع (250.25 كيلوبايت) [28] [32]
  • 8 بوصات، على الوجهين، 77 مسارًا لكل جانب، 8 قطاعات لكل مسار، 1024 بايت لكل قطاع (1232 كيلو بايت) [32]
  • (8 بوصات أحادية الجانب، (أحادية و) مزدوجة الكثافة (DOS 1) [29] )
0xFF
  • 5.25 بوصة، على الوجهين، 40 مسارًا لكل جانب، 8 قطاعات لكل مسار (320 كيلو بايت) (منذ DOS 1.1) [29] [32]
  • القرص الصلب ( Sanyo  55x DS-DOS 2.11 فقط) [13]

يجب أن تعكس هذه القيمة موصوف الوسائط المخزن (في الإدخال الخاص بالعنقود 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 0x0ب 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 الطول (بايت) محتويات
0x00ب 0x00 13 دوس 2.0 بي بي بي
0x018 0x0د 2 القطاعات المادية لكل مسار للأقراص ذات هندسة INT 13h CHS، [4] على سبيل المثال، 15 لقرص مرن بحجم "1.20 ميجا بايت" (1200 كيلو بايت).

يشير الإدخال الصفري إلى أن هذا الإدخال محجوز، ولكن غير مستخدم.

0x01أ 0×0ف 2 عدد الرؤوس للأقراص ذات هندسة INT 13h CHS، [4] على سبيل المثال، 2 للقرص المرن ذي الوجهين.

يتسبب خطأ في جميع إصدارات MS-DOS/PC DOS حتى الإصدار 7.10 في تعطل أنظمة التشغيل هذه بالنسبة لهندسة CHS التي تحتوي على 256 رأسًا، وبالتالي تختار جميع أنظمة BIOS تقريبًا الحد الأقصى لعدد الرؤوس وهو 255 رأسًا فقط.

يشير الإدخال الصفري إلى أن هذا الإدخال محجوز، ولكن غير مستخدم.

0x01 ج 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 الطول (بايت) محتويات
0x00ب 0x00 19 دوس 3.0 بي بي بي
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 الطول (بايت) محتويات
0x00ب 0x00 13 دوس 2.0 بي بي بي
0x018 0x0د 2 القطاعات المادية لكل مسار للأقراص ذات هندسة INT 13h CHS، [4] على سبيل المثال، 18 لقرص مرن بحجم "1.44 ميجا بايت" (1440 كيلو بايت). غير مستخدمة للأقراص التي لم تعد تدعم الوصول إلى CHS. مماثلة لإدخال متاح منذ DOS 3.0.

يشير الإدخال الصفري إلى أن هذا الإدخال محجوز، ولكن غير مستخدم. قد تشير القيمة 0 إلى الوصول إلى LBA فقط، ولكنها قد تتسبب في استثناء القسمة على الصفر في بعض برامج تحميل التمهيد، والذي يمكن تجنبه عن طريق تخزين قيمة محايدة 1 هنا، إذا لم يكن من الممكن محاكاة هندسة CHS بشكل معقول.

0x01أ 0×0ف 2 عدد الرؤوس للأقراص ذات هندسة INT 13h CHS، [4] على سبيل المثال، 2 للقرص المرن ذي الوجهين. غير مستخدم للأقراص التي لم تعد تدعم الوصول إلى CHS. مماثل لإدخال متاح منذ DOS 3.0.

يتسبب خطأ في جميع إصدارات MS-DOS/PC DOS حتى الإصدار 7.10 في تعطل أنظمة التشغيل هذه بالنسبة لهندسة CHS التي تحتوي على 256 رأسًا، وبالتالي تختار جميع أنظمة BIOS تقريبًا الحد الأقصى لعدد الرؤوس وهو 255 رأسًا فقط.

يشير الإدخال الصفري إلى أن هذا الإدخال محجوز، ولكن غير مستخدم. قد تشير القيمة 0 إلى الوصول إلى LBA فقط، ولكنها قد تتسبب في استثناء القسمة على الصفر في بعض برامج تحميل التمهيد، والذي يمكن تجنبه عن طريق تخزين قيمة محايدة 1 هنا، إذا لم يكن من الممكن محاكاة هندسة CHS بشكل معقول.

0x01 ج 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 بت للمجلدات الموجودة خارج أول 2 32 −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]

  1. حدد (مرة واحدة) حيث يتم تخزين عدد القطاعات المحجوزة عند الإزاحة 0x00E ، وعدد FATs عند الإزاحة 0x010 ، والقطاعات لكل FAT عند الإزاحة 0x016 (FAT12/FAT16) أو 0x024 (FAT32)، وإدخالات الدليل الجذر عند الإزاحة 0x011 ، وحجم القطاع عند الإزاحة 0x00B ، وتقريبه إلى عدد صحيح.SSA=RSC+FN×SF+ceil((32×RDE)/SS)RSCFNSFRDESSceil(x)
  2. حدد المكان الذي يتم فيه تخزين القطاعات لكل مجموعة عند الإزاحة 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، والمعروفة أيضًا باسم Extended BIOS Parameter Block (EBPB) (البايتات الموجودة أسفل إزاحة القطاع 0x024 هي نفسها الموجودة في DOS 3.31 BPB):

تعويض القطاع إزاحة EBPB الطول (بايت) محتويات
0x00ب 0x00 25 دوس 3.31 بي بي بي
0x024 0x19 1 رقم محرك الأقراص الفعلي ( 0x00 للوسائط القابلة للإزالة (الأولى)، 0x80 للقرص الثابت (الأول) وفقًا لـ INT 13h ). القيم المسموح بها لمحركات الأقراص الفعلية المحتملة وفقًا لنظام BIOS هي 0x00 - 0x7E و 0x80 - 0xFE . القيمتان 0x7F و 0xFF محجوزتان للأغراض الداخلية مثل التمهيد عن بُعد أو التمهيد من ROM ولا ينبغي أن تحدثا على القرص أبدًا. تستخدم بعض برامج تحميل التمهيد مثل برنامج تحميل التمهيد MS-DOS/PC DOS هذه القيمة عند تحميل نظام التشغيل، بينما يتجاهلها البعض الآخر تمامًا أو يستخدم رقم المحرك المقدم في سجل DL بواسطة برنامج تحميل التمهيد الأساسي (على سبيل المثال، مع العديد من BIOSes وMBRs). يتم تغيير الإدخال أحيانًا بواسطة الأمر SYS أو يمكن إصلاحه ديناميكيًا بواسطة برنامج تحميل التمهيد السابق لإجبار كود قطاع التمهيد على تحميل نظام التشغيل من أقراص مادية بديلة غير الافتراضية.

يوجد إدخال مشابه (فقط) في قطاعات التمهيد من DOS 3.2 إلى 3.31 عند إزاحة القطاع 0x1FD .

إذا كان هذا ينتمي إلى وحدة تخزين تمهيد، فيمكن تكوين MBR المحسّن في DR-DOS 7.07 (انظر إزاحة NEWLDR 0x014 ) لتحديث إدخال EBPB هذا ديناميكيًا إلى قيمة DL المقدمة في وقت التمهيد أو القيمة المخزنة في جدول الأقسام. يتيح هذا التمهيد من محركات أقراص بديلة، حتى عندما يتجاهل رمز VBR قيمة DL.

0x025 0×1 أمبير 1 محجوز؛
  • في بعض أكواد تمهيد MS-DOS/PC DOS، يتم استخدامها كلوحة مؤقتة للبايت العالي الحالي INT 13h للكلمة المفترضة المكونة من 16 بت عند الإزاحة 0x024 . تستخدم بعض قطاعات تمهيد DR-DOS FAT12/FAT16 هذا الإدخال كلوحة مؤقتة أيضًا، ولكن لأغراض مختلفة.
  • يقوم VGA-Copy بتخزين CRC على ROM-BIOS الخاص بالنظام في هذا الموقع.
  • يستخدم بعض مديري التمهيد هذا الإدخال للتواصل مع حرف محرك الأقراص المطلوب الذي يجب أن يظهر المجلد تحته لأنظمة التشغيل مثل OS/2 عن طريق تعيين البت 7 وتحديد رقم محرك الأقراص بالبتات 6-0 (C: = القيمة 0، D: = القيمة 1، ...). نظرًا لأن هذا يؤثر عادةً على صورة الذاكرة لقطاع التمهيد فقط، فإن هذا لا يسبب مشاكل توافق مع الاستخدامات الأخرى؛
  • في نظام التشغيل Windows NT، يتم استخدام علامات CHKDSK (يتم مسح البتات 7-2 دائمًا، البت 1: أخطاء إدخال/إخراج القرص التي تم مواجهتها، والقطاعات التالفة المحتملة، وتشغيل فحص السطح عند التشغيل التالي، والبت 0: وحدة التخزين "متسخة" ولم يتم فصلها بشكل صحيح قبل إيقاف التشغيل، وتشغيل CHKDSK عند التشغيل التالي). [30] يجب ضبطها على 0 بواسطة أدوات التنسيق. [24] [25] [26] انظر أيضًا: علامات البت في إدخال المجموعة الثانية في FAT.
0x026 0x1ب 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 0x1ج 4 معرف المجلد (الرقم التسلسلي)

عادةً ما يتم إنشاء الرقم التسلسلي "xxxx-xxxx" عن طريق إضافة 16 بت لكلا قيمتي DX التي تم إرجاعها بواسطة INT 21h/AH=2Ah (الحصول على تاريخ النظام) [nb 5] وINT 21h/AH=2Ch (الحصول على وقت النظام) [nb 5] للكلمة العليا وإضافة أخرى 16 بت لكلا قيمتي CX للكلمة الدنيا للرقم التسلسلي. بدلاً من ذلك، توفر بعض أدوات القرص DR-DOS /#خيارًا لإنشاء طابع زمني يمكن قراءته بواسطة الإنسان "mmdd-hhmm" من قيم 8 بت مشفرة بـ BCD للشهر واليوم والساعة والدقيقة بدلاً من الرقم التسلسلي.

0x02ب 0x20 11 يجب أن يقوم البرنامج الذي يقوم بتغيير تسمية وحدة تخزين الدليل في نظام الملفات بتحديث هذا الإدخال أيضًا ، ولكن لا تقوم جميع البرامج بذلك. عادةً ما يتم عرض تسمية وحدة تخزين القسم في أدوات التقسيم نظرًا لأنه يمكن الوصول إليها دون تحميل وحدة التخزين. مدعوم منذ OS/2 1.2 وMS-DOS 4.0 والإصدارات الأحدث. NO␠NAME␠␠␠␠

غير متاح إذا تم تعيين التوقيع في 0x026 على 0x28 .

تم استخدام هذه المنطقة بواسطة قطاعات التمهيد في نظام التشغيل DOS 3.2 إلى 3.3 لتخزين نسخة خاصة من جدول معلمات القرص (DPT) بدلاً من استخدام مؤشر INT 1Eh لاسترداد جدول ROM كما في الإصدارات اللاحقة من قطاع التمهيد. أدى إعادة استخدام هذا الموقع لعلامة وحدة تخزين القسم التجميلية إلى تقليل المشكلات إذا كانت بعض أدوات النظام القديمة لا تزال تحاول تصحيح جدول معلمات القرص السابق.

0x036 0x2ب 8 نوع نظام الملفات، مُبطن بمسافات فارغة ( 0x20 )، على سبيل المثال، " "، " " FAT12␠␠␠FAT16␠␠␠FAT␠␠␠␠␠

هذا الإدخال مخصص لأغراض العرض فقط ولا يجوز استخدامه بواسطة نظام التشغيل لتحديد نوع نظام الملفات. ومع ذلك، يتم استخدامه أحيانًا لأغراض التعريف بواسطة برامج تابعة لجهات خارجية، وبالتالي لا ينبغي أن تختلف القيم عن القيم المستخدمة رسميًا. مدعوم منذ OS/2 1.2 وMS-DOS 4.0 والإصدارات الأحدث.

غير متاح إذا تم تعيين التوقيع في 0x026 على 0x28 .

كتلة معلمات BIOS الموسعة FAT32

في الأساس، يقوم نظام FAT32 بإدخال 28 بايت في EBPB، متبوعًا بـ 26 بايتًا متبقية (أو 7 بايتات فقط في بعض الأحيان) من EBPB كما هو موضح أعلاه بالنسبة لـ FAT12 وFAT16. تحدد أنظمة التشغيل Microsoft وIBM نوع نظام الملفات FAT المستخدم على وحدة تخزين فقط من خلال عدد المجموعات، وليس من خلال تنسيق BPB المستخدم أو نوع نظام الملفات المشار إليه، أي أنه من الممكن من الناحية الفنية استخدام "FAT32 EBPB" أيضًا لوحدات التخزين FAT12 وFAT16 بالإضافة إلى DOS 4.0 EBPB لوحدات التخزين FAT32 الصغيرة. نظرًا لأنه تم اكتشاف أن مثل هذه الوحدات التخزينية يتم إنشاؤها بواسطة أنظمة تشغيل Windows في ظل بعض الظروف الغريبة، [nb 6] فيجب أن تكون أنظمة التشغيل مستعدة للتعامل مع هذه الأشكال الهجينة.

تعويض القطاع إزاحة FAT32 EBPB الطول (بايت) محتويات
0x00ب 0x00 25 دوس 3.31 بي بي بي
0x024 0x19 4 القطاعات المنطقية لكل جدول تخصيص الملفات (تتوافق مع الإدخال القديم عند الإزاحة 0x0B في DOS 2.0 BPB).

لا ينبغي أبدًا أن يصبح البايت الموجود عند الإزاحة 0x026 في هذا الإدخال 0x28 أو 0x29 لتجنب أي سوء تفسير مع تنسيق EBPB في أنظمة التشغيل غير المتوافقة مع FAT32.

لحسن الحظ، في ظل الظروف العادية (حجم القطاع 512 بايت)، لا يمكن أن يحدث هذا، حيث يحتوي نظام الملفات FAT32 على 0xffffff6 = 268435446 مجموعة على الأكثر. يتناسب قطاع Fat واحد مع 512 / 4 = 128 واصف مجموعة. لذا، على الأكثر، لن تكون هناك حاجة إلا إلى ceil(268435446 / 128) = 2097152 = 0x200000 قطاع، مما يجعل البايت الثالث من عدد قطاعات FAT 0x20 على الأكثر، وهو أقل من القيم المحظورة 0x28 و0x29.

0x028 0x1د 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 )، والتي يتم عرضها إما بأحرف مختلطة أو كبيرة، مما يشير إلى نوع الوصول الفاشل). قد تقوم أدوات التنسيق أو الأدوات غير التابعة لنوع DR SYS بمسح هذه البتات، ولكن يجب أن تترك أدوات القرص الأخرى البتات 15-8 دون تغيير.

0x02أ 0x1F 2 الإصدار (محدد على أنه 0.0). يتم تخزين البايت الأعلى لرقم الإصدار عند الإزاحة 0x02B ، والبايت الأدنى عند الإزاحة 0x02A . [4] يجب أن ترفض تطبيقات FAT32 تحميل وحدات تخزين بأرقام إصدارات غير معروفة بالنسبة لها.
0x02 ج 0x21 4 عدد مجموعات بداية الدليل الجذري، عادةً 2 (المجموعة الأولى [33] ) إذا لم تحتوي على قطاع تالف. (يفرض تنفيذ FAT32 الخاص بشركة Microsoft حدًا اصطناعيًا يبلغ 65535 إدخالاً لكل دليل، في حين لا تفعل العديد من تطبيقات الطرف الثالث ذلك.)

لا يُسمح رسميًا بقيمة المجموعة 0 ولا يمكنها أبدًا الإشارة إلى مجموعة بداية صالحة لدليل الجذر. قد تعامل بعض تطبيقات FAT32 غير القياسية هذه القيمة كمؤشر للبحث عن دليل جذر بحجم ثابت حيث من المتوقع وجوده على وحدات تخزين FAT16؛ راجع الإزاحة 0x011 .

0x030 0x25 2 رقم القطاع المنطقي لقطاع معلومات نظام الملفات، عادةً ما يكون 1، أي القطاع الثاني من قطاعات التمهيد الثلاثة لنظام الملفات FAT32.

تدعم بعض تطبيقات نظام الملفات FAT32 اختلافًا طفيفًا في مواصفات Microsoft في جعل قطاع معلومات نظام الملفات اختياريًا من خلال تحديد قيمة 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 7] باعتباره قطعة أثرية بواسطة MS-DOS ، ويجب تهيئته إلى 0 بواسطة أدوات التنسيق، ولكن لا يجب تغييره بواسطة تنفيذات نظام الملفات أو أدوات القرص لاحقًا.) FDISK

تستخدم قطاعات التمهيد في نظام التشغيل DR-DOS 7.07 FAT32 هذه البايتات الـ 12 لتخزين اسم ملف " " IBMBIO␠␠COM[ nb 8] المراد تحميله (حتى أول 29696 بايت أو حجم الملف الفعلي، أيهما أصغر) وتنفيذه بواسطة قطاع التمهيد، متبوعًا بحرف NUL ( 0x00 ). هذا أيضًا جزء من رسالة خطأ تشير إلى اسم ملف التمهيد الفعلي وطريقة الوصول (انظر الإزاحة 0x028 ).

0x040 0x35 1 راجع 0x024 لنظام FAT12/FAT16 (رقم محرك الأقراص الفعلي)

توجد وحدات البايت exFAT في إزاحة القطاع من 0x040 إلى 0x077 ، متداخلة مع جميع الإدخالات المتبقية من EBPB القياسي FAT32 بما في ذلك هذه الوحدة. ويمكن اكتشافها من خلال توقيع علامة OEM الخاصة بها " " في إزاحة القطاع 0x003 . في هذه الحالة، يتم تعيين البايتات الموجودة في 0x00B إلى 0x03F عادةً على 0x00 . EXFAT␠␠␠

0x041 0x36 1 راجع 0x025 لنظامي التشغيل FAT12/FAT16 (يستخدم لأغراض مختلفة؛ راجع FAT12/FAT16)

قد يحتوي على قطع أثرية لحشو التنسيق 0xF6 [nb 7] بعد التقسيم باستخدام MS-DOS FDISK، ولكن لم يتم تنسيقه بعد.

0x042 0x37 1 راجع 0x026 لنظامي التشغيل FAT12/FAT16 (توقيع التمهيد الموسع، 0x29 )

لا تدعم معظم تطبيقات نظام الملفات FAT32 التوقيع البديل 0x28 [15] للإشارة إلى شكل مختصر من EBPB FAT32 مع الرقم التسلسلي فقط بعده (وليس إدخالات تسمية وحدة التخزين ونوع نظام الملفات)، ولكن نظرًا لأن هذه البايتات الـ 19 غير المستخدمة في الغالب قد تخدم أغراضًا مختلفة في بعض السيناريوهات، فيجب على التطبيقات قبول 0x28 كتوقيع بديل ثم الرجوع إلى استخدام تسمية وحدة تخزين الدليل في نظام الملفات بدلاً من EBPB للتوافق مع الامتدادات المحتملة.

0x043 0x38 4 راجع 0x027 لنظامي التشغيل FAT12/FAT16 (معرف المجلد)
0x047 0x3ج 11 راجع 0x02B لنظامي التشغيل FAT12/FAT16 (ملصق وحدة التخزين)

غير متاح إذا تم تعيين التوقيع عند الإزاحة 0x042 على 0x28 .

0x052 0x47 8 راجع 0x036 لـ FAT12/FAT16 (نوع نظام الملفات، مُبطن بالمساحات الفارغة ( 0x20 )، على سبيل المثال، " "). FAT32␠␠␠

غير متاح إذا تم تعيين التوقيع في 0x042 على 0x28 .

إذا كانت كل من إدخالات القطاعات المنطقية الإجمالية عند الإزاحة 0x020 و 0x013 تساوي 0 على وحدات التخزين التي تستخدم FAT32 EBPB بتوقيع 0x29 ، فيمكن لوحدات التخزين التي تحتوي على أكثر من 4,294,967,295 (2 32 -1) قطاع (على سبيل المثال بعض وحدات تخزين DR-DOS مع إدخالات مجموعة مكونة من 32 بت) استخدام هذا الإدخال كإدخال قطاعات منطقية إجمالية مكونة من 64 بت بدلاً من ذلك. في هذه الحالة، يمكن استرداد علامة OEM عند إزاحة القطاع 0x003 كنوع نظام ملفات جديد بدلاً من ذلك.

الاستثناءات

كانت إصدارات DOS قبل الإصدار 3.2 تعتمد كليًا أو جزئيًا على بايت الوصف الإعلامي في BPB أو بايت معرف FAT في المجموعة 0 من أول FAT لتحديد تنسيقات أقراص FAT12 حتى في حالة وجود BPB. واعتمادًا على معرف FAT الموجود ونوع محرك الأقراص المكتشف، يتم استخدام أحد نماذج BPB الأولية التالية افتراضيًا بدلاً من استخدام القيم المخزنة فعليًا في BPB. [nb 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"
كثافة ؟ دي دي 48 نقطة في البوصة SD د د دي دي 48 نقطة في البوصة SD SD دي دي 48 نقطة في البوصة دي دي 48 نقطة في البوصة ؟ ؟ دقة عالية 96 نقطة في البوصة دي دي 135 نقطة في البوصة دقة عالية 135 نقطة في البوصة QD 96tpi ؟ د د دقة عالية 135 نقطة في البوصة الضعف الجنسي QD 96tpi SD
تعديل ؟ م ف م اف ام م ف م م ف م اف ام اف ام م ف م م ف م م ف م م ف م م ف م م ف م م ف م م ف م م ف م م ف م م ف م م ف م م ف م اف ام
السعة المنسقة (كيلوبايت) ؟ 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 offset 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
القطاعات المنطقية / FAT
(إزاحة BPB 0x0B )
؟ 1 6 [28] [32] 2 1 6 [28] [32] [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 ؟ ؟ ؟ ؟ ؟ ؟ ؟ ؟ ؟ ؟ ؟ نعم نعم نعم ؟ ؟ ؟ نعم نعم ؟ ؟
يدعم ؟
دوس 1.1 [32]
دوس 1.0 [28] [32]
دوس 2.0
دوس 1.0 [32]
؟ [28] [32]
دوس 2.0
دوس 2.0
دوس 2.0
؟ ؟
دوس 3.0
دوس 3.2
DOS 3.2 فقط؛
(DR-DOS)
جهاز Sanyo 55x
DS-DOS 2.11 فقط
[7] MS-DOS 3.1
MSX-DOS
دوس 3.3
دوس 5.0
تاندي 2000 فقط
DR-DOS فقط

توصي شركة Microsoft بالتمييز بين تنسيقي 8 بوصات لـ FAT ID 0xFE من خلال محاولة قراءة علامة عنوان ذات كثافة واحدة. إذا أدى هذا إلى حدوث خطأ، فيجب أن تكون الوسيلة ذات كثافة مزدوجة. [23]

لا يسرد الجدول عددًا من تنسيقات الأقراص المرنة FAT12 غير المتوافقة مقاس 8 بوصات و5.25 بوصة التي يدعمها نظام التشغيل 86-DOS ، والتي تختلف إما في حجم إدخالات الدليل (16 بايت مقابل 32 بايت) أو في مدى مساحة القطاعات المحجوزة (عدة مسارات كاملة مقابل قطاع منطقي واحد فقط).

كان لتنفيذ تنسيق FAT12 أحادي الجانب بحجم 315 كيلو بايت المستخدم في MS-DOS لجهاز Apricot PC وF1e [34] تخطيط قطاع تمهيد مختلف، لاستيعاب BIOS غير المتوافق مع IBM لهذا الكمبيوتر. تم حذف تعليمات الانتقال واسم OEM، وتم وضع معلمات BPB في MS-DOS (الإزاحات 0x00B - 0x017 في قطاع التمهيد القياسي) عند الإزاحة 0x050 . دعمت أجهزة Portable وF1 وPC duo وXi FD تنسيق FAT12 غير قياسي ثنائي الجانب بحجم 720 كيلو بايت بدلاً من ذلك. [34] أدت الاختلافات في تخطيط قطاع التمهيد ومعرفات الوسائط إلى جعل هذه التنسيقات غير متوافقة مع العديد من أنظمة التشغيل الأخرى. معلمات الهندسة لهذه التنسيقات هي:

  • 315 كيلوبايت: بايتات لكل قطاع منطقي: 512 بايت، قطاعات منطقية لكل مجموعة: 1، قطاعات منطقية محجوزة: 1، عدد ملفات FAT: 2، إدخالات الدليل الجذر: 128، إجمالي القطاعات المنطقية: 630، معرف FAT: 0xFC ، قطاعات منطقية لكل ملف FAT: 2، قطاعات مادية لكل مسار: 9، عدد الرؤوس: 1. [34] [35]
  • 720 كيلوبايت: بايتات لكل قطاع منطقي: 512 بايت، قطاعات منطقية لكل مجموعة: 2، قطاعات منطقية محجوزة: 1، عدد ملفات FAT: 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] تم استخدام أول بايت من FAT المعاد وضعه في القطاع المنطقي 0 لتحديد سعة القرص. بدأت أقراص التمهيد سعة 640 كيلو بايت بنظام ملفات ADFS مصغر يحتوي على محمل التمهيد، متبوعًا بـ FAT واحد. [35] [36] كما اختلف تنسيق 640 كيلو بايت باستخدام أرقام قطاعات CHS المادية التي تبدأ بـ 0 (وليس 1، كما هو شائع) والقطاعات المتزايدة بالترتيب sector-track-head (وليس sector-head-track، كما هو شائع). [36] بدأ FAT في بداية المسار التالي. تجعل هذه الاختلافات هذه التنسيقات غير قابلة للتعرف عليها بواسطة أنظمة التشغيل الأخرى. معلمات الهندسة لهذه التنسيقات هي:

  • 800 كيلوبايت: بايتات لكل قطاع منطقي: 1024 بايت، قطاعات منطقية لكل مجموعة: 1، قطاعات منطقية محجوزة: 0، عدد ملفات FAT: 1، إدخالات الدليل الجذر: 192، إجمالي القطاعات المنطقية: 800، معرف FAT: 0xFD ، قطاعات منطقية لكل ملف FAT: 2، قطاعات مادية لكل مسار: 5، عدد الرؤوس: 2. [35] [36]
  • 640 كيلوبايت: بايتات لكل قطاع منطقي: 256 بايت، قطاعات منطقية لكل مجموعة: 8، قطاعات منطقية محجوزة: 16، عدد ملفات FAT: 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 BPB ثابتًا في الذاكرة بدلاً من ذلك). كان قطاع التمهيد (المسار 0، الجانب 0، القطاع 1) عبارة عن رمز Z80 يبدأ بـ DI 0xF3 . تم تحميل التمهيد 8088 بواسطة Z80. يبدأ المسار 1، الجانب 0، القطاع 2 ببايت Media/FAT ID 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] لتسريع أوقات الوصول لعمليات معينة (على وجه الخصوص، الحصول على مقدار المساحة الحرة). وهو يقع في رقم قطاع منطقي محدد في سجل تمهيد FAT32 EBPB في الموضع 0x030 (عادةً القطاع المنطقي 1، مباشرة بعد سجل التمهيد نفسه).

إزاحة البايت الطول (بايت) محتويات
0x000 4 توقيع قطاع معلومات FS ( 0x52 0x52 0x61 0x41 = " ") RRaA

طالما أن قطاع معلومات FS يقع في القطاع المنطقي 1، وهو الموقع الذي بدأ فيه FAT عادةً في أنظمة الملفات FAT12 وFAT16 (مع قطاع محجوز واحد فقط)، فإن وجود هذا التوقيع يضمن أن الإصدارات المبكرة من DOS لن تحاول أبدًا تحميل وحدة تخزين FAT32، حيث تتوقع أن تتبع القيم في المجموعة 0 والمجموعة 1 أنماط بت معينة، والتي لا يتم توفيرها بواسطة هذا التوقيع.

0x004 480 محجوز (يجب تعيين قيم البايت إلى 0x00 أثناء التنسيق، ولكن لا يمكن الاعتماد عليها ولا يمكن تغييرها أبدًا لاحقًا)
0x1E4 4 توقيع قطاع معلومات FS ( 0x72 0x72 0x41 0x61 = " ") rrAa
0x1E8 4 آخر عدد معروف من مجموعات البيانات المجانية على المجلد، أو 0xFFFFFFFF إذا كان غير معروف. يجب ضبطه على 0xFFFFFFFF أثناء التنسيق وتحديثه بواسطة نظام التشغيل لاحقًا. لا يجب الاعتماد عليه بشكل مطلق ليكون صحيحًا في جميع السيناريوهات. قبل استخدام هذه القيمة، يجب على نظام التشغيل التحقق من سلامة هذه القيمة للتأكد من أنها أقل من أو تساوي عدد مجموعات البيانات في المجلد.
0x1EC 4 عدد أحدث مجموعة بيانات معروفة تم تخصيصها. يجب ضبطه على 0xFFFFFFFF أثناء التنسيق وتحديثه بواسطة نظام التشغيل لاحقًا. باستخدام 0xFFFFFFFF، يجب أن يبدأ النظام في المجموعة 0x00000002 . لا يجب الاعتماد عليه بشكل مطلق ليكون صحيحًا في جميع السيناريوهات. قبل استخدام هذه القيمة، يجب على نظام التشغيل التحقق من سلامة هذه القيمة لتكون رقم مجموعة صالحًا على المجلد.
0x1F0 12 محجوز (يجب تعيين قيم البايت إلى 0x00 أثناء التنسيق، ولكن لا يمكن الاعتماد عليها ولا يمكن تغييرها أبدًا لاحقًا)
0x1FC 4 توقيع قطاع معلومات FS ( 0x00 0x00 0x55 0xAA ) [4] [ملاحظة 2] (يجب أن تتطابق جميع البايتات الأربعة قبل افتراض أن محتويات هذا القطاع بتنسيق صالح.)

قد تكون بيانات القطاع قديمة ولا تعكس محتويات الوسائط الحالية، وذلك لأن أنظمة التشغيل لا تقوم بتحديث أو استخدام هذا القطاع، وحتى إذا قامت بذلك، فإن المحتويات غير صالحة عندما يتم إخراج الوسيط دون فصل وحدة التخزين بشكل صحيح أو بعد انقطاع التيار الكهربائي. لذلك، يجب على أنظمة التشغيل أولاً فحص علامات البتات الاختيارية لحالة إيقاف التشغيل لوحدة التخزين الموجودة في إدخال FAT الخاص بالعناقيد 1 أو FAT32 EBPB عند الإزاحة 0x041 وتجاهل البيانات المخزنة في قطاع معلومات FS، إذا كانت هذه العلامات تشير إلى أن وحدة التخزين لم يتم فصلها بشكل صحيح من قبل. لا يتسبب هذا في أي مشاكل بخلاف عقوبة السرعة المحتملة لاستعلام المساحة الحرة الأول أو تخصيص مجموعة البيانات؛ راجع التجزئة.

إذا كان هذا القطاع موجودًا على وحدة تخزين FAT32، فإن الحد الأدنى لحجم القطاع المنطقي المسموح به هو 512 بايت، بينما بخلاف ذلك سيكون 128 بايت. تدعم بعض تطبيقات FAT32 اختلافًا طفيفًا في مواصفات Microsoft عن طريق جعل قطاع معلومات FS اختياريًا عن طريق تحديد قيمة 0xFFFF [19] (أو 0x0000 ) في الإدخال عند الإزاحة 0x030 .

منطقة الدهون

جدول تخصيص الملفات

خريطة المجموعة

تنقسم مساحة البيانات في وحدة التخزين إلى مجموعات متطابقة الحجم - كتل صغيرة من المساحة المتجاورة. تختلف أحجام المجموعات وفقًا لنوع نظام الملفات FAT المستخدم وحجم محرك الأقراص؛ تتراوح أحجام المجموعات النموذجية من 2 إلى 32 كيلوبايت . [39]

قد يشغل كل ملف مجموعة واحدة أو أكثر حسب حجمه. وبالتالي، يتم تمثيل الملف بسلسلة من المجموعات (يشار إليها باسم قائمة مرتبطة بشكل فردي ). لا يتم تخزين هذه المجموعات بالضرورة بجوار بعضها البعض على سطح القرص، ولكنها غالبًا ما تكون مجزأة في جميع أنحاء منطقة البيانات.

يستخدم كل إصدار من نظام الملفات FAT حجمًا مختلفًا لإدخالات FAT. تؤدي الأعداد الأصغر إلى حجم FAT أصغر، ولكنها تضيع المساحة في الأقسام الكبيرة بسبب الحاجة إلى تخصيصها في مجموعات كبيرة.

يستخدم نظام الملفات FAT12 12 بتًا لكل إدخال FAT، وبالتالي فإن إدخالين يمتدان على 3 بايتات. إنه دائمًا ما يكون صغيرًا : إذا تم اعتبار هذه البايتات الثلاثة كرقم واحد صغير مكون من 24 بتًا، فإن البتات الـ 12 الأقل أهمية تمثل الإدخال الأول (مثل المجموعة 0) والبتات الـ 12 الأكثر أهمية تمثل الإدخال الثاني (مثل المجموعة 1). بعبارة أخرى، بينما يتم تخزين البتات الثمانية المنخفضة للمجموعة الأولى في الصف في البايت الأول، يتم تخزين البتات الأربعة العليا في الجزء الصغير المنخفض من البايت الثاني، بينما يتم تخزين البتات الأربعة المنخفضة للمجموعة اللاحقة في الصف في الجزء الصغير العالي من البايت الثاني والبتات الثمانية الأعلى في البايت الثالث.

مثال على جدول FAT12 يبدأ بسلاسل مجموعات متعددة
الإزاحة +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +هـ
+0000 ف0 ف ف اف اف 03 40 00 05 60 00 07 80 00 اف اف أ ف 00 14
+0010 ج 0 00 هـ0 00 00 01 11 ف0 اف اف 00 ف 0 اف اف 15 60
+0020 01 19 7 0 اف اف ف7 أ ف 01 اف اف 0 ف 00 00 7 0 اف اف 00 00 00
  • معرف 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 16 بت لكل إدخال FAT، وبالتالي فإن الإدخال الواحد يمتد على بايتين في ترتيب البايتات الصغيرة:

مثال على جدول FAT16 يبدأ بسلاسل مجموعات متعددة
الإزاحة +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +هـ
+0000 ف0 اف اف اف اف اف اف 03 00 04 00 05 00 06 00 07 00 08 00
+0010 اف اف اف اف 00 14 00 0 درجة مئوية 00 00 0هـ 00 00 10 00
+0020 11 00 اف اف اف اف 00 00 اف اف اف اف 15 00 16 00 19 00 ف7 اف اف
+0030 ف7 اف اف 00 اف اف اف اف 00 00 00 00 ف7 اف اف 00 00 00 00

يستخدم نظام الملفات FAT32 32 بتًا لكل إدخال FAT، وبالتالي فإن كل إدخال يمتد على أربعة بايتات بترتيب بايتات صغير. يتم حجز البتات الأربعة العلوية لكل إدخال لأغراض أخرى؛ يتم مسحها أثناء التنسيق ولا ينبغي تغييرها بخلاف ذلك. يجب إخفاءها قبل تفسير الإدخال كعنوان مجموعة مكون من 28 بت.

مثال على جدول FAT32 يبدأ بسلاسل مجموعات متعددة
الإزاحة +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +هـ
+0000 ف0 اف اف اف اف اف اف اف اف اف اف اف اف اف اف اف اف 04 00 00 00
+0010 05 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00
+0020 اف اف اف اف اف اف 00 00 00 14 00 00 00 0 درجة مئوية 00 00 00
+0030 00 00 00 0هـ 00 00 00 00 00 00 10 00 00 00
+0040 11 00 00 00 اف اف اف اف اف اف 00 00 00 00 اف اف اف اف اف اف
+0050 15 00 00 00 16 00 00 00 19 00 00 00 ف7 اف اف اف اف
+0060 ف7 اف اف اف اف 00 00 00 اف اف اف اف اف اف 00 00 00 00
+0070 00 00 00 00 ف7 اف اف اف اف 00 00 00 00 00 00 00 00
  • السلسلة الأولى (مجموعة واحدة) للدليل الجذر، والتي يتم الإشارة إليها بواسطة إدخال في FAT32 BPB (هنا: #2)
  • السلسلة الثانية (6 مجموعات) لملف غير مجزأ (هنا: #3، #4، #5، #6، #7، #8)

جدول تخصيص الملفات ( FAT ) هو عدد متجاور من القطاعات التي تأتي مباشرة بعد مساحة القطاعات المحجوزة. وهو يمثل قائمة من الإدخالات التي يتم تعيينها لكل مجموعة على المجلد. ويسجل كل إدخال أحد الأشياء الأربعة التالية:

  • رقم المجموعة للمجموعة التالية في السلسلة
  • مدخل خاص لنهاية سلسلة المجموعة ( EOC ) يشير إلى نهاية السلسلة
  • إدخال خاص لتمييز المجموعة السيئة
  • صفر للإشارة إلى أن المجموعة غير مستخدمة

لكي تتمكن الإصدارات المبكرة جدًا من نظام DOS من التعرف على نظام الملفات، يجب أن يكون النظام قد تم تمهيده من المجلد أو يجب أن يبدأ ملف FAT للمجلد بالقطاع الثاني للمجلد (القطاع المنطقي 1 بعنوان CHS الفعلي 0/0/2 أو عنوان LBA 1)، أي بعد قطاع التمهيد مباشرةً. تفترض أنظمة التشغيل هذا الموقع الثابت لملف FAT من أجل العثور على معرف 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)، أو 8 بتات (إذا كانت FAT16) أو 20 بتًا (إذا كانت FAT32، فإن بتات MSB الأربعة هي صفر) من هذا الإدخال تكون دائمًا 1. تم ترتيب هذه القيم بحيث يعمل الإدخال أيضًا كعلامة نهاية سلسلة "فخ" لجميع مجموعات البيانات التي تحتوي على قيمة صفر. بالإضافة إلى ذلك، بالنسبة لمعرفات FAT بخلاف 0xFF0x00 )، من الممكن تحديد الترتيب الصحيح للنيبل والبايت (الذي يجب استخدامه) بواسطة برنامج تشغيل نظام الملفات، ومع ذلك، يستخدم نظام الملفات FAT رسميًا تمثيلًا صغيرًا فقط ولا توجد تنفيذات معروفة للمتغيرات التي تستخدم قيمًا كبيرة بدلاً من ذلك. استخدمت إصدارات 86-DOS 0.42 وحتى MS-DOS 1.14 ملفات تعريف محرك الأقراص السلكية بدلاً من معرف FAT، ولكنها استخدمت هذا البايت للتمييز بين الوسائط المنسقة بإدخالات دليل مكونة من 32 بايت أو 16 بايت، كما كانت تستخدم قبل 86-DOS 0.42.

يخزن الإدخال الثاني (المجموعة 1 في FAT) اسميًا علامة نهاية سلسلة المجموعة كما يستخدمها المُنسِّق، ولكنه عادةً ما يحتفظ دائمًا بـ 0xFFF / 0xFFFF / 0x0FFFFFFFF ، أي باستثناء البتات 31-28 على وحدات تخزين FAT32، يتم تعيين هذه البتات عادةً دائمًا. ومع ذلك، تقوم بعض أنظمة تشغيل Microsoft بتعيين هذه البتات إذا لم تكن وحدة التخزين هي وحدة التخزين التي تحتفظ بنظام التشغيل قيد التشغيل (أي، استخدم 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، قد يحتفظ قطاع معلومات FS ببيانات قديمة وبالتالي لا ينبغي استخدامه. ثم يقوم نظام التشغيل عادةً بتشغيل SCANDISK أو CHKDSK عند بدء التشغيل التالي [nb 9] [41] (ولكن ليس عند إدخال وسائط قابلة للإزالة) لضمان وإعادة تأسيس سلامة وحدة التخزين.
إذا تم مسح البت 14 (على FAT16) أو البت 26 (على FAT32) [41] ، فقد واجه نظام التشغيل أخطاء إدخال/إخراج القرص عند بدء التشغيل، [41] وهو مؤشر محتمل للقطاعات التالفة. ستفسر أنظمة التشغيل التي تدرك هذا الامتداد هذا على أنه توصية بإجراء فحص سطحي ( SCANDISK ) عند التمهيد التالي. [27] [41] (توجد مجموعة مماثلة من علامات البت في EBPB FAT12/FAT16 عند الإزاحة 0x1A أو EBPB FAT32 عند الإزاحة 0x36 . وبينما يمكن الوصول إلى إدخال المجموعة 1 بواسطة برامج تشغيل نظام الملفات بمجرد تحميل وحدة التخزين، فإن إدخال EBPB متاح حتى عندما لا يتم تحميل وحدة التخزين وبالتالي يكون من الأسهل استخدامه بواسطة برامج تشغيل أجهزة كتلة القرص أو أدوات التقسيم.)

إذا لم يتم تعيين عدد FATs في BPB على 2، فقد يعكس إدخال المجموعة الثانية في FAT الأول (المجموعة 1) أيضًا حالة وحدة تخزين TFAT لأنظمة التشغيل التي تدعم TFAT. إذا كان إدخال المجموعة 1 في FAT يحمل القيمة 0، فقد يشير هذا إلى أن FAT الثاني يمثل آخر حالة معاملة صالحة معروفة ويجب نسخها فوق FAT الأول، بينما يجب نسخ FAT الأول فوق FAT الثاني إذا تم تعيين جميع البتات.

تستخدم بعض تطبيقات FAT12/FAT16 غير القياسية إدخال المجموعة 1 لتخزين المجموعة الأولية لدليل جذر متغير الحجم (عادةً 2 [33] ). قد يحدث هذا عندما يكون عدد إدخالات دليل الجذر في BPB يحمل قيمة 0 ولا يتم العثور على FAT32 EBPB (لا يوجد توقيع 0x29 أو 0x28 عند الإزاحة 0x042 ). [20] ومع ذلك، لا تدعم أنظمة التشغيل الرئيسية هذا الامتداد، [20] لأنه يتعارض مع الاستخدامات المحتملة الأخرى لإدخال المجموعة 1. يمكن استبعاد معظم التعارضات إذا كان هذا الامتداد مسموحًا به فقط لـ FAT12 مع أقل من 0xFEF ومجلدات FAT16 مع أقل من 0x3FEF ومجموعتين FAT.

نظرًا لأن هذين الإدخالين الأولين لـ FAT يخزنان قيمًا خاصة، فلا توجد مجموعات بيانات 0 أو 1. مجموعة البيانات الأولى (بعد الدليل الجذر إذا كان FAT12/FAT16) هي المجموعة 2، [33] التي تمثل بداية منطقة البيانات.

قيم المجموعة

قيم إدخال FAT:

فات12 فات 16 نظام الملفات 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 / 0x0FFFFFFEF (وأحيانًا أكثر؛ انظر أدناه)، بينما بالنسبة إلى Atari GEMDOS، يُسمح فقط بالقيم التي تصل إلى 0x7FFF على وحدات تخزين FAT16.
0xFF0 [ملاحظة 10]  - 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 [nb 10] [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 10] راجع الملاحظة) 0xFFF8 - 0xFFFF 0x?FFFFFF8 - 0x?FFFFFF آخر مجموعة في الملف (EOC). يجب أن تعالج تطبيقات نظام الملفات كل هذه القيم كعلامة نهاية السلسلة في نفس الوقت. [7] تستخدم معظم تطبيقات نظام الملفات (بما في ذلك 86-DOS وMS-DOS وPC DOS وDR-DOS) 0xFFF [7] / 0xFFFF [7] / 0x0FFFFFFFF كعلامة نهاية الملف عند تخصيص الملفات، ولكن إصدارات Linux قبل 2.5.40 استخدمت 0xFF8 / 0xFFFF8 / 0x0FFFFFF8 . [45] تستمر إصدارات mkdosfs (dosfstools حتى 3.0.26) في استخدام 0x0FFFFFF8 للدليل الجذر على وحدات تخزين FAT32، بينما تستخدم بعض أدوات إصلاح القرص وإلغاء التجزئة قيمًا أخرى في المجموعة (على سبيل المثال، قد يستخدم SCANDISK 0xFF8 / 0xFFFF8 / 0x0FFFFFF8 بدلاً من ذلك). بينما في تنفيذ FAT الأصلي ذي الثماني بتات في برنامج Microsoft Standalone Disk BASIC، تم استخدام علامات نهاية مختلفة ( 0xC0 .. 0xCD ) للإشارة إلى عدد القطاعات (0 إلى 13) المستخدمة في آخر مجموعة يشغلها ملف، تم إعادة استخدام علامات نهاية مختلفة تحت نظام التشغيل DOS للإشارة إلى أنواع مختلفة من الوسائط، [7] مع الإشارة إلى علامة النهاية المستخدمة حاليًا في إدخال المجموعة 1، ومع ذلك، لا يبدو أن هذا المفهوم قد تم استخدامه على نطاق واسع في الممارسة العملية - وإلى الحد الذي قد لا تتعرف فيه بعض أنظمة التشغيل على وحدات التخزين في بعض السيناريوهات، إذا لم يتم تعيين بعض البتات ذات الترتيب المنخفض للقيمة المخزنة في المجموعة 1. أيضًا، تقبل بعض تطبيقات أنظمة الملفات المعيبة 0xFFF / 0xFFFF / 0x?FFFFFFF فقط كعلامة نهاية سلسلة صالحة.

يجب أن تتحقق تطبيقات أنظمة الملفات من قيم المجموعات في سلاسل المجموعات مقابل الحد الأقصى المسموح به لقيمة المجموعة المحسوبة بالحجم الفعلي للمجلد وتعامل القيم الأعلى كما لو كانت علامات نهاية السلسلة أيضًا. (يتوافق البايت المنخفض لرقم المجموعة مفهوميًا مع قيم معرف FAT وواصف الوسائط؛ [7] راجع الملاحظة أعلاه للاستخدام الخاص لـ MS-DOS/PC DOS لـ 0xFF0 [nb 10] على مجلدات FAT12. [6] )

يستخدم نظام الملفات FAT32 28 بتًا لأرقام المجموعة. عادةً ما تكون البتات الأربعة المتبقية في إدخال 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، أيًا كان ما يحدث قبل ذلك. لا تخزن أنظمة DOS المتزامنة وDOS متعدد المستخدمين وDR DOS 3.31 إلى 6.0 (حتى تحديثات 1992-11) مسارات مطلقة إلى الدلائل العاملة داخليًا وبالتالي لا تظهر هذا القيد. [47] وينطبق الشيء نفسه على Atari GEMDOS، لكن Atari Desktop لا يدعم أكثر من 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 ما يلي:

  • الحروف الكبيرة AZ
  • الأرقام-09
  • المسافة (على الرغم من أن المسافات الزائدة في الاسم الأساسي أو الامتداد تعتبر حشوًا وليست جزءًا من اسم الملف؛ كما أن أسماء الملفات التي تحتوي على مسافة لم يكن من الممكن استخدامها بسهولة على سطر أوامر DOS قبل Windows 95 بسبب عدم وجود نظام إفلات مناسب ). هناك استثناء آخر وهو الأوامر الداخلية MKDIR/ MDو RMDIR/ RDضمن DR-DOS والتي تقبل وسيطات مفردة وبالتالي تسمح بإدخال المسافات.
  • ! # $ % & ' ( ) - @ ^ _ ` { } ~
  • الشخصيات 128-228
  • الشخصيات 230-255

يستثني هذا الأحرف ASCII التالية :

  • " * / : < > ? \ |
    لا يوجد حرف إفلات shell في نظامي التشغيل Windows/MS-DOS
  • + , . ; = [ ]
    مسموح به في أسماء الملفات الطويلة فقط
  • الأحرف الصغيرة az
    مخزنة كـ AZ؛ مسموح بها في أسماء الملفات الطويلة
  • أحرف التحكم 0–31
  • الحرف 127 (حذف)

لم يُسمح باستخدام الحرف 229 ( 0xE5 ) كحرف أول في اسم الملف في نظامي التشغيل DOS 1 و2 بسبب استخدامه كعلامة إدخال مجانية. تمت إضافة حالة خاصة للالتفاف على هذا القيد في نظامي التشغيل DOS 3.0 والإصدارات الأحدث.

يُسمح بالأحرف الإضافية التالية على نظام GEMDOS الخاص بشركة Atari، ولكن يجب تجنبها من أجل التوافق مع 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]

في نظامي التشغيل DOS متعدد المستخدمين وREAL/32، لا تعد علامة التعجب (!) حرف اسم ملف صالحًا لأنها تستخدم لفصل الأوامر المتعددة في سطر أوامر واحد. [47]

في أنظمة التشغيل IBM 4680 و4690، لا يُسمح بالأحرف التالية في أسماء الملفات:

  • ? * : . ; , [ ] ! + = < > " - / \ |

بالإضافة إلى ذلك، لا يُسمح بالأحرف الخاصة التالية في الحرف الأول والرابع والخامس والثامن من اسم الملف، لأنها تتعارض مع معالج أوامر المضيف (HCP) وأسماء ملفات بناء جدول تسلسل الإدخال:

  • @ # ( ) { } $ &

أسماء ملفات DOS موجودة في مجموعة أحرف OEM الحالية : يمكن أن يكون لهذا تأثيرات مفاجئة إذا تم تفسير الأحرف التي تتم معالجتها بطريقة ما لصفحة رمز معينة بشكل مختلف لصفحة رمز أخرى (أمر DOS CHCP) فيما يتعلق بالأحرف الصغيرة والكبيرة، أو الفرز، أو الصلاحية كحرف اسم ملف.

إدخال الدليل

قبل أن تضيف شركة Microsoft الدعم لأسماء الملفات الطويلة وطوابع الوقت الخاصة بالإنشاء/الوصول، كانت البايتات 0x0C0x15 من إدخال الدليل تستخدمها أنظمة تشغيل أخرى لتخزين بيانات تعريفية إضافية، وأبرزها أن أنظمة التشغيل من عائلة Digital Research كانت تخزن كلمات مرور الملفات وحقوق الوصول ومعرفات المالك وبيانات حذف الملفات هناك. وفي حين أن ملحقات Microsoft الأحدث ليست متوافقة تمامًا مع هذه الملحقات افتراضيًا، إلا أن معظمها يمكن أن تتعايش في تطبيقات FAT التابعة لجهات خارجية (على الأقل على وحدات تخزين FAT12 وFAT16).

تكون إدخالات الدليل المكونة من 32 بايت، سواء في منطقة الدليل الجذر أو في الدلائل الفرعية، بالتنسيق التالي (انظر أيضًا 8.3 اسم الملف ):

إزاحة البايت الطول (بايت) محتويات
0x00 8 اسم ملف قصير (مبطن بالمسافات)

يمكن أن يحتوي البايت الأول على القيم الخاصة التالية:

قيمة وصف
0x00 الإدخال متاح ولا يوجد إدخال لاحق قيد الاستخدام. كما يعمل كعلامة نهاية عندما يقوم DOS بمسح جدول دليل. (منذ MS-DOS 1.25 وPC DOS 2.0، ليس في الإصدارات السابقة من MS-DOS أو PC DOS أو 86-DOS. بدلاً من ذلك، سيعاملون مثل هذه الإدخالات على أنها مخصصة. لذلك، لا يجب استخدام هذه القيمة كعلامة نهاية، إذا كان من المفترض أن يظل المجلد قابلاً للوصول إليه في نظامي التشغيل PC DOS 1.0/1.1 أيضًا. [nb 11] [49] [50] [51] )
0x05 الحرف الأولي هو في الواقع 0xE5 . (منذ DOS 3.0)

في نظام DR DOS 6.0 والإصدارات الأحدث، بما في ذلك PalmDOS وNovell DOS وOpenDOS، يُستخدم 0x05 أيضًا للملفات المحذوفة المعلقة ضمن DELWATCH. بمجرد إزالتها من قائمة تعقب الحذف، يتم استبدال الحرف الأول من الملف الممسوح بـ 0xE5 .

0x2E إدخال "نقطة"؛ إما " ." أو " .." (منذ MS-DOS 1.40 وPC DOS 2.0)
0xE5 تم مسح الإدخال مسبقًا و/أو أصبح متاحًا. [nb 11] [49] [50] [51] يجب أن تستبدل أدوات استعادة الملفات المحذوفة هذا الحرف بحرف عادي كجزء من عملية استعادة الملفات المحذوفة. انظر أيضًا: 0x05 .

تم اختيار القيمة 0xE5 لهذا الغرض في نظام التشغيل 86-DOS لأن أقراص CP/M المرنة مقاس 8 بوصات كانت تأتي مُهيأة مسبقًا بهذه القيمة المملوءة وبالتالي يمكن استخدامها لتخزين الملفات خارج الصندوق. [42] [nb 12]

تبدأ إصدارات DOS السابقة للإصدار 5.0 في فحص جداول الدليل من أعلى جدول الدليل إلى أسفله. ولزيادة فرص استعادة الملف المحذوف بنجاح، سيتذكر نظام DOS الإصدار 5.0 والإصدارات الأحدث موضع آخر إدخال مكتوب في الدليل ويستخدمه كنقطة بداية لفحص جداول الدليل.

0x08 3 امتداد الملف القصير (مبطن بالمسافات)
0x0ب 1 سمات الملف
قليل قناع وصف
0 0x01 للقراءة فقط. (منذ DOS 2.0) إذا تم تعيين هذا البت، فلن يسمح نظام التشغيل بفتح الملف للتعديل.

قد يساعد تعيين هذا البت عمدًا للملفات التي لن تتم الكتابة إليها (الملفات القابلة للتنفيذ والمكتبات المشتركة وملفات البيانات) على تجنب المشكلات المتعلقة بالوصول المتزامن إلى الملفات في بيئات متعددة المهام أو متعددة المستخدمين أو الشبكات مع تطبيقات غير مصممة خصيصًا للعمل في مثل هذه البيئات (أي البرامج غير الممكّنة لـ SHARE).

يستخدم معيار نظام ملفات الكاميرا الرقمية DCF سمة القراءة فقط للسماح بوضع علامة على الدلائل أو الملفات الفردية ( كائنات DCF ) على أنها "محمية" من الحذف بواسطة المستخدم. [52]

1 0x02 مخفي. يخفي الملفات أو الدلائل من طرق عرض الدلائل العادية.

في نظام DR DOS 3.31 والإصدارات الأحدث، وفي PalmDOS وNovell DOS وOpenDOS وConcurrent DOS وMultiuser DOS وREAL/32، يتم أيضًا تعيين السمة المخفية للملفات والدلائل المحمية بكلمة مرور. [47] لا ينبغي لأنظمة التشغيل التي تتعرف على كلمة المرور إخفاء الملفات المحمية بكلمة مرور من عروض الدليل، حتى إذا تم تعيين هذا البت. لا تعتمد آلية حماية كلمة المرور على إعداد السمة المخفية لتشمل DR-DOS 7.03، ولكن إذا تم تعيين السمة المخفية، فلا ينبغي مسحها لأي ملفات محمية بكلمة مرور.

2 0x04 النظام. يشير إلى أن الملف ينتمي إلى النظام ويجب عدم نقله فعليًا (على سبيل المثال، أثناء إلغاء التجزئة)، لأنه قد تكون هناك مراجع إلى الملف باستخدام التوجيه المطلق الذي يتجاوز نظام الملفات (محملات التمهيد، صور النواة، ملفات المبادلة، السمات الممتدة، وما إلى ذلك).
3 0x08 تسمية وحدة التخزين. (منذ MS-DOS 1.28 وPC DOS 2.0) تشير إلى تسمية وحدة تخزين دليل اختيارية، توجد عادةً فقط في الدليل الجذر لوحدة التخزين. من الناحية المثالية، يجب أن تكون تسمية وحدة التخزين هي الإدخال الأول في الدليل (بعد الإدخالات المحجوزة) لتجنب المشكلات المتعلقة بـ VFAT LFNs. إذا لم تكن تسمية وحدة التخزين هذه موجودة، فقد تلجأ بعض الأنظمة إلى عرض تسمية وحدة تخزين القسم بدلاً من ذلك، إذا كان EBPB موجودًا في قطاع التمهيد (غير موجود مع بعض برامج تشغيل الأجهزة غير القابلة للتمهيد، وربما لا يمكن الكتابة عليه مع حماية الكتابة في قطاع التمهيد). حتى إذا كانت تسمية وحدة التخزين هذه موجودة، فقد تعرض أدوات التقسيم مثل FDISK تسمية وحدة تخزين القسم بدلاً من ذلك. يشغل الإدخال إدخال دليل ولكن لا يوجد ملف مرتبط به. تحتوي تسميات وحدة التخزين على إدخال حجم ملف يساوي صفرًا.

يتم تعيين سمة وحدة التخزين للملفات والدلائل المعلقة التي تقع ضمن DELWATCH حتى يتم مسحها أو إلغاء حذفها. [47]

4 0x10 دليل فرعي. (منذ MS-DOS 1.40 وPC DOS 2.0) يشير إلى أن سلسلة المجموعة المرتبطة بهذا الإدخال يتم تفسيرها كدليل فرعي بدلاً من ملف. تحتوي الدلائل الفرعية على إدخال بحجم ملف يساوي صفرًا.
5 0x20 الأرشيف . (منذ DOS 2.0) يتم تعيينه عادةً بواسطة نظام التشغيل بمجرد إنشاء الملف أو تعديله لتمييز الملف على أنه "متسخ"، ويتم إعادة تعيينه بواسطة برنامج النسخ الاحتياطي بمجرد إجراء نسخة احتياطية للملف للإشارة إلى الحالة "الخالصة".
6 0x40 لا يجوز تغيير الجهاز (الذي تم ضبطه داخليًا لأسماء الأجهزة الحرفية الموجودة في مواصفات الملف، ولم يتم العثور عليه مطلقًا على القرص) بواسطة أدوات القرص.
7 0x80 محجوز، لا يجوز تغييره بواسطة أدوات القرص.

في نظام DR DOS 6.0 والإصدارات الأحدث، بما في ذلك PalmDOS وNovell DOS وOpenDOS، يتم تعيين سمة وحدة التخزين للملفات والدلائل المعلقة المحذوفة ضمن DELWATCH.

تُستخدم مجموعة السمات 0x0F لتعيين إدخال اسم ملف طويل بتنسيق VFAT منذ MS-DOS 7.0. وقد تخطئ الإصدارات الأقدم من نظام التشغيل DOS في اعتبار هذا الإدخال علامة مجلد دليل، حيث تأخذ الإدخال الأول الذي تم تعيين سمة المجلد عليه كعلامة مجلد. ويمكن تجنب هذه المشكلة إذا تم فرض علامة مجلد دليل كجزء من عملية التنسيق؛ ولهذا السبب تكتب بعض أدوات القرص صراحةً علامات مجلد دليل وهمية " " عندما لا يحدد المستخدم علامة مجلد. [nb 13] نظرًا لأن علامات المجلد لا تحتوي عادةً على سمة النظام المضبوطة في نفس الوقت، فمن الممكن التمييز بين علامات المجلد وإدخالات VFAT LFN. قد تحدث تركيبة السمات 0x0F أحيانًا أيضًا كجزء من ملف حذف معلق صالح ضمن DELWATCH، ومع ذلك، في وحدات تخزين FAT12 وFAT16، تحتوي إدخالات VFAT LFN دائمًا على قيمة المجموعة عند 0x1A مضبوطة على 0x0000 ولا يكون إدخال الطول عند 0x1C أبدًا 0x00000000 ، بينما يكون الإدخال عند 0x1A دائمًا غير صفري لملفات الحذف المعلقة ضمن DELWATCH. لا يعمل هذا الفحص على وحدات تخزين FAT32. NO␠NAME␠␠␠␠

0x0ج 1
  • يخزن CP/M-86 و DOS Plus سمات المستخدم F1'—F4' هنا. [53] (يدعم DOS Plus 1.2 مع BDOS 4.1 كلمات المرور فقط على وسائط CP/M، وليس على وسائط FAT12 أو FAT16. [54] بينما يدعم DOS Plus 2.1 أنظمة FAT ذات القطاعات المنطقية مع نوع القسم 0xF2 ، لم تدعم أنظمة التشغيل هذه وحدات تخزين FAT16B وFAT32. حتى إذا تم تحويل القسم إلى FAT16B، فلن يكون حجمه أكبر من 32 ميجا بايت. لذلك، لا يتعارض هذا الاستخدام مع FAT32.IFS أو FAT16+ أو FAT32+ حيث لا يمكن أن يحدث ذلك على نفس نوع وحدة التخزين.):
قليل قناع وصف
7 0x80 F1': تعديل قواعد الفتح الافتراضية [47]
6 0x40 F2': إغلاق جزئي افتراضي [47]
5 0x20 F3': تجاهل خطأ مجموع الاختبار القريب [47]
4 0x10 F4': تعطيل مجموعات الاختبار [47]
3 0x08 محجوز
2 0x04 الحذف يتطلب كلمة مرور
1 0x02 الكتابة تتطلب كلمة مرور
0 0x01 القراءة تتطلب كلمة مرور
  • MSX-DOS  2: بالنسبة للملف المحذوف، الحرف الأول الأصلي لاسم الملف. وللحصول على نفس الميزة في أنظمة تشغيل أخرى مختلفة، راجع الإزاحة 0x0D إذا تم تمكينها في قطاعات تمهيد MSX عند إزاحة القطاع 0x026 . يدعم MSX-DOS وحدات تخزين FAT12 فقط، ولكن توجد ملحقات خارجية لوحدات تخزين FAT16. وبالتالي، لا يتعارض هذا الاستخدام مع FAT32.IFS وFAT32+ أدناه. ولا يتعارض أيضًا مع الاستخدام لسمات المستخدم في CP/M-86 وDOS Plus، حيث لم تعد مهمة للملفات المحذوفة.
  • يستخدم Windows NT والإصدارات الأحدث البتات 3 و4 لتشفير معلومات الحالة (انظر VFAT)؛ وإلا فيستخدم البتات 0. [55]
  • تم حجز البتات غير 3 و4 في DR-DOS 7.0x لأغراض داخلية منذ عام 1997. يجب ضبط القيمة على 0 بواسطة أدوات التنسيق ويجب عدم تغييرها بواسطة أدوات القرص. [47]
  • في وحدات تخزين FAT32 التي تعمل بنظامي التشغيل OS/2 وeComStation، يستخدم برنامج التشغيل FAT32.IFS التابع لجهة خارجية هذا الإدخال كبايت علامة للإشارة إلى وجود ␠EA.␠SFملفات " " إضافية تحمل سمات ممتدة مع المعلمة /EAS. استخدمت الإصدارات من 0.70 إلى 0.96 القيم السحرية 0x00 (بدون EAs)، و 0xEA (EAs عادية) و 0xEC (EAs حرجة)، [56] بينما تستخدم الإصدارات 0.97 والإصدارات الأحدث منذ 2003-2009 القيم 0x00 و 0x40 (EAs عادية) و 0x80 (EAs حرجة) كعلامات بت للتوافق مع Windows NT. [57] [58]
0x0د 1
  • الحرف الأول من ملف محذوف في أنظمة Novell DOS وOpenDOS وDR-DOS 7.02 والإصدارات الأحدث. ستمنع قيمة 0xE5 (229)، كما تم ضبطها بواسطة DELPURGE، إعادة الحذف بواسطة UNDELETE، وستسمح قيمة 0x00 بإعادة الحذف التقليدية من خلال مطالبة المستخدم بالحرف الأول المفقود من اسم الملف. [47] تدعم أنظمة S/DOS 1 وPTS-DOS 6.51 والإصدارات الأحدث هذه الميزة أيضًا إذا تم تمكينها في CONFIG.SYS. بالنسبة لنفس الميزة في MSX-DOS، راجع offset 0x0C .SAVENAME=ON
  • وقت الإنشاء، الدقة الدقيقة: وحدات 10 مللي ثانية، قيم من 0 إلى 199 (منذ DOS 7.0 مع VFAT).

لا يؤدي الاستخدام المزدوج لوقت الإنشاء ms وchar الملف إلى إنشاء تعارض، نظرًا لأن وقت الإنشاء لم يعد مهمًا للملفات المحذوفة.

0x0E 2
  • في نظام DR DOS 3.31 والإصدارات الأحدث بما في ذلك PalmDOS وNovell DOS وOpenDOS [53] وكذلك في Concurrent DOS وMultiuser DOS وSystem Manager وREAL/32 وربما أيضًا في FlexOS و4680 OS و4690 OS، تشير أي قيمة غير صفرية إلى تجزئة كلمة المرور لملف محمي أو دليل أو تسمية وحدة تخزين. [47] يتم حساب التجزئة من أول ثمانية أحرف من كلمة المرور. إذا كانت عملية الملف المراد تنفيذها تتطلب كلمة مرور وفقًا لخريطة بتات حقوق الوصول المخزنة عند الإزاحة 0x14 ، يحاول النظام مطابقة التجزئة مع رمز التجزئة لكلمة المرور العالمية المحددة حاليًا (بواسطة ) أو، إذا فشل هذا، يحاول استخراج كلمة مرور مضافة بفاصلة منقوطة من مواصفات الملف التي تم تمريرها إلى نظام التشغيل ويتحقق منها مقابل رمز التجزئة المخزن هنا. سيتم الاحتفاظ بكلمة المرور المحددة حتى إذا تم حذف ملف ثم إلغاء حذفه لاحقًا. [47]PASSWORD /G
  • إنشاء الوقت (منذ DOS 7.0 مع VFAT). يتم ترميز الساعة والدقيقة والثانية وفقًا لخريطة البت التالية:

أجزاء وصف
15-11 ساعات (0–23)
10-5 الدقائق (0–59)
4-0 ثواني/2 (0–29)
يتم تسجيل الثواني بدقة 2 ثانية فقط. توجد دقة أدق لإنشاء الملفات عند الإزاحة 0x0D .

إذا كانت البتات 15-11 > 23 أو البتات 10-5 > 59 أو البتات 4-0 > 29 هنا، أو عندما تحتوي البتات 12-0 عند الإزاحة 0x14 على خريطة بتات وصول وهذا ليس وحدة تخزين FAT32 أو وحدة تخزين تستخدم سمات OS/2 الموسعة، فإن هذا الإدخال يحتوي في الواقع على تجزئة كلمة مرور، وإلا فيمكن افتراض أنه وقت إنشاء ملف.

0x10 2
  • تخزن أنظمة التشغيل FlexOS و 4680 OS و 4690 OS حجم سجل في الكلمة عند الإدخال 0x10 . [53] يُستخدم هذا بشكل أساسي لأنواع الملفات الخاصة التي تشبه قواعد البيانات مثل الملف العشوائي والملف المباشر والملف المفتاحي والملف المتسلسل . إذا تم تعيين حجم السجل على 0 (افتراضي) أو 1، تفترض أنظمة التشغيل حبيبات السجل بمقدار 1 بايت للملف، ولن تقوم بإجراء فحوصات حدود السجل في عمليات القراءة/الكتابة. [59]
  • مع DELWATCH 2.00 والإصدارات الأحدث ضمن Novell DOS 7 وOpenDOS 7.01 وDR-DOS 7.02 والإصدارات الأحدث، يتم استخدام هذا الإدخال لتخزين آخر طابع زمني تم تعديله للملفات والدلائل المعلقة المحذوفة. [47] [53] يتم مسحه عند إلغاء حذف الملف أو مسحه. راجع الإزاحة 0x0E لوصف التنسيق.
  • إنشاء التاريخ (منذ DOS 7.0 مع VFAT). يتم ترميز السنة والشهر واليوم وفقًا لخريطة البت التالية:

أجزاء وصف
15-9 السنة (0 = 1980 ، 119 = 2099 مدعومة في نظامي التشغيل DOS/Windows، نظريًا حتى 127 = 2107 )
8-5 الشهر (1-12)
4-0 اليوم (1–31)

لا يتعارض استخدام تاريخ إنشاء الملفات الموجودة مع وقت آخر تعديل للملفات المحذوفة لأنه لا يتم استخدامهما في نفس الوقت أبدًا. وللسبب نفسه، لا يتعارض استخدام حجم سجل الملفات الموجودة ووقت آخر تعديل للملفات المحذوفة. لا يمكن استخدام تواريخ الإنشاء وأحجام السجلات في نفس الوقت، ومع ذلك، يتم تخزين كليهما فقط عند إنشاء الملف ولا يتم تغييرهما أبدًا لاحقًا، وبالتالي يقتصر التعارض على أنظمة FlexOS و4680 OS و4690 OS التي تصل إلى الملفات التي تم إنشاؤها في أنظمة تشغيل أجنبية بالإضافة إلى مشكلات العرض أو فرز الملفات المحتملة على الأنظمة التي تحاول تفسير حجم السجل على أنه وقت إنشاء. لتجنب التعارض، يجب أن يكون تخزين تواريخ الإنشاء ميزة اختيارية لأنظمة التشغيل التي تدعمها.

0x12 2
  • تستخدم أنظمة FlexOS و4680 OS و4690 OS وMultiuser DOS وSystem Manager وREAL/32 وDR DOS 6.0 والإصدارات الأحدث مع تمكين أمان تعدد المستخدمين هذا الحقل لتخزين معرفات المالك. [47] يحتوي الإزاحة 0x12 على معرف المستخدم، و0x13 معرف مجموعة منشئ الملف. [53]
في الإصدارات متعددة المستخدمين، يتطلب الوصول إلى النظام تسجيل الدخول باسم الحساب وكلمة المرور، ويقوم النظام بتعيين معرفات المجموعة والمستخدم للتطبيقات الجارية وفقًا لمعلومات التفويض المخزنة والمُعدة مسبقًا وقواعد الميراث. بالنسبة لنظام التشغيل 4680 ونظام التشغيل 4690، يتم حجز معرف المجموعة 1 للنظام، ومعرف المجموعة 2 للبائع، ومعرف المجموعة 3 لمجموعة المستخدمين الافتراضية. التطبيقات الخلفية التي يبدأ تشغيلها بواسطة المستخدمين لها معرف مجموعة 2 ومعرف مستخدم 1، في حين أن مهام الخلفية لنظام التشغيل لها معرفات مجموعة 1 أو 0 ومعرفات مستخدم 1 أو 0. IBM 4680 BASIC والتطبيقات التي يتم تشغيلها كأولية أو ثانوية تحصل دائمًا على معرف المجموعة 2 ومعرف المستخدم 1. عندما تنشئ التطبيقات ملفات، سيخزن النظام معرف المستخدم ومعرف المجموعة والأذونات المطلوبة مع الملف. [59]
  • مع DELWATCH 2.00 والإصدارات الأحدث في Novell DOS 7 وOpenDOS 7.01 وDR-DOS 7.02 والإصدارات الأحدث، يتم استخدام هذا الإدخال لتخزين ختم تاريخ التعديل الأخير للملفات والدلائل المعلقة التي سيتم حذفها. [47] [53] يتم مسحه عند إلغاء حذف الملف أو مسحه. راجع الإزاحة 0x10 لوصف التنسيق.
  • تاريخ آخر وصول (منذ DOS 7.0 إذا تم تمكين ACCDATE في CONFIG.SYS للمحرك المقابل)؛ [2] [47] راجع الإزاحة 0x10 لوصف التنسيق.

لا يتعارض استخدام معرفات المالك للملفات الموجودة مع ختم تاريخ التعديل الأخير للملفات المحذوفة لأنه لا يتم استخدامهما في نفس الوقت أبدًا. [47] لا يتعارض استخدام ختم تاريخ التعديل الأخير للملفات المحذوفة مع تاريخ الوصول لأن تواريخ الوصول لم تعد مهمة للملفات المحذوفة. ومع ذلك، لا يمكن استخدام معرفات المالك وتواريخ الوصول في نفس الوقت.

0x14 2
  • بايتين مرتفعين من رقم المجموعة الأول في FAT32؛ مع تخزين البايتين المنخفضتين عند الإزاحة 0x1A .
  • خريطة حقوق الوصول لحماية القراءة/الكتابة/التنفيذ/الحذف للعالم/المجموعة/المالك للملفات المحمية بكلمة مرور، أو الدلائل (أو تسميات المجلد) في DR DOS 3.31 والإصدارات الأحدث، بما في ذلك PalmDOS وNovell DOS وOpenDOS، [53] وفي FlexOS، [53] 4680 OS و4690 OS وConcurrent DOS وMultiuser DOS وSystem Manager وREAL/32.
القيم النموذجية المخزنة على نظام مستخدم واحد هي 0x0000 ( لجميع حقوق الوصول "RWED")، 0x0111 ( لحقوق الوصول "RW?-")، 0x0555 ( لحقوق الوصول "R-?-") و 0x0DDD ( للملفات أو الدلائل لحقوق الوصول "--?-"). [47] سيتم الاحتفاظ بالبتات 1 و5 و9 و12-15 عند تغيير حقوق الوصول. إذا تم تعيين بتات التنفيذ على أنظمة أخرى غير FlexOS أو 4680 OS أو 4690 OS، فسيتم التعامل معها على نحو مماثل لبتات القراءة. (تسمح بعض إصدارات PASSWORD بتعيين كلمات مرور على تسميات المجلد ( ) أيضًا.)PASSWORD /NPASSWORD /DPASSWORD /WPASSWORD /RPASSWORD /PPASSWORD /V
تحسب أنظمة المستخدم الفردي الحقوق الأكثر تقييدًا من المجموعات الثلاث (DR DOS حتى 5.0 بتات مستخدمة 0-3 فقط) وتتحقق مما إذا كان أي من أنواع الوصول إلى الملفات المطلوبة يتطلب إذنًا وما إذا كانت كلمة مرور الملف مخزنة. [47] إذا لم يكن الأمر كذلك، يتم منح الوصول إلى الملف. وإلا يتم التحقق من كلمة المرور المخزنة مقابل كلمة مرور عالمية اختيارية يوفرها نظام التشغيل وكلمة مرور ملف اختيارية مقدمة كجزء من اسم الملف مفصولة بفاصلة منقوطة (ليس في FlexOS و4680 OS و4690 OS). إذا لم يتم توفير أي منهما، فسوف يفشل الطلب. إذا تطابق أحدهما، فسيمنح النظام الوصول (في حدود سمات الملف العادية، أي أنه لا يزال لا يمكن فتح ملف للقراءة فقط للكتابة بهذه الطريقة)، وإلا يفشل الطلب. [47]
في أنظمة FlexOS و4680 OS و4690 OS، يقوم النظام بتعيين معرفات المجموعة والمستخدم للتطبيقات عند تشغيلها. وعندما تطلب الوصول إلى الملف، تتم مقارنة معرفات المجموعة والمستخدم الخاصة بها بمعرفات المجموعة والمستخدم للملف المراد فتحه. وإذا تطابق كلا المعرفين، فسيتم التعامل مع التطبيق كمالك للملف. وإذا تطابق معرف المجموعة فقط، فسيمنح نظام التشغيل حق الوصول للمجموعة إلى التطبيق، وإذا لم يتطابق معرف المجموعة أيضًا، فسيمنح حق الوصول إلى العالم. وإذا كان معرف المجموعة ومعرف المستخدم للتطبيق يساويان 0، فسيتجاوز نظام التشغيل فحص الأمان. وبمجرد تحديد فئة الأذونات، سيتحقق نظام التشغيل مما إذا كان أي من أنواع الوصول لعملية الملف المطلوبة يتطلب إذنًا وفقًا لعلامات البت المخزنة لمالك الفئة أو المجموعة أو العالم المحدد في إدخال دليل الملف. حقوق الوصول للمالك والمجموعة والعالم مستقلة ولا تحتاج إلى مستويات وصول متناقصة. فقط، إذا لم يتطلب أي من أنواع الوصول المطلوبة إذنًا، فسيمنح نظام التشغيل حق الوصول، وإلا فسيفشل.
إذا تم تمكين أمان كلمة مرور الملفات/الدلائل متعددة المستخدمين، فلن يفشل النظام في هذه المرحلة، بل سينفذ آلية التحقق من كلمة المرور لفئة الأذونات المحددة على غرار الإجراء الموضح أعلاه. مع تحميل أمان المستخدمين المتعددين، ستوفر العديد من الأدوات المساعدة منذ DR DOS 6.0 /U:nameمعلمة إضافية. [47]
خريطة حقوق الوصول إلى الملف: [60]
قليل قناع وصف
0 0x0001 يتطلب حذف المالك/إعادة تسميته/تغيير سماته إذنًا [47] [53] [60]
1 0x0002 يتطلب تنفيذ المالك إذنًا (FlexOS، و4680 OS، و4690 OS فقط) [60]
2 0x0004 يتطلب مالك الكتابة/التعديل إذنًا [47] [53] [60]
3 0x0008 تتطلب قراءة/نسخ المالك إذنًا [47] [53] [60]
4 0x0010 يتطلب حذف المجموعة/إعادة تسميتها/تغيير سماتها إذنًا [47] [53] [60]
5 0x0020 تتطلب عملية تنفيذ المجموعة إذنًا (FlexOS و4680 OS و4690 OS فقط) [60]
6 0x0040 تتطلب الكتابة/التعديل الجماعي إذنًا [47] [53] [60]
7 0x0080 تتطلب القراءة/النسخ الجماعية إذنًا [47] [53] [60]
8 0x0100 يتطلب حذف العالم/إعادة تسميته/تغيير سماته إذنًا [47] [53] [60]
9 0x0200 يتطلب التنفيذ العالمي إذنًا (FlexOS، 4680 OS، 4690 OS فقط) [60]
10 0x0400 تتطلب الكتابة/التعديل في العالم إذنًا [47] [53] [60]
11 0x0800 تتطلب القراءة/النسخ العالمية إذنًا [47] [53] [60]
12-15 يجب ضبط البتات على 0 أثناء التنسيق ويجب عدم تعديلها بواسطة أدوات القرص لاحقًا؛ [47] يتم استخدام البت 15 داخليًا، [60] ولكن ليس على القرص
تتطلب إعادة تسمية الملفات حقوق الكتابة أو الحذف، وتتطلب IBM 4680 BASIC CHAIN ​​حقوق التنفيذ.
  • مقبض السمات الممتدة (يستخدمه OS/2 1.2 والإصدارات الأحدث وكذلك Windows NT) في FAT12 وFAT16؛ المجموعة الأولى من ملف EA أو 0، إذا لم يتم استخدامها. [47] [61] تم ابتكار طريقة مختلفة لتخزين السمات الممتدة لمجلدات FAT32، راجع FAT32.IFS ضمن الإزاحة 0x0C .

يتعارض تخزين البايتين العاليتين من المجموعة الأولى في ملف على نظام FAT32 جزئيًا مع خرائط بتات حقوق الوصول.

0x16 2
  • وقت آخر تعديل (منذ PC DOS 1.1 / MS-DOS 1.20 )؛ راجع الإزاحة 0x0E للحصول على وصف التنسيق.
  • في أنظمة Novell DOS وOpenDOS وDR-DOS 7.02 والإصدارات الأحدث، يحتفظ هذا الإدخال بوقت الحذف للملفات أو الدلائل المعلقة التي تنتظر الحذف في نظام DELWATCH 2.00 أو الإصدارات الأحدث. يتم نسخ آخر طابع زمني تم تعديله إلى 0x10 لاستعادته لاحقًا. [47] راجع الإزاحة 0x0E لوصف التنسيق.
0x18 2
  • تاريخ آخر تعديل؛ راجع الإزاحة 0x10 لوصف التنسيق.
  • في أنظمة Novell DOS وOpenDOS وDR-DOS 7.02 والإصدارات الأحدث، يحتفظ هذا الإدخال بتاريخ الحذف للملفات أو الدلائل المعلقة التي تنتظر الحذف في DELWATCH 2.00 أو الإصدارات الأحدث. يتم نسخ ختم تاريخ التعديل الأخير إلى 0x12 لاستعادته لاحقًا. [47] راجع الإزاحة 0x10 لوصف التنسيق.
0×1 أمبير 2 بدء الملف في مجموعات في نظامي FAT12 وFAT16. بايتان منخفضان من المجموعة الأولى في نظام FAT32؛ مع تخزين البايتين المرتفعين عند الإزاحة 0x14 .

يجب أن تحتوي الإدخالات التي تحتوي على علامة تسمية وحدة التخزين، والدليل الفرعي ".." الذي يشير إلى جذر FAT12 وFAT16، والملفات الفارغة ذات الحجم 0 على المجموعة الأولى 0.

تحتوي إدخالات VFAT LFN أيضًا على هذا الإدخال مضبوطًا على 0؛ في وحدات تخزين FAT12 وFAT16، يمكن استخدام هذا كجزء من آلية الكشف للتمييز بين ملفات الحذف المعلقة ضمن DELWATCH وVFAT LFNs؛ انظر أعلاه.

0x1ج 4 حجم الملف بالبايت. يجب أن يكون حجم الإدخالات التي تحمل علامة تسمية المجلد أو الدليل الفرعي 0.

لا تخزن إدخالات VFAT LFN القيمة 0x00000000 هنا أبدًا. يمكن استخدام هذا كجزء من آلية الكشف للتمييز بين ملفات الحذف المعلقة ضمن DELWATCH وVFAT LFNs؛ انظر أعلاه.

تدعم أنظمة التشغيل IBM 4680 OS و IBM 4690 OS المستندة إلى FlexOS سمات توزيع فريدة مخزنة في بعض أجزاء المناطق المحجوزة مسبقًا في إدخالات الدليل: [62]

  1. محليًا: لا تقم بتوزيع الملف ولكن ابقه على وحدة التحكم المحلية فقط. [ملاحظة 14]
  2. ملف المرآة عند التحديث: توزيع الملف على الخادم فقط عند تحديث الملف.
  3. ملف المرآة عند الإغلاق: توزيع الملف على الخادم فقط عند إغلاق الملف.
  4. ملف مركب عند التحديث: توزيع الملف على كافة وحدات التحكم عند تحديث الملف.
  5. ملف مركب عند الإغلاق: توزيع الملف على كافة وحدات التحكم عند إغلاق الملف. [63]

تتضمن بعض الامتدادات غير المتوافقة الموجودة في بعض أنظمة التشغيل ما يلي:

إزاحة البايت الطول (بايت) نظام وصف
0x0ج 2 نظام تشغيل RISC نوع الملف، 0x00000x0FFF
0x0ج 4 بتروف DOSFS عنوان تحميل الملف
0x0E 2 أندوس عنوان الملف في الذاكرة
0x10 4 بتروف DOSFS عنوان تنفيذ الملف

حدود الحجم

تحتوي المتغيرات FAT12 وFAT16 وFAT16B وFAT32 من أنظمة الملفات FAT على حدود واضحة بناءً على عدد المجموعات وعدد القطاعات لكل مجموعة (1، 2، 4، ...، 128). بالنسبة للقيمة النموذجية 512 بايت لكل قطاع:

متطلبات FAT12: 3 قطاعات في كل نسخة من FAT لكل 1024 مجموعة
متطلبات FAT16: قطاع واحد في كل نسخة من FAT لكل 256 مجموعة
متطلبات FAT32: قطاع واحد في كل نسخة من FAT لكل 128 مجموعة

نطاق FAT12: من 1 إلى 4084 مجموعة: من 1 إلى 12 قطاعًا لكل نسخة من FAT
نطاق FAT16: من 4085 إلى 65524 مجموعة: من 16 إلى 256 قطاعًا لكل نسخة من FAT
نطاق FAT32: من 65525 إلى 268435444 مجموعة: من 512 إلى 2097152 قطاعًا لكل نسخة من FAT

الحد الأدنى لـ FAT12: قطاع واحد لكل مجموعة × 1 مجموعة = 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 بت في قطاع تمهيد FAT32 مباشرة بعد القيمة المكونة من 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.

في أنظمة التشغيل Windows NT،FORMAT تتوافق خيارات الأوامر /A:128Kو /A:256Kمع الحد الأقصى لحجم المجموعة 0x80(128) بحجم قطاع 1024 و2048 على التوالي. بالنسبة لحجم القطاع الشائع 512 /A:64Kينتج 128 قطاعًا لكل مجموعة.

تحدد كل من إصدارات 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 من Microsoft [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" تُستخدم أيضًا لتطبيقات Linux، [44] أو كما تقول مواصفات FAT الخاصة بشركة Microsoft : [4]

... عندما يظهر <، فهذا لا يعني <=. لاحظ أيضًا أن الأرقام صحيحة. الرقم الأول لنظام FAT12 هو 4085؛ والرقم الثاني لنظام FAT16 هو 65525. هذه الأرقام وعلامتي "<" ليست خاطئة."

التفتت

لا يحتوي نظام الملفات FAT على آليات مدمجة تمنع الملفات المكتوبة حديثًا من الانتشار عبر القسم. [65] في المجلدات التي يتم فيها إنشاء الملفات وحذفها بشكل متكرر أو تغيير أطوالها غالبًا، ستصبح الوسائط مجزأة بشكل متزايد بمرور الوقت.

في حين أن تصميم نظام الملفات FAT لا يسبب أي تكلفة تنظيمية في هياكل القرص أو يقلل من مقدار مساحة التخزين المجانية مع زيادة كميات التجزئة ، كما يحدث مع التجزئة الخارجية ، فإن الوقت المطلوب لقراءة وكتابة الملفات المجزأة سيزداد حيث سيتعين على نظام التشغيل اتباع سلاسل المجموعات في FAT (مع ضرورة تحميل الأجزاء في الذاكرة أولاً وخاصة على وحدات التخزين الكبيرة) وقراءة البيانات المقابلة المنتشرة فعليًا على الوسيط بالكامل مما يقلل من فرص برنامج تشغيل جهاز الكتلة منخفض المستوى لأداء إدخال/إخراج قرص متعدد القطاعات أو بدء عمليات نقل DMA أكبر، وبالتالي زيادة تكلفة بروتوكول الإدخال/الإخراج بشكل فعال بالإضافة إلى حركة الذراع وأوقات استقرار الرأس داخل محرك الأقراص. أيضًا، ستصبح عمليات الملفات أبطأ مع تزايد التجزئة حيث يستغرق نظام التشغيل وقتًا أطول بشكل متزايد للعثور على الملفات أو المجموعات المجانية.

تستخدم أنظمة الملفات الأخرى، مثل HPFS أو exFAT ، خرائط بتات للمساحات الحرة تشير إلى المجموعات المستخدمة والمتاحة، والتي يمكن بعد ذلك البحث عنها بسرعة للعثور على المناطق المتجاورة الحرة. هناك حل آخر يتمثل في ربط جميع المجموعات الحرة في قائمة واحدة أو أكثر (كما هو الحال في أنظمة ملفات يونكس ). بدلاً من ذلك، يجب مسح FAT كمجموعة للعثور على المجموعات الحرة، وهو ما قد يؤدي إلى عقوبات على الأداء مع الأقراص الكبيرة.

في الواقع، يعد البحث عن الملفات في الدلائل الفرعية الكبيرة أو حساب مساحة القرص الخالية على وحدات تخزين FAT من أكثر العمليات استهلاكًا للموارد، حيث يتطلب قراءة جداول الدلائل أو حتى وحدة تخزين FAT بالكامل خطيًا. نظرًا لأن العدد الإجمالي للمجموعات وحجم إدخالاتها في وحدة تخزين FAT كان لا يزال صغيرًا على وحدات تخزين FAT12 وFAT16، فقد كان من الممكن تحمل ذلك على وحدات تخزين FAT12 وFAT16 في معظم الأوقات، مع الأخذ في الاعتبار أن إدخال هياكل أقراص أكثر تعقيدًا كان من شأنه أيضًا أن يزيد من تعقيد ومساحة الذاكرة لأنظمة التشغيل في الوضع الحقيقي مع متطلبات ذاكرة إجمالية لا تقل عن 128 كيلوبايت (مثل نظام التشغيل DOS) والتي تم تصميم FAT وتحسينها في الأصل.

مع تقديم نظام FAT32، أصبحت أوقات البحث والمسح الطويلة أكثر وضوحًا، وخاصةً على وحدات التخزين الضخمة جدًا. كان أحد التبريرات المحتملة التي اقترحها رايموند تشين من شركة Microsoft للحد من الحجم الأقصى لأقسام FAT32 التي تم إنشاؤها على نظام Windows هو الوقت المطلوب لإجراء عملية " DIR"، والتي تعرض دائمًا مساحة القرص الحرة كسطر أخير. [66] استغرق عرض هذا السطر وقتًا أطول وأطول مع زيادة عدد المجموعات. لذلك قدم نظام FAT32 قطاعًا خاصًا لمعلومات نظام الملفات حيث يتم الاحتفاظ بكمية المساحة الحرة المحسوبة مسبقًا على مدار دورات الطاقة، بحيث يلزم إعادة حساب عداد المساحة الحرة فقط عندما يتم إخراج وسيط قابل للإزالة بتنسيق FAT32 دون فصله أولاً أو إذا تم إيقاف تشغيل النظام دون إيقاف تشغيل نظام التشغيل بشكل صحيح، وهي مشكلة مرئية في الغالب مع أجهزة الكمبيوتر التي تعمل بنمط ATX ، على أنظمة DOS العادية وبعض المنتجات الاستهلاكية التي تعمل بالبطارية.

مع أحجام المجموعات الضخمة (16 كيلوبايت، 32 كيلوبايت، 64 كيلوبايت) المفروضة بواسطة أقسام FAT الأكبر، فإن التجزئة الداخلية في شكل إهدار مساحة القرص بسبب تراخي الملفات بسبب زيادة حجم المجموعة (نظرًا لأن الملفات نادرًا ما تكون مضاعفات دقيقة لحجم المجموعة) تبدأ في أن تصبح مشكلة أيضًا، خاصةً عندما يكون هناك عدد كبير جدًا من الملفات الصغيرة.

تم ابتكار العديد من التحسينات والتعديلات على تنفيذ برامج تشغيل نظام الملفات FAT وبرامج تشغيل الأجهزة الكتلية وأدوات القرص للتغلب على معظم الاختناقات في الأداء في التصميم المتأصل لنظام الملفات دون الحاجة إلى تغيير تخطيط الهياكل الموجودة على القرص. [67] [68] يمكن تقسيمها إلى طرق متصلة وغير متصلة بالإنترنت والعمل من خلال محاولة تجنب التجزئة في نظام الملفات في المقام الأول، ونشر طرق للتعامل بشكل أفضل مع التجزئة الحالية، وإعادة ترتيب وتحسين الهياكل الموجودة على القرص. مع وجود التحسينات في مكانها، يمكن أن يصل الأداء على وحدات تخزين FAT غالبًا إلى أداء أنظمة الملفات الأكثر تطورًا في السيناريوهات العملية، مع الاحتفاظ في نفس الوقت بميزة إمكانية الوصول حتى على الأنظمة الصغيرة جدًا أو القديمة.

لن يقوم نظام DOS 3.0 والإصدارات الأحدث بإعادة استخدام مساحة القرص للملفات المحذوفة على الفور لتخصيصات جديدة، بل سيبحث بدلاً من ذلك عن مساحة غير مستخدمة سابقًا قبل البدء في استخدام مساحة القرص للملفات المحذوفة سابقًا أيضًا. لا يساعد هذا فقط في الحفاظ على سلامة الملفات المحذوفة لأطول فترة ممكنة، بل إنه يسرع أيضًا من تخصيص الملفات ويتجنب التجزئة، حيث إن مساحة القرص التي لم يتم تخصيصها من قبل تكون دائمًا غير مجزأة. يحقق نظام DOS هذا من خلال الاحتفاظ بمؤشر إلى آخر مجموعة مخصصة على كل وحدة تخزين مثبتة في الذاكرة ويبدأ في البحث عن مساحة خالية من هذا الموقع إلى أعلى بدلاً من بداية FAT، كما كان يتم ذلك بواسطة DOS 2.x. [13] إذا تم الوصول إلى نهاية FAT، فسوف يلتف حول الاستمرار في البحث في بداية FAT حتى يتم العثور على مساحة خالية أو يتم الوصول إلى الموضع الأصلي مرة أخرى دون العثور على مساحة خالية. [13] يتم تهيئة هذه المؤشرات للإشارة إلى بداية ملفات FAT بعد التمهيد، [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 نفسه. وبشكل خاص في المجلدات شديدة التجزئة أو الممتلئة، تصبح عمليات البحث أسرع بكثير من عمليات المسح الخطية على ملف FAT الفعلي، حتى إذا تم تخزين صورة ملف FAT في الذاكرة. أيضًا، عند التشغيل على المستوى المرتفع منطقيًا للملفات وسلاسل المجموعات بدلاً من مستوى القطاع أو المسار، يصبح من الممكن تجنب درجة معينة من تجزئة الملف في المقام الأول أو تنفيذ إلغاء تجزئة الملف المحلي وإعادة ترتيب إدخالات الدليل بناءً على أسمائها أو أنماط الوصول في الخلفية.

تنتج بعض المشكلات الملحوظة مع تجزئة أنظمة ملفات FAT أيضًا عن قيود الأداء الخاصة ببرامج تشغيل الأجهزة الأساسية ، والتي تصبح أكثر وضوحًا كلما قلت الذاكرة المتاحة لتخزين القطاعات وحظر/إزالة حظر المسارات:

في حين أن نظام التشغيل DOS أحادي المهمة كان يحتوي على أحكام لقراءات متعددة القطاعات وحظر/إلغاء حظر المسارات، فإن نظام التشغيل وهندسة القرص الصلب التقليدية للكمبيوتر الشخصي ( طلب إدخال/إخراج واحد فقط في كل مرة ولا توجد عمليات نقل DMA ) لم تحتوي في الأصل على آليات يمكنها التخفيف من التجزئة من خلال جلب البيانات التالية مسبقًا بشكل غير متزامن أثناء معالجة التطبيق للأجزاء السابقة. أصبحت هذه الميزات متاحة لاحقًا. كما قدمت إصدارات DOS اللاحقة دعمًا مدمجًا لتخزين القطاعات مسبقًا وجاءت مع برامج تخزين مؤقتة قابلة للتحميل ديناميكيًا تعمل على مستوى القطاع المادي أو المنطقي، وغالبًا ما تستخدم ذاكرة EMS أو XMS وتوفر أحيانًا استراتيجيات تخزين مؤقتة تكيفية أو حتى تعمل في الوضع المحمي من خلال DPMS أو التمويه لزيادة الأداء من خلال الوصول المباشر إلى البيانات المخزنة مؤقتًا في الذاكرة الخطية بدلاً من خلال واجهات برمجة تطبيقات DOS التقليدية.

غالبًا ما لم يتم تمكين التخزين المؤقت للكتابة من الخلف افتراضيًا مع برامج Microsoft (إذا كانت موجودة) نظرًا لمشكلة فقدان البيانات في حالة انقطاع التيار الكهربائي أو التعطل، وهو ما أصبح أسهل بسبب نقص الحماية المادية بين التطبيقات والنظام.

أسماء الملفات الطويلة VFAT

هيكل دليل FAT32 مع ثلاثة ملفات، اثنان منها يستخدمان أسماء ملفات طويلة VFAT.

يتم تخزين أسماء الملفات الطويلة VFAT (LFNs) على نظام ملفات FAT باستخدام خدعة: إضافة إدخالات إضافية إلى الدليل قبل إدخال الملف العادي. يتم تمييز الإدخالات الإضافية بخصائص Volume Label وSystem وHidden وRead Only (تنتج 0x0F )، وهي تركيبة غير متوقعة في بيئة MS-DOS، وبالتالي يتم تجاهلها بواسطة برامج MS-DOS وأدوات مساعدة الطرف الثالث. من الجدير بالذكر أن الدليل الذي يحتوي فقط على تسميات المجلد يعتبر فارغًا ويُسمح بحذفه؛ يظهر مثل هذا الموقف إذا تم حذف الملفات التي تم إنشاؤها بأسماء طويلة من DOS العادي. هذه الطريقة مشابهة جدًا لطريقة DELWATCH لاستخدام سمة المجلد لإخفاء ملفات الحذف المعلقة لإلغاء الحذف المحتمل في المستقبل منذ DR DOS 6.0 (1991) والإصدارات الأحدث. وهي مشابهة أيضًا لطريقة تمت مناقشتها علنًا لتخزين أسماء الملفات الطويلة على Ataris وتحت Linux في عام 1992. [69] [70]

نظرًا لأن الإصدارات الأقدم من نظام التشغيل DOS قد تخطئ في تحديد أسماء LFN في الدليل الجذر لعلامة وحدة التخزين، فقد تم تصميم VFAT لإنشاء علامة وحدة تخزين فارغة في الدليل الجذر قبل إضافة أي إدخالات اسم LFN (إذا لم تكن علامة وحدة التخزين موجودة بالفعل). [nb 13]

يمكن أن يحتوي كل إدخال مزيف على ما يصل إلى 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 )
0x0ب 1 السمات (دائمًا 0x0F )
0x0ج 1 النوع (دائمًا 0x00 لـ VFAT LFN، والقيم الأخرى محجوزة للاستخدام المستقبلي؛ للاستخدام الخاص للبتات 4 و3 في SFNs، راجع أعلاه)
0x0د 1 مجموع اختباري لاسم ملف DOS
0x0E 12 أحرف الاسم (ستة أحرف UCS-2 )
0×1 أمبير 2 المجموعة الأولى (دائمًا 0x0000 )
0x1ج 4 أحرف الاسم ( حرفان UCS-2 )

إذا كان هناك عدة إدخالات LFN مطلوبة لتمثيل اسم ملف، فإن الإدخال الذي يمثل نهاية اسم الملف يأتي أولاً. يحتوي رقم التسلسل لهذا الإدخال على بت 6 ( 0x40 ) مضبوطًا لتمثيل أنه آخر إدخال LFN منطقي، وله أعلى رقم تسلسل. ينخفض ​​رقم التسلسل في الإدخالات التالية. يحتوي الإدخال الذي يمثل بداية اسم الملف على رقم تسلسل 1. يتم استخدام قيمة 0xE5 للإشارة إلى حذف الإدخال.

في وحدات تخزين FAT12 وFAT16، يمكن استخدام اختبار القيم في 0x1A لتكون صفرًا وفي 0x1C لتكون غير صفرية للتمييز بين VFAT LFNs وملفات الحذف المعلقة ضمن DELWATCH.

على سبيل المثال، اسم الملف مثل "ملف باسم ملف طويل جدًا.ext" سيتم تنسيقه على النحو التالي:

رقم التسلسل بيانات الإدخال
0x03 "أنا.إكست"
0x02 "ملف طويل"
0x01 "ملف مع الإصدار"
??? دخول عادي 8.3

يسمح المجموع الاختباري أيضًا بالتحقق مما إذا كان اسم الملف الطويل يتطابق مع اسم الإصدار 8.3؛ وقد يحدث مثل هذا الاختلاف في التطابق إذا تم حذف ملف وإعادة إنشائه باستخدام DOS في نفس موضع الدليل. يتم حساب المجموع الاختباري باستخدام الخوارزمية أدناه. (pFCBName هو مؤشر إلى الاسم كما يظهر في إدخال دليل عادي، أي أن الأحرف الثمانية الأولى هي اسم الملف، والأحرف الثلاثة الأخيرة هي الامتداد. النقطة ضمنية. يتم ملء أي مساحة غير مستخدمة في اسم الملف بأحرف المسافة (ASCII 0x20 ). على سبيل المثال، "Readme.txt" سيكون " ".) README␠␠TXT

مجموع الأحرف غير الموقعة lfn_checksum ( const unsigned char * pFCBName ) { int i ؛ مجموع الأحرف غير الموقعة = 0 ؛     

    
       

   بالنسبة إلى ( i = 11 ؛ i ؛ i -- ) المجموع = (( المجموع & 1 ) << 7 ) + ( المجموع >> 1 ) + * pFCBName ++ ؛     
                  

   إرجاع المبلغ ؛ } 

إذا كان اسم الملف يحتوي على أحرف صغيرة فقط، أو كان عبارة عن مزيج من اسم أساسي صغير مع امتداد كبير ، أو العكس؛ ولا يحتوي على أحرف خاصة، ويناسب حدود 8.3، فلا يتم إنشاء إدخال VFAT على Windows NT والإصدارات الأحدث من Windows مثل XP. بدلاً من ذلك، يتم استخدام بتين في البايت 0x0C من إدخال الدليل للإشارة إلى أنه يجب اعتبار اسم الملف بأحرف صغيرة بالكامل أو جزئيًا. على وجه التحديد، يعني البت 4 امتدادًا بأحرف صغيرة والبت 3 اسمًا أساسيًا صغيرًا ، مما يسمح بمجموعات مثل " " أو " " ولكن ليس " ". يدعمه عدد قليل من أنظمة التشغيل الأخرى. يؤدي هذا إلى إنشاء مشكلة توافق مع الإصدارات الأقدم من Windows (Windows 95 / 98 / 98 SE / ME) التي ترى أسماء الملفات بأحرف كبيرة بالكامل إذا تم استخدام هذا الامتداد، وبالتالي يمكن تغيير اسم الملف عند نقله بين أنظمة التشغيل، مثل محرك أقراص فلاش USB. ستتعرف إصدارات 2.6.x الحالية من Linux على هذا الامتداد عند القراءة (المصدر: kernel 2.6.18 و )؛ يحدد خيار mount ما إذا كانت هذه الميزة تُستخدم عند الكتابة. [71]example.TXTHELLO.txtMixed.txt/fs/fat/dir.cfs/vfat/namei.cshortname

انظر أيضا

ملحوظات

  1. ^ abc لتحقيق أقصى قدر من التوافق مع MS-DOS/PC DOS وDR-DOS، يجب على أنظمة التشغيل التي تحاول تحديد تنسيق القرص المرن أن تختبر جميع تسلسلات التعليمات البرمجية المذكورة عند إزاحة القطاع 0x000 بالإضافة إلى البحث عن بايت واصف وسائط صالح عند إزاحة القطاع 0x015 قبل افتراض وجود BPB. على الرغم من أن أقراص PC DOS المرنة 1.0 لا تحتوي على BPB، إلا أنها تبدأ بـ 0xEB أيضًا، لكنها لا تعرض 0x90 عند الإزاحة 0x002 . حتى أن أقراص PC DOS المرنة 1.10 تبدأ بـ 0xEB 0x?? 0x90 ، على الرغم من أنها لا تزال لا تحتوي على BPB. في كلتا الحالتين، سيفشل اختبار واصف وسائط صالح عند الإزاحة 0x015 (القيمة 0x00 بدلاً من واصفات الوسائط الصالحة 0xF0 وأعلى). إذا فشلت هذه الاختبارات، يتحقق نظام التشغيل DOS من وجود بايت واصف وسائط في البايت الأول من أول FAT في القطاع الذي يلي قطاع التمهيد (القطاع المنطقي 1 على الأقراص المرنة FAT12/FAT16).
  2. ^ abcde التوقيع عند الإزاحة 0x1FE في قطاعات التمهيد هو 0x55 0xAA ، أي 0x55 عند الإزاحة 0x1FE و 0xAA عند الإزاحة 0x1FF . نظرًا لأنه يجب افتراض التمثيل ذي الطرف الصغير في سياق الأجهزة المتوافقة مع أجهزة IBM PC ، فيمكن كتابة هذا على هيئة كلمة 16 بت 0xAA55 في البرامج الخاصة بمعالجات x86 (لاحظ ترتيب المبادلة)، بينما يجب كتابته على هيئة 0x55AA في البرامج الخاصة بهياكل وحدة المعالجة المركزية الأخرى باستخدام تمثيل ذي طرف كبير . نظرًا لأن هذا قد تم خلطه عدة مرات في الكتب وحتى في مستندات مرجعية أصلية من Microsoft، فإن هذه المقالة تستخدم التمثيل على القرص على أساس الإزاحة لكل بايت لتجنب أي سوء تفسير محتمل.
  3. ^ abc يحتوي إدخال المجموع الاختباري في قطاعات تمهيد Atari على قيمة المحاذاة، وليس القيمة السحرية نفسها. لا يتم تخزين القيمة السحرية 0x1234 في أي مكان على القرص. وعلى النقيض من معالجات Intel x86 ، تستخدم معالجات Motorola 680x0 كما تستخدم في أجهزة Atari تمثيل ذاكرة كبير الطرف وبالتالي يجب افتراض تمثيل كبير الطرف عند حساب المجموع الاختباري. ونتيجة لذلك، بالنسبة لرمز التحقق من المجموع الاختباري الذي يعمل على أجهزة x86، يجب تبديل أزواج البايتات قبل الإضافة المكونة من 16 بت.
  4. ^ DR-DOS قادر على التمهيد من وسائط القطاع المنطقي FAT12/FAT16 ذات أحجام القطاعات المنطقية التي تصل إلى 1024 بايت.
  5. ^ ab تعيد وظائف 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 = 1/100 ثانية (0..99).
  6. ^ لوحظ أن نظام التشغيل Windows XP يقوم بإنشاء مثل هذه الأقراص الهجينة عند إعادة تهيئة أقراص ZIP-100 بتنسيق FAT16B إلى تنسيق FAT32. وكانت وحدات التخزين الناتجة بتنسيق FAT32، ولكنها لا تزال تستخدم FAT16B EBPB. (ليس من الواضح كيف يحدد Windows موقع الدليل الجذر على وحدات تخزين FAT32، إذا تم استخدام FAT16 EBPB فقط.)
  7. ^ ab إحدى الأدوات المساعدة التي توفر خيارًا لتحديد قيمة تعبئة التنسيق المطلوبة للأقراص الصلبة هي DR-DOS' FDISK R2.31 مع معلمة المسح الاختيارية الخاصة بها /W:246. وعلى النقيض من أدوات FDISK الأخرى ، فإن DR-DOS FDISK ليس أداة تقسيم فحسب، بل يمكنه أيضًا تنسيق الأقسام التي تم إنشاؤها حديثًا بتنسيق FAT12 أو FAT16 أو FAT32 . وهذا يقلل من خطر تنسيق وحدات التخزين الخاطئة عن طريق الخطأ.
  8. ^ لدعم التعايش بين DR-DOS وPC DOS وعمليات التثبيت المتوازية المتعددة لـ DR-DOS، IBMBIO␠␠COMيمكن تغيير امتداد اسم ملف التمهيد الافتراضي " " باستخدام SYS /DR:extالخيار، حيث يمثل ext الامتداد الجديد. أسماء ملفات تمهيد DR-DOS المحتملة الأخرى المتوقعة في السيناريوهات الخاصة هي " DRBIOS␠␠SYS"، " DRDOS␠␠␠SYS"، " IO␠␠␠␠␠␠SYS"، " JO␠␠␠␠␠␠SYS".
  9. ^ إذا تم مسح علامة إيقاف التشغيل المتسخة لمجلد ما عند بدء التشغيل، فهذا يعني أن المجلد لم يتم فصله بشكل صحيح. على سبيل المثال، قد يتسبب هذا في بدء تشغيل نظام التشغيل Windows 98 WIN.COM لبرنامج SCANDISK للتحقق من الأخطاء المحتملة في نظام الملفات المنطقية وإصلاحها. إذا تم مسح علامة القطاع التالف، فسوف يفرض ذلك إجراء فحص سطحي أيضًا. يمكن تعطيل هذا عن طريق تعيين AUTOSCAN=0 في قسم [OPTIONS] في ملف MSDOS.SYS .
  10. ^ abcd راجع الروابط الأخرى للحصول على احتياطات خاصة فيما يتعلق بوقوع قيمة مجموعة 0xFF0 على وحدات تخزين FAT12 في أنظمة MS-DOS/PC DOS 3.3 والإصدارات الأحدث.
  11. ^ ab بعض إصدارات FORMAT منذ MS-DOS 1.25 و PC DOS 2.0 تدعم خيارًا /O(للإصدارات القديمة ) لملء البايت الأول من جميع إدخالات الدليل بـ 0xE5 بدلاً من استخدام علامة النهاية 0x00 . وبالتالي، ظل المجلد قابلاً للوصول في أنظمة PC DOS 1.0 - 1.1 ، بينما استغرق التنسيق وقتًا أطول ولم تتمكن الإصدارات الأحدث من DOS من الاستفادة من التسارع الكبير الناتج عن استخدام علامة النهاية 0x00 .
  12. ^ هذا هو السبب وراء حصول 0xE5 على معنى خاص في إدخالات الدليل.
  13. لتجنب سوء تفسير تسميات مجلدات الدليل التي تحتوي على إدخالات VFAT LFN بواسطة أنظمة التشغيل غير المتوافقة مع VFAT، من المعروف أن أدوات DR-DOS 7.07 FDISK وFORMAT تكتب صراحة NO␠NAME␠␠␠␠تسميات مجلدات الدليل " " وهمية إذا تخطى المستخدم إدخال تسمية مجلد. سيقوم نظام التشغيل افتراضيًا بإرجاع نفس السلسلة إذا لم يتم العثور على تسمية مجلد دليل في جذر المجلد، ولكن بدون تسمية مجلد حقيقية مخزنة كإدخال أول (بعد إدخالات الدليل)، يمكن لأنظمة التشغيل القديمة التقاط إدخالات VFAT LFN بدلاً من ذلك عن طريق الخطأ.
  14. ^ يجب أن يكون لنوع سمة توزيع نظام التشغيل IBM 4680 ونظام التشغيل 4690 قيمة بت على القرص تساوي 0 لأن الملفات تعود إلى هذا النوع عند فقد السمات عن طريق الخطأ.

مراجع

  1. ^ "أنظمة الملفات". Microsoft TechNet . 2001. مؤرشف من الأصل في 2011-08-12 . تم الاسترجاع في 2011-07-31 .
  2. ^ من قبل Microsoft (2006-11-15). ملف Windows 95 CD-ROM CONFIG.TXT مؤرشف في 2013-01-28 على archive.today المقال 135481، المراجعة: 1.1، تم استرجاعه في 2011-12-22: "بالنسبة لكل قرص ثابت، يحدد ما إذا كان سيتم تسجيل تاريخ آخر وصول إلى الملفات. يتم إيقاف تشغيل تواريخ آخر وصول لجميع محركات الأقراص عند بدء تشغيل الكمبيوتر في الوضع الآمن، ولا يتم الاحتفاظ بها للأقراص المرنة بشكل افتراضي. بناء الجملة: ACCDATE=drive1+|- [drive2+|-]..."
  3. ^ Bhat, WA (2010). "مراجعة بنية بيانات FAT لنظام الملفات FAT32". S2CID  58178285. {{cite web}}: مفقود أو فارغ |url=( مساعدة )
  4. ^ abcdefghijklmno "Microsoft Extensible Firmware Initiative FAT32 File System Specification, FAT: General Overview of On-Disk Format". Microsoft . 2000-12-06. مؤرشف من الأصل في 2021-07-23 . تم الاسترجاع في 2011-07-03 .
  5. ^ اي بي سي دي هاف ، ويلفريد. ميدل ، فرانك (نوفمبر 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.
  6. ^ abcdefghijklmnop Chappell, Geoff (January 1994). Schulman, Andrew; Pedersen, Amorette (eds.). DOS Internals . The Andrew Schulman Programming Series (الطبعة الأولى، الطبعة الأولى). Addison Wesley Publishing Company . ISBN 978-0-201-60835-9.(xxvi+738+iv صفحات، قرص مرن مقاس 3.5 بوصة [1][2]) أخطاء: [3][4][5]
  7. ^ abcdefghijklmnopqrstu vw Microsoft MS-DOS 3.1 Programmierhandbuch باللغة الإنجليزية Sprache [ الدليل المرجعي لمبرمجي Microsoft MS-DOS 3.1 باللغة الإنجليزية ]. ميونيخ: Markt & Technik Verlag (نشرت عام 1986). 1984. ردمك 3-89090-368-18411-310-02، 036-014-012. فيما يتعلق بتعليمات القفز في بداية قطاع التمهيد: "حدد ما إذا كان البايت الأول من قطاع التمهيد هو E9H أو EBIT (البايت الأول من قفزة قصيرة مكونة من 3 بايتات أو قفزة قصيرة مكونة من بايتين) أو EBH (البايت الأول من قفزة مكونة من بايتين متبوعة بـ NOP). إذا كان الأمر كذلك، فإن BPB يقع بدءًا من الإزاحة 3."(ملاحظة: هذا الكتاب يحتوي على العديد من الأخطاء.)
  8. ^ من تأليف دانيال ب. سيدوري. قطاع التمهيد في نظام تشغيل IBM Personal Computer DOS الإصدار 1.00 (1981) . 2005-08-02 ([6] مؤرشف من الأصل في 2014-05-21 على موقع واي باك مشين ).
  9. ^ من تأليف دانيال ب. سيدوري. قطاع التمهيد في نظام تشغيل IBM Personal Computer DOS الإصدار 1.10 (1982) . 2005-07-29 ([7] مؤرشف من الأصل في 2014-05-21 على موقع واي باك مشين ).
  10. ^ ab Caldera (1997). Caldera OpenDOS Machine Readable Source Kit 7.01 . يُظهر ملف DISK.ASM في مجموعة أدوات المصدر القابلة للقراءة آليًا أن DR-DOS يختبر القيمة 0x69 أيضًا.
  11. ^ بول، ماثياس ر. (2002-02-20). "Need DOS 6.22 (Not OEM)". مجموعة الأخبار : alt.msdos.programmer. مؤرشف من الأصل في 2017-09-09 . تم الاسترجاع في 2006-10-14 .
  12. ^ Bass, Wally (1994-02-14). "Cluster Size". Newsgroup : comp.os.msdos.programmer. مؤرشف من الأصل في 2017-09-09 . تم الاسترجاع في 2006-10-14 .
  13. ^ abcdefgh Dave Williams (1992). Programmer's Technical Reference for MSDOS and the IBM PC . DOSREF, Shareware version 01/12/1992. ISBN 1-878830-02-3 . ([8] Archived 2014-05-20 at the Wayback Machine , accessed on 2012-01-08). التعليق: يذكر المؤلف أن DOS 4.0 يتحقق من ملصق OEM، لكنه ينكر أن DOS 3.2 يتحقق منه أيضًا (على الرغم من أنه يفعل ذلك). 
  14. ^ بول، ماتياس ر. (2004-08-25). "NOVOLTRK.REG". www.drdos.org . مؤرشف من الأصل في 2016-03-04 . تم الاسترجاع في 2011-12-17 .[9]
  15. ^ ab "استكشاف أخطاء الأقراص وأنظمة الملفات وإصلاحها". Microsoft TechNet . 2005-11-05. مؤرشف من الأصل في 2014-06-07 . تم الاسترجاع في 2014-06-15 .
  16. ^ IBM (1983). IBM PC Technical Reference Handbook . التعليق: يتضمن قائمة كاملة برمز مصدر BIOS ROM لجهاز IBM PC الأصلي.
  17. ^ abcd هانز ديتر يانكوفسكي، ديتمار رابيتش، جوليان ف. ريشكي (1992). أتاري بروفيبوتش ST-STE-TT . سايبكس الطبعة الرابعة الدفعة الثانية عشرة. ردمك 3-88745-888-5 ، ردمك 978-3-88745-888-1 .  
  18. ^ Seagate Technologies, "The Transition to Advanced Format 4K Sector Hard Drives (archived by Wayback Machine @Archive.org)", 2010 ([10]).
  19. ^ abcd Brown, Ralf D. (2002-12-29). "قائمة المقاطعات x86". مؤرشف من الأصل في 2016-06-16 . تم الاسترجاع في 2011-10-14 .
  20. ^ abcd de Boyne Pollard, Jonathan (2010) [2006]. "كل شيء عن كتل معلمات BIOS". إجابات متكررة . مؤرشف من الأصل في 2016-08-26 . تم الاسترجاع في 2014-06-02 .
  21. ^ abc Microsoft MS-DOS Programmer's Reference: version 5.0. Microsoft press. 1991. ISBN 1-55615-329-5.
  22. ^ abcdefghijk "تنسيقات الأقراص المرنة القياسية التي يدعمها نظام التشغيل MS-DOS". تعليمات ودعم Microsoft. 2003-05-12. مؤرشف من الأصل في 2015-01-09 . تم الاسترجاع في 2012-09-11 .
  23. ^ abc Microsoft (1987-07). مرجع مبرمج MS-DOS 3.3.
  24. ^ abcdefghij "حجم وبنية الملفات لخراطيش القرص لتبادل المعلومات". Standard ECMA-107 (الطبعة الثانية، يونيو 1995) . ECMA . 1995. مؤرشف من الأصل في 2018-10-07 . تم الاسترجاع في 2011-07-30 .
  25. ^ abcdefghij "تكنولوجيا المعلومات -- حجم وبنية الملفات لخراطيش الأقراص لتبادل المعلومات". ISO/IEC 9293:1994 . كتالوج ISO . 1994. مؤرشف من الأصل في 2012-01-17 . تم الاسترجاع في 2012-01-06 .
  26. ^ abcdefghij "معالجة المعلومات -- حجم وبنية الملف لخراطيش الأقراص المرنة لتبادل المعلومات". ISO 9293:1987 . كتالوج ISO . 1987. مؤرشف من الأصل في 2012-01-17 . تم الاسترجاع في 2012-01-06 .
  27. ^ abc Andries Brouwer (2002-09-20). "نظام الملفات FAT". مؤرشف من الأصل في 2011-10-06 . تم الاسترجاع في 2011-10-16 .
  28. ^ abcdefghijklmnopqr Paterson, Tim ; Microsoft (2013-12-19) [1983]. "Microsoft DOS V1.1 and V2.0: /msdos/v20source/SKELIO.TXT, /msdos/v20source/HRDDRV.ASM". CHM . متحف تاريخ الكمبيوتر ، مايكروسوفت . مؤرشف من الأصل في 2019-08-14 . تم الاسترجاع في 2014-03-25 .(ملاحظة: في حين يدعي الناشرون أن هذا سيكون MS-DOS 1.1 و2.0، فهو في الواقع SCP MS-DOS 1.25 ومزيج من Altos MS-DOS 2.11 و TeleVideo PC DOS 2.11 .)
  29. ^ abcdefghij Zbikowski, Mark ; Allen, Paul ; Ballmer, Steve ; Borman, Reuben; Borman, Rob; Butler, John; Carroll, Chuck; Chamberlain, Mark; Chell, David; Colee, Mike; Courtney, Mike; Dryfoos, Mike; Duncan, Rachel; Eckhardt, Kurt; Evans, Eric; Farmer, Rick; Gates, Bill ; Geary, Michael; Griffin, Bob; Hogarth, Doug; Johnson, James W.; Kermaani, Kaamel; King, Adrian; Koch, Reed; Landowski, James; Larson, Chris; Lennon, Thomas; Lipkie, Dan; McDonald, Marc ; McKinney, Bruce; Martin, Pascal; Mathers, Estelle; Matthews, Bob; Melin, David; Mergentime, Charles; Nevin, Randy; Newell, Dan; Newell, Tani; Norris, David; O'Leary, Mike; O'Rear, Bob ; Olsson, Mike; Osterman, Larry; Ostling, Ridge; Pai, Sunil; Paterson, Tim ; Perez, Gary; Peters, Chris; Petzold, Charles ; Pollock, John; Reynolds, Aaron ; Rubin, Darryl; Ryan, Ralph; Schulmeisters, Karl; Shah, Rajen; Shaw, Barry; Short, Anthony; Slivka, Ben; Smirl, Jon; Stillmaker, Betty; Stoddard, John; Tillman, Dennis; Whitten, Greg; Yount, Natalie; Zeck, Steve (1988). "المستشارون الفنيون". موسوعة MS-DOS: الإصدارات من 1.0 إلى 3.2 . بقلم Duncan, Ray; Bostwick, Steve; Burgoyne, Keith; Byers, Robert A.; Hogan, Thom; Kyle, Jim; Letwin, Gordon ; بيتزولد، تشارلز ؛ رابينوفيتز، شيب؛ توملين، جيم؛ ويلتون، ريتشارد؛ ولفيرتون، فان؛ وونغ، ويليام؛ وودكوك، جوان (طبعة منقحة بالكامل). ريدموند، واشنطن، الولايات المتحدة الأمريكية: مايكروسوفت برس . رقم ISBN 1-55615-049-0. LCCN  87-21452. OCLC  16581341.(1570 صفحة؛ 26 سم) (ملاحظة: نُشرت هذه الطبعة في عام 1988 بعد إعادة صياغة واسعة النطاق للطبعة الأولى التي سُحبت عام 1986 بواسطة فريق مختلف من المؤلفين. [11] محفوظ في 2018-10-14 على موقع Wayback Machine )
  30. ^ "شرح مفصل لقطاع التمهيد FAT". قاعدة معارف Microsoft . 2003-12-06. مؤرشف من الأصل في 2011-11-28 . تم الاسترجاع في 2011-10-16 .
  31. ^ abc Lai, Robert S.; The Waite Group (1987). Writing MS-DOS Device Drivers (2nd ed.). Addison Wesley. ISBN 0-201-60837-5.
  32. ^ abcdefghijklmnopqrst Paterson, Tim ; Microsoft (2013-12-19) [1983]. "Microsoft DOS V1.1 and V2.0: /msdos/v20source/DEVDRIV.txt". متحف تاريخ الكمبيوتر ، مايكروسوفت . مؤرشف من الأصل في 2019-08-14 . تم الاسترجاع في 2014-03-25 .(ملاحظة: في حين يدعي الناشرون أن هذا سيكون MS-DOS 1.1 و2.0، فهو في الواقع SCP MS-DOS 1.25 ومزيج من Altos MS-DOS 2.11 و TeleVideo PC DOS 2.11 .)
  33. ^ abcde Tim Paterson (1983). "An Inside Look at MS-DOS". Byte . مؤرشف من الأصل في 2011-07-20 . تم الاسترجاع في 18 يوليو 2011 . يبدأ الترقيم بالرقم 2؛ الرقمان الأولان، 0 و1، محجوزان.
  34. ^ abcd PORT-DOS - Userprompt Guide for Apricot Portable . User-Prompt Guides, UK ([12] Archived 2013-05-22 at the Wayback Machine ).
  35. ^ abcde John C. Elliott (1998). تنسيقات أقراص DOSPLUS . ([13] أرشيف 2013-06-07 على موقع Wayback Machine ).
  36. ^ abcd The BBC Master 512 . Yellow Pig's BBC Computer Pages ([14] Archived 2014-05-21 at the Wayback Machine ).
  37. ^ Digital Equipment Corporation. Rainbow 100 MS-DOS 2.01 Technical Documentation Volume 1 (QV025-GZ)، Microsoft MS-DOS Operating System BIOS Listing (AA-X432A-TV)، Universal Disk Driver، الصفحة 1-17. 1983.
  38. ^ "شرح مفصل لقطاع التمهيد FAT". DEW Associates Corporation. 2002. مؤرشف من الأصل في 2011-09-26 . تم الاسترجاع في 2011-10-16 .
  39. ^ Tyagi, Tarun (2004-10-31). "Clusters size in FAT and NTFS file systems". Data Recovery With and Without Programming. نيودلهي، الهند: Gardners Books. ص. 4. ISBN 978-81-7656-922-4. تم أرشفة النسخة الأصلية في 2021-12-03 . تم استرجاعها في 2021-12-03 .
  40. ^ Daniel B. Sedory. Detailed Notes on the "Dirty Shutdown Flag" under MS-Windows . 2001-12-04. ([15] Archived 2014-05-21 at the Wayback Machine ).
  41. ^ abcde "Windows 98 Resource Kit - Chapter 10 - Disks and File Systems". Microsoft TechNet . 1998. مؤرشف من الأصل في 2012-05-01 . تم الاسترجاع في 2012-07-16 .
  42. ^ abcd Schulman, Andrew; Brown, Ralf D .; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993]. Undocumented DOS: A Programmer's Guide to Reserved MS-DOS Functions and data structures – Expanded to include MS-DOS 6, Novell DOS and Windows 3.1 (2 ed.). Reading, Massachusetts: Addison Wesley . p. 11. ISBN 0-201-63287-X.(xviii+856+vi صفحات، قرص مرن مقاس 3.5 بوصة) أخطاء: [16][17]
  43. ^ بيتر نورتون (1986). داخل جهاز كمبيوتر IBM الشخصي، منقح وموسع ، برادي. ISBN 0-89303-583-1 ، ص 157. 
  44. ^ abc Andries Brouwer . "FAT تحت Linux". مؤرشف من الأصل في 2014-07-01 . تم استرجاعه في 2014-05-20 .
  45. ^ Andries Brouwer (2002-09-20). "FAT". مؤرشف من الأصل في 2017-12-17 . تم الاسترجاع 2012-01-11 .
  46. ^ abc Seattle Computer Products (1981). "SCP 86-DOS 1.0 Addendum" (PDF) . مؤرشف من الأصل (PDF) في 2012-10-03 . تم الاسترجاع في 2013-03-10 .
  47. ^ abcdefghijklmnopqrstu vwxyz aa ab ac ad ae af ag ah ai aj ak Paul، Matthias R. (1997/07/30) [1994/05/01]. نصائح NWDOS — نصائح وحيل تعمل على نظام التشغيل Novell DOS 7، مع النقر على تفاصيل غير موثقة وأخطاء وحلول بديلة. MPDOSTIP (باللغة الألمانية) (3 ed.). مؤرشفة من الأصلي بتاريخ 2016-11-05 . تم الاسترجاع 2012/01/11 .(ملاحظة: NWDOSTIP.TXT هو عمل شامل على Novell DOS 7 و OpenDOS 7.01 ، بما في ذلك وصف العديد من الميزات والأجزاء الداخلية غير الموثقة. وهو جزء من مجموعة MPDOSTIP.ZIP الأكبر التي يحتفظ بها المؤلف حتى عام 2001 ويتم توزيعها على العديد من المواقع في ذلك الوقت. يشير الرابط المقدم إلى إصدار أقدم من الملف تم تحويله إلى HTML.) [18]
  48. ^ دليل مستخدم نظام التشغيل IBM. 4690 الإصدار 5.2 ، مستند IBM SC30-4134-01، 2008-01-10 ([19]).
  49. ^ ab Paterson, Tim ; Microsoft (2013-12-19) [1983]. "Microsoft DOS V1.1 and V2.0: /msdos/v20source/FORMAT.TXT". متحف تاريخ الكمبيوتر ، مايكروسوفت . مؤرشف من الأصل في 2019-08-14 . تم الاسترجاع في 2014-03-25 .(ملاحظة: في حين يدعي الناشرون أن هذا سيكون MS-DOS 1.1 و2.0، فهو في الواقع SCP MS-DOS 1.25 ومزيج من Altos MS-DOS 2.11 و TeleVideo PC DOS 2.11 .)
  50. ^ ab Shustek, Len (2014-03-24). "Microsoft MS-DOS early source code". Software Gems: The Computer History Museum Historical Source Code Series. مؤرشف من الأصل في 2019-08-10 . تم الاسترجاع في 2014-03-29 .(ملاحظة: في حين يدعي المؤلف أن هذا سيكون MS-DOS 1.1 و2.0، فهو في الواقع SCP MS-DOS 1.25 ومزيج من Altos MS-DOS 2.11 و TeleVideo PC DOS 2.11 .)
  51. ^ ab Levin, Roy (2014-03-25). "Microsoft makes source code for MS-DOS and Word for Windows available to public". مدونة Microsoft الرسمية . مؤرشف من الأصل في 2014-03-28 . تم الاسترجاع في 2014-03-29 .(ملاحظة: في حين يدعي المؤلف أن هذا سيكون MS-DOS 1.1 و2.0، فهو في الواقع SCP MS-DOS 1.25 ومزيج من Altos MS-DOS 2.11 و TeleVideo PC DOS 2.11 .)
  52. ^ JEIDA/JEITA/CIPA (2010). "Standard of the Camera & Imaging Products Association, CIPA DC-009-Translation-2010, Design rule for Camera File system: DCF Version 2.0 (Edition 2010)" (PDF) . مؤرشف من الأصل (PDF) في 2013-09-30 . تم الاسترجاع في 2011-04-13 .
  53. ^ abcdefghijklmnopq Caldera (1997). Caldera OpenDOS Machine Readable Source Kit 7.01 . يحتوي ملف FDOS.EQU في مجموعة أدوات المصدر القابلة للقراءة آليًا على معادلات لإدخالات الدليل المقابلة.
  54. ^ John C. Elliott (1998). تنسيقات أقراص CP/M 4.1 . ([20] أرشيف 2014-08-26 على موقع Wayback Machine ): "يسمح 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 غير مدعومة."
  55. ^ ab vinDaci (1998-01-06). "Long Filename Specification". مؤرشف من الأصل في 2001-04-20 . تم الاسترجاع في 2007-03-13 .
  56. ^ هنك كيلدر. FAT32.TXT لـ FAT32.IFS الإصدار 0.74 . ( "@Macarlo, Inc". مؤرشف من الأصل في 2012-03-30 . استرجاع 2012-01-14 .). التعليق: لا تزال هذه النسخة الأقدم من ملف README تناقش القيم السحرية القديمة 0xEA و 0xEC .
  57. ^ Henk Kelder (2003). FAT32.TXT لإصدار FAT32.IFS 0.9.13." ([21] مؤرشف 2022-01-25 على موقع Wayback Machine ): "لا يتم تعديل هذا البايت [...] أثناء تشغيل Windows 95 ، بل يتم تعديله بواسطة SCANDISK أو DEFRAG. [...] إذا قام برنامج آخر بتعيين القيمة على 0x00 لملف يحتوي على EAs ، فلن يتم العثور على هذه EAs باستخدام مكالمات DosFindFirst/Next فقط. لا تعتمد مكالمات OS/2 الأخرى لاسترداد EAs (DosQueryPathInfo وDosQueryFileInfo وDosEnumAttribute) على هذا البايت. كما يمكن أن يحدث العكس [...]. [...] في هذه الحالة، سيتم تقليل أداء عمليات فحص الدليل فقط. يتم تصحيح كلا الموقفين [...] بواسطة CHKDSK ".
  58. ^ Netlabs. FAT32.IFS Wiki and Sources . ([22] Archived 2013-05-11 at the Wayback Machine ).
  59. ^ من دليل برمجة نظام التشغيل IBM. 4690 الإصدار 5.2 ، مستند IBM SC30-4137-01، 2007-12-06 ([23]).
  60. ^ abcdefghijklmn سلسلة مرجع مطوري OpenDOS — دليل النظام والمبرمج — دليل المبرمج. Caldera, Inc. أغسطس 1997. رقم قطعة Caldera 200-DODG-003. مؤرشف من الأصل في 2017-10-07 . تم الاسترجاع في 2014-05-20 .(تمت الطباعة في المملكة المتحدة.)
  61. ^ Bob Eager, Tavi Systems (2000-10-28). Implementation of extended attributes on the file system FAT . ([24] Archived 2006-06-13 at the Wayback Machine ).
  62. ^ IBM (2003). معلومات حول سمات توزيع الملفات الفريدة لنظام التشغيل 4690 ، مستند IBM R1001487، 2003-07-30. ( "معلومات IBM حول سمات توزيع الملفات الفريدة لنظام التشغيل 4690 - الولايات المتحدة". مؤرشف من الأصل في 2014-05-21 . تم الاسترجاع في 2014-05-20 .): "[...] يتم تخزين أنواع الملفات في جزء "البتات المحجوزة" من بنية دليل ملفات PC-DOS [...] فقط 4690 يحترم ويحافظ على هذه السمات. تتخذ أنظمة التشغيل المختلفة غير 4690 إجراءات مختلفة إذا تم تشغيل هذه البتات [...] عند النسخ من قرص مرن تم إنشاؤه على نظام 4690. [...] سينسخ PC-DOS وWindows 2000 Professional الملف دون خطأ ويعيدان البتات إلى الصفر. سيرفض نظام التشغيل OS/2 [...] 1.2 [...] نسخ الملف ما لم [...] يقوم أولاً بتشغيل CHKDSK /F على الملف. بعد [...] CHKDSK، سينسخ الملف ويعيدان البتات إلى الصفر. [...] عند [...] النسخ [...] مرة أخرى إلى نظام 4690، [...] سيتم نسخ الملف كملف محلي."
  63. ^ IBM. 4690 حفظ واستعادة سمات توزيع الملفات . مستند IBM R1000622، 2010-08-31 ( "IBM 4690 حفظ واستعادة سمات توزيع الملفات - الولايات المتحدة". مؤرشف من الأصل في 2014-05-21 . استرجاع 2014-05-20 .).
  64. ^ "قيود نظام الملفات FAT32". قاعدة معارف Microsoft . 2007-03-26. مؤرشف من الأصل في 2011-08-15 . تم الاسترجاع في 2011-08-21 . لا يمكن أن تكون المجموعات 64 كيلوبايت أو أكبر
  65. ^ Duncan, Ray (1989). "أهداف التصميم وتنفيذ نظام الملفات الجديد عالي الأداء". Microsoft Systems Journal. مؤرشف من الأصل في 2011-07-16 . تم الاسترجاع في 2014-05-20 .[ملاحظة: يحتوي ملف النص هذا على عدد من أخطاء التعرف الضوئي على الحروف؛ على سبيل المثال، "Ray" هو الاسم الصحيح للمؤلف؛ وليس "Roy" كما يظهر في النص.]
  66. ^ تشن، رايموند (يوليو 2006). "Microsoft TechNet: تاريخ موجز وغير مكتمل لنظام FAT32". مجلة Microsoft TechNet. مؤرشف من الأصل في 2008-11-18 . تم الاسترجاع في 2014-05-20 .
  67. ^ من قبل Les Bell؛ Associates Pty Ltd (1996-09-02) [1990]. "نظام الملفات عالي الأداء OS/2". مستشار دعم الكمبيوتر الشخصي . مؤرشف من الأصل في 2014-03-01 . تم الاسترجاع في 2014-06-24 .
  68. ^ ab Bridges, Dan (فبراير 1996). "Inside the High Performance File System - Part 2/6: Introduction". Significant Bits, Brisbug PC User Group Inc. مؤرشف من الأصل في 2015-09-23 . تم الاسترجاع في 2014-06-24 .
  69. ^ Natuerlich! (1992-03-24). "Getting longer filenames out of GEMDOS". comp.sys.atari.st.tech. مؤرشف من الأصل في 2014-04-24 . تم الاسترجاع في 2014-05-05 .
  70. ^ Torvalds, Linus (1992-12-23). ​​"Long filenames". comp.os.minix. مؤرشف من الأصل في 2014-04-23 . تم الاسترجاع في 2014-05-05 .
  71. ^ "mount(8): mount file system". صفحة دليل Linux . مؤرشف من الأصل في 2014-05-05 . تم الاسترجاع في 2014-05-20 .
  • ECMA-107 حجم وهيكل الملفات لخراطيش الأقراص لتبادل المعلومات، مطابق لمعيار ISO/IEC 9293.
  • مواصفات نظام الملفات FAT32 من مبادرة البرامج الثابتة القابلة للتوسيع من Microsoft، FAT: نظرة عامة على تنسيق القرص
  • فهم أنظمة الملفات FAT32 (موضحة لمطوري البرامج الثابتة المضمنة)
  • فهم FAT بما في ذلك الكثير من المعلومات حول LFNs
  • شرح تفصيلي لقطاع التمهيد FAT: مقالة قاعدة معارف Microsoft رقم 140418
  • وصف نظام الملفات FAT32: مقالة قاعدة معارف Microsoft رقم 154997
  • FAT12/FAT16/FAT32 file system implementation for *nix: Includes libfat libraries and fusefat, a FUSE file system driver
  • MS-DOS: Directory and Subdirectory Limitations: Microsoft Knowledge Base Article 39927
  • Overview of FAT, HPFS, and NTFS File Systems: Microsoft Knowledge Base Article 100108
  • Volume and file size limits of FAT file systems: Microsoft Technet, copy made by Internet Archive Wayback Machine
  • Microsoft TechNet: A Brief and Incomplete History of FAT32 by Raymond Chen
  • FAT32 Formatter Archived 2009-07-21 at the Wayback Machine: allows formatting volumes larger than 32 GB with FAT32 under Windows 2000, Windows XP and Windows Vista
  • Fdisk does not recognize full size of hard disks larger than 64 GB: Microsoft Knowledge Base Article 263044, copy made by Internet Archive Wayback Machine. Explains inability to work with extremely large volumes under Windows 95/98.
  • Microsoft Windows XP: FAT32 File System. Copy made by Internet Archive Wayback Machine of an article with summary of limits in FAT32 which is no longer available on Microsoft website.
  • Visual Layout of a FAT16 drive
Retrieved from "https://en.wikipedia.org/w/index.php?title=Design_of_the_FAT_file_system&oldid=1264870981"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate