กลับไปหน้าบทความ

อ่าน 25 นาที

ตารางการจัดสรรไฟล์

ตารางจัดสรรไฟล์ ( FAT ) เป็นระบบไฟล์ที่พัฒนาขึ้นสำหรับคอมพิวเตอร์ส่วนบุคคลและเป็นระบบไฟล์เริ่มต้นสำหรับระบบปฏิบัติการDOSและWindows 9x เดิมทีพัฒนาขึ้นในปี 1977

ตารางการจัดสรรไฟล์

อ้วน
นักพัฒนาไมโครซอฟต์ , เอ็นซีอาร์ , เอสพีซี , ไอบีเอ็ม , คอมแพค , ดิจิทัล รีเสิร์ช , โนเวลล์ , คาลเดรา
ชื่อเต็มตารางการจัดสรรไฟล์
ตัวแปรFAT 8 บิต, FAT12 , FAT16 , FAT16B , FAT32 , exFAT , FATX , FAT+
แนะนำปี 1977 พร้อมดิสก์แบบสแตนด์อโลน BASIC-80 ( 1977 )
รหัสพาร์ติชันMBR / EBR :
โครงสร้าง
สารบัญโต๊ะ
การจัดสรรไฟล์รายการเชื่อมโยง
บล็อกที่ไม่ดีการติดแท็กคลัสเตอร์
ข้อจำกัด
ขนาดปริมาตรสูงสุด
ขนาดไฟล์สูงสุด4,294,967,295 ไบต์ (4  GB − 1) ด้วย FAT16B และ FAT32 [ 1 ]
จำนวนไฟล์สูงสุด
  • FAT12: 4,068 สำหรับ  คลัสเตอร์ขนาด 8 KB
  • FAT16: 65,460 สำหรับคลัสเตอร์ขนาด 32 KB
  • FAT32: 268,173,300 สำหรับคลัสเตอร์ขนาด 32 KB
ความยาวชื่อไฟล์สูงสุดชื่อไฟล์ 8.3หรือ อักขระ UCS-2 จำนวน 255 ตัวเมื่อใช้LFN [หมายเหตุ 1 ]
คุณสมบัติ
วันที่บันทึก
  • วันที่/เวลาที่แก้ไข, วันที่/เวลาที่สร้าง (เฉพาะ DOS 7.0 ขึ้นไป)
  • วันที่เข้าถึง (ใช้ได้เฉพาะเมื่อ เปิดใช้ งาน ACCDATE เท่านั้น ) [ 2 ]
  • วันที่/เวลาที่ลบ (เฉพาะกับ DELWATCH 2 เท่านั้น)
ช่วงวันที่1 มกราคม 1980ถึง31 ธันวาคม 2099 ( 31 ธันวาคม 2107 )
ความละเอียดของวันที่
  • 2 วินาทีสำหรับเวลาที่แก้ไขล่าสุด
  • เวลาในการสร้าง 2 วินาที
  • 1 วันสำหรับวันเข้าใช้งาน
  • เวลาในการลบ 2 วินาที
ส้อมไม่ใช่คนพื้นเมือง
คุณลักษณะอ่านอย่างเดียว, ซ่อน, ระบบ, วอลุ่ม, ไดเร็กทอรี, ไฟล์เก็บถาวร
สิทธิ์การเข้าถึงไฟล์ระบบ
การบีบอัดแบบโปร่งใส
การเข้ารหัสแบบโปร่งใส

ตารางจัดสรรไฟล์ ( FAT ) เป็นระบบไฟล์ที่พัฒนาขึ้นสำหรับคอมพิวเตอร์ส่วนบุคคลและเป็นระบบไฟล์เริ่มต้นสำหรับระบบปฏิบัติการDOSและWindows 9x [ 3 ]เดิมทีพัฒนาขึ้นในปี 1977 เพื่อใช้กับฟลอปปี้ดิสก์ต่อมาได้มีการดัดแปลงเพื่อใช้กับฮาร์ดดิสก์และอุปกรณ์อื่นๆ การเพิ่มขึ้นของความจุของไดรฟ์ดิสก์เมื่อเวลาผ่านไปทำให้ต้องมีการปรับเปลี่ยนการออกแบบ ส่งผลให้เกิดเวอร์ชันใหม่ๆได้แก่ FAT12 , FAT16 , FAT32และexFAT

FAT ถูกแทนที่ด้วยNTFSเป็นระบบไฟล์เริ่มต้นในระบบปฏิบัติการของ Microsoft ตั้งแต่ Windows XP เป็นต้นไป[ 4 ]อย่างไรก็ตามFATยังคงถูกใช้กันอย่างแพร่หลายใน เทคโนโลยี จัดเก็บข้อมูลแบบโซลิดสเตทที่ มีความจุค่อนข้างน้อย เช่นแฟลชไดรฟ์ USBการ์ดSD การ์ดมัลติมีเดีย( MMC) และeMMCเนื่องจากความเข้ากันได้กับระบบปฏิบัติการและระบบฝังตัวและความง่ายในการใช้งาน[ 5 ]

การใช้งาน

ประวัติศาสตร์

ระบบไฟล์ FAT ถูกใช้กับฮาร์ดดิสก์มาตลอดช่วงยุค DOS และWindows 9xไมโครซอฟต์ได้เปิดตัวNTFSพร้อมกับ แพลตฟอร์ม Windows NTในปี 1993 แต่ FAT ยังคงเป็นมาตรฐานสำหรับผู้ใช้ตามบ้านจนกระทั่งมีการเปิดตัวWindows XPในปี 2001 Windows Meเป็นเวอร์ชันสุดท้ายของWindowsที่ใช้ FAT เป็นระบบไฟล์เริ่มต้น

สำหรับฟลอปปี้ดิสก์ FAT ได้รับการกำหนดมาตรฐานเป็นECMA -107 [ 6 ]และISO / IEC  9293:1994 [ 7 ] (แทนที่ ISO 9293:1987 [ 8 ] ) มาตรฐานเหล่านี้ครอบคลุม FAT12 และ FAT16 โดย รองรับเฉพาะชื่อไฟล์แบบสั้น 8.3 เท่านั้น ชื่อไฟล์แบบยาวที่มีVFATได้รับการจดสิทธิบัตรบางส่วน[ 9 ]ในขณะที่FAT12ใช้กับฟลอปปี้ดิสก์FAT16และFAT32มักพบในสื่อขนาดใหญ่กว่า

ทันสมัย

FAT ถูกใช้ภายในสำหรับพาร์ติชั่นระบบ EFIในขั้นตอนการบูตของคอมพิวเตอร์ที่รองรับEFI [ 10 ]

FAT ยังคงใช้ในไดรฟ์ที่คาดว่าจะใช้โดยระบบปฏิบัติการหลายระบบ เช่น ในสภาพแวดล้อม Windows และLinux ที่ใช้ร่วมกัน นอกจากนี้ Microsoft Windows ยังมีเครื่องมือที่ติดตั้งไว้ล่วงหน้าเพื่อแปลงระบบไฟล์ FAT เป็น NTFS โดยตรงโดยไม่จำเป็นต้องเขียนไฟล์ใหม่ทั้งหมด แม้ว่าจะไม่สามารถย้อนกลับได้ง่ายก็ตาม[ 11 ]

ระบบไฟล์ FAT ใช้ในสื่อแบบถอดได้ เช่นฟลอปปี้ดิสก์ซูเปอร์ฟลอปปี้การ์ดหน่วยความจำและ การ์ด หน่วยความจำแฟลชหรือแฟลชไดรฟ์ USB FAT รองรับโดยอุปกรณ์พกพา เช่นPDA กล้องดิจิทัลกล้องวิดีโอเครื่องเล่นสื่อโทรศัพท์มือถือเครื่องเล่นเกมรวมถึงระบบฝังตัวเช่นบูมบ็อกซ์และเครื่องเล่น DVDและ ระบบ เสียงในรถยนต์ ที่มีพอร์ต USBและเครื่องอ่านการ์ด SDในตัว[ 12 ] [ 13 ]

ระบบ ไฟล์ DCF ที่ กล้องดิจิทัลเกือบทั้งหมดนำมาใช้ตั้งแต่ปี 1998 กำหนดระบบไฟล์เชิงตรรกะด้วยชื่อไฟล์ 8.3และกำหนดให้ต้องใช้ FAT12, FAT16, FAT32 หรือ exFAT สำหรับเลเยอร์ทางกายภาพเพื่อความเข้ากันได้[ 14 ]

รายละเอียดทางเทคนิค

ระบบไฟล์ใช้ตารางดัชนีที่จัดเก็บไว้ในอุปกรณ์เพื่อระบุลำดับของพื้นที่จัดเก็บข้อมูลที่เกี่ยวข้องกับไฟล์ ซึ่งเรียกว่าตารางการจัดสรรไฟล์ ( FAT ) FAT จะถูกจัดสรรแบบคงที่ในขณะที่ทำการฟอร์แมต ตารางนี้เป็นรายการเชื่อมโยงของรายการสำหรับแต่ละคลัสเตอร์ซึ่งเป็นพื้นที่จัดเก็บข้อมูลบนดิสก์ที่ต่อเนื่องกัน แต่ละรายการประกอบด้วยหมายเลขของคลัสเตอร์ถัดไปในไฟล์ หรือเครื่องหมายที่ระบุถึงจุดสิ้นสุดของไฟล์ พื้นที่ดิสก์ที่ไม่ได้ใช้ หรือพื้นที่สงวนพิเศษของดิสก์ไดเร็กทอรีรากของดิสก์ประกอบด้วยหมายเลขของคลัสเตอร์แรกของแต่ละไฟล์ในไดเร็กทอรีนั้น จากนั้นระบบปฏิบัติการสามารถสำรวจ FAT โดยค้นหาหมายเลขคลัสเตอร์ของแต่ละส่วนที่ต่อเนื่องกันของไฟล์บนดิสก์เป็นลำดับคลัสเตอร์จนกว่าจะถึงจุดสิ้นสุดของไฟล์ไดเร็กทอรีย่อยถูกสร้างขึ้นเป็นไฟล์พิเศษที่มีรายการไดเร็กทอรีของไฟล์นั้นๆ

แต่ละรายการในลิสต์เชื่อมโยงแบบ FAT มีจำนวนบิตคงที่ คือ 12, 16 หรือ 32 บิต ขนาดสูงสุดของไฟล์หรือไดรฟ์ดิสก์ที่สามารถเข้าถึงได้คือผลคูณของจำนวนที่มากที่สุดที่สามารถจัดเก็บในรายการ (หักค่าบางส่วนที่สงวนไว้เพื่อระบุพื้นที่ที่ไม่ได้จัดสรรหรือจุดสิ้นสุดของลิสต์) และขนาดของคลัสเตอร์ดิสก์ แม้ว่าจะต้องใช้พื้นที่จัดเก็บเพียงหนึ่งไบต์เพื่อขยายไฟล์ แต่ก็ต้องจัดสรรคลัสเตอร์ทั้งหมดให้กับไฟล์นั้น ผลที่ตามมาคือ ไฟล์ขนาดเล็กจำนวนมากอาจทำให้คลัสเตอร์ที่ถูกจัดสรรมีข้อมูล "ว่างเปล่า" เป็นส่วนใหญ่ เพื่อให้เป็นไปตามขนาดคลัสเตอร์ขั้นต่ำ

เดิมทีออกแบบมาเป็นระบบไฟล์ 8 บิต แต่จำนวนคลัสเตอร์สูงสุดต้องเพิ่มขึ้นตามความจุของฮาร์ดดิสก์ที่เพิ่มขึ้น ดังนั้นจำนวนบิตที่ใช้ในการระบุแต่ละคลัสเตอร์จึงเพิ่มขึ้นด้วย รูปแบบ FAT รุ่นหลักต่อมาจึงตั้งชื่อตามจำนวนบิตขององค์ประกอบตาราง ได้แก่ 12 ( FAT12 ), 16 ( FAT16 ) และ 32 ( FAT32 )

ตัวแปร

ระบบไฟล์ FAT มีหลายรูปแบบ (เช่นFAT12 , FAT16และFAT32 ) FAT16 หมายถึงทั้งกลุ่มระบบไฟล์ FAT ดั้งเดิมที่มีรายการคลัสเตอร์กว้าง 16 บิต และรูปแบบที่พัฒนาขึ้นมาภายหลัง " VFAT " เป็นส่วนขยายเสริมสำหรับชื่อไฟล์แบบยาว ซึ่งสามารถใช้งานร่วมกับระบบไฟล์ FAT ใดก็ได้ ไดรฟ์ที่ใช้ชื่อไฟล์แบบยาว VFAT สามารถอ่านได้โดยระบบปฏิบัติการที่ไม่รองรับส่วนขยาย VFAT ด้วยเช่นกัน

ต้นฉบับ 8 บิต FAT

8 บิต FAT
นักพัฒนาไมโครซอฟต์ , เอ็นซีอาร์ , เอส พีเอสพี
ชื่อเต็มตารางการจัดสรรไฟล์ 8 บิต
แนะนำ
ข้อจำกัด
ขนาดไฟล์สูงสุด8 MB
ความละเอียดของขนาดไฟล์ความละเอียดของบันทึก (128 ไบต์) [ 15 ] [ 16 ]
ความยาวชื่อไฟล์สูงสุด6.3 ชื่อไฟล์ (ไฟล์ไบนารี) 9 อักขระ (ไฟล์ ASCII) [ 15 ] [ 16 ]
ความลึกสูงสุดของไดเร็กทอรีไม่มีไดเร็กทอรีย่อย
อักขระที่อนุญาตสำหรับชื่อไฟล์ASCII ( 0x00และ0xFFไม่อนุญาตให้ใช้ในอักขระตัวแรก) [ 15 ] [ 16 ]
คุณสมบัติ
วันที่บันทึกเลขที่
คุณลักษณะป้องกันการเขียน การแปลง EBCDICอ่านหลังจากเขียน ไบนารี (ไฟล์แบบสุ่มแทนที่จะเป็นแบบเรียงลำดับ) [ 15 ] [ 16 ]

ระบบไฟล์ FAT ดั้งเดิม (หรือโครงสร้าง FATตามที่เรียกในตอนแรก) ได้รับการออกแบบและนำไปใช้โดยMarc McDonald [ 17 ] โดยอิงจากการสนทนาระหว่าง McDonald และBill Gates [ 17 ] มันถูกนำเสนอด้วยองค์ประกอบตาราง8 บิต[ 15 ] [ 16 ] [ 17 ] (และหมายเลขคลัสเตอร์ข้อมูลที่ถูกต้องถึง0xBF[ 15 ] [ 16 ] ) ในรุ่นก่อนหน้าของStandalone Disk BASIC-80ของMicrosoftสำหรับเครื่องรุ่นต่อยอดที่ใช้8080 [หมายเหตุ 2 ]ของเทอร์มินัลป้อนข้อมูลรุ่น NCR 7200 VI ที่ติดตั้งฟลอปปี้ดิสก์ขนาด 8 นิ้ว (200 มม.) ในปี 1977 [ 18 ]หรือ 1978 [หมายเหตุ 2 ] ในปี 1978 Standalone Disk BASIC-80ถูกพอร์ตไปยัง8086โดยใช้อีมูเลเตอร์บน DEC PDP-10 [ 19 ] เนื่องจากไม่มีระบบ 8086 จริงให้บริการในเวลานั้น ระบบไฟล์ FAT ยังถูกใช้ในMDOS/MIDAS ของ Microsoft [ 17 ] ซึ่งเป็นระบบปฏิบัติการสำหรับแพลตฟอร์ม 8080/Z80 ที่เขียนโดย McDonald ตั้งแต่ปี 1979 เวอร์ชัน Standalone Disk BASICรองรับ FAT สามแบบ[ 15 ] [ 16 ] [ 20 ]ในขณะที่นี่เป็นพารามิเตอร์สำหรับ MIDAS มีรายงานว่า MIDAS ยังเตรียมพร้อมที่จะรองรับ FAT แบบ 10 บิต 12 บิต และ 16 บิต ในขณะที่ขนาดของรายการไดเร็กทอรีคือ 16 ไบต์ในStandalone Disk BASIC [ 15 ] [ 16 ] MIDAS กลับใช้พื้นที่ 32 ไบต์ต่อ รายการ

ทิม แพเตอร์สันจากSeattle Computer Products (SCP) ได้รู้จักโครงสร้าง FAT ของ Microsoft เป็นครั้งแรกเมื่อเขาช่วยบ็อบ โอเรียร์ปรับแต่งพอร์ตจำลองStandalone Disk BASIC-86 ลงบนบอร์ด CPU 8086 บัส S-100ต้นแบบของ SCP ระหว่างสัปดาห์เยี่ยมชม Microsoft ในเดือนพฤษภาคม พ.ศ. 2522 [ 19 ]ผลิตภัณฑ์ขั้นสุดท้ายถูกนำเสนอที่บูธของLifeboat Associates ใน งาน National Computer Conferenceที่นิวยอร์ก[ 19 ]ระหว่างวันที่ 4-7 มิถุนายน พ.ศ. 2522 ซึ่งแพเตอร์สันได้เรียนรู้เกี่ยวกับการใช้งาน FAT ที่ซับซ้อนยิ่งขึ้นใน MDOS/MIDAS [ 17 ]และแมคโดนัลด์ได้พูดคุยกับเขาเกี่ยวกับการออกแบบระบบไฟล์[ 18 ]

เอฟที12

เอฟที12
นักพัฒนาSCP , Microsoft , IBM , Digital Research , Novell
ชื่อเต็มตารางการจัดสรรไฟล์ 12 บิต
แนะนำ
  • กรกฎาคม 1980 ( QDOS 0.10 , รายการไดเร็กทอรีขนาด 16 ไบต์)
  • 25 กุมภาพันธ์ 1981 ( 86-DOS 0.42 , รายการไดเร็กทอรีขนาด 32 ไบต์, เซกเตอร์ที่สงวนไว้หลายส่วน)
  • ประมาณ ค.ศ. 1981–08/10 ( PC DOS 1.0 , รายการไดเร็กทอรีขนาด 32 ไบต์, 1 เซกเตอร์ที่สงวนไว้)
  • 3 มีนาคม 1982 ( MS-DOS 1.25 , รายการไดเร็กทอรีขนาด 32 ไบต์, 1 เซกเตอร์ที่สงวนไว้)
รหัสพาร์ติชันMBR / EBR :
ข้อจำกัด
ขนาดปริมาตรสูงสุด
  • 16 เมกะไบต์ (พร้อมคลัสเตอร์ขนาด 4 กิโลไบต์)
  • 32 เมกะไบต์ (พร้อมคลัสเตอร์ขนาด 8 กิโลไบต์)
ขนาดไฟล์สูงสุดจำกัดด้วยขนาดปริมาตร
ความละเอียดของขนาดไฟล์1 ไบต์
จำนวนไฟล์สูงสุด4,068 สำหรับคลัสเตอร์ 8 KB
ความยาวชื่อไฟล์สูงสุดชื่อไฟล์ 8.3ที่มี อักขระ OEM , อักขระ UCS-2จำนวน255 ตัว [ nb 1 ]เมื่อใช้LFN
ความลึกสูงสุดของไดเร็กทอรี32 ระดับ หรือ 66 ตัวละคร (พร้อมCDS ) , 60 ระดับขึ้นไป (ไม่มี CDS)
คุณสมบัติ
วันที่บันทึก
  • วันที่แก้ไขล่าสุด (ไม่รวม 86-DOS เวอร์ชันก่อน 0.42)
  • เวลาที่แก้ไข (ใช้ไม่ได้กับ PC DOS 1.0 และ 86-DOS), วันที่/เวลาสร้าง (เฉพาะ DOS 7.0 ขึ้นไป)
  • วันที่เข้าถึง (ใช้ได้เฉพาะเมื่อ เปิดใช้ งาน ACCDATE เท่านั้น ) [ 2 ]
  • วันที่/เวลาที่ลบ (เฉพาะกับ DELWATCH 2 เท่านั้น)
ช่วงวันที่1 มกราคม 1980ถึง31 ธันวาคม 2099 ( 31 ธันวาคม 2107 )
ความละเอียดของวันที่
  • 2 วินาทีสำหรับเวลาที่แก้ไขล่าสุด
  • เวลาในการสร้าง 10 มิลลิวินาที
  • 1 วันสำหรับวันเข้าใช้งาน
  • เวลาในการลบ 2 วินาที
คุณลักษณะอ่านอย่างเดียว (ตั้งแต่ DOS 2.0), ซ่อน , ระบบ , ไดรฟ์ (ตั้งแต่MS-DOS 1.28และPC DOS 2.0 ), ไดเร็กทอรี (ตั้งแต่MS-DOS 1.40และ PC DOS 2.0), ไฟล์เก็บถาวร (ตั้งแต่ DOS 2.0)
สิทธิ์การเข้าถึงไฟล์ระบบ
การบีบอัดแบบโปร่งใสต่อปริมาตร, ซูเปอร์สตอเรจ , สแต็กเกอร์ , ดับเบิลสเปซ , ไดรฟ์สเปซ
การเข้ารหัสแบบโปร่งใสเฉพาะต่อเล่มเท่านั้นเมื่อใช้DR-DOS

ระหว่างเดือน เมษายนถึงสิงหาคม พ.ศ. 2523 ในขณะที่ยืมแนวคิด FAT สำหรับระบบปฏิบัติการ 8086 ของ SCP เองQDOS 0.10 [ 19 ] Tim Paterson ได้ขยายองค์ประกอบตารางเป็น12 บิต[ 21 ]ลดจำนวน FAT เหลือสอง กำหนดความหมายของค่าคลัสเตอร์ที่สงวนไว้บางส่วนใหม่ และแก้ไขเค้าโครงดิสก์ เพื่อให้ไดเร็กทอรีรูทตั้งอยู่ระหว่าง FAT และพื้นที่ข้อมูลสำหรับการใช้งานFAT12 ของเขา Paterson ยังเพิ่มขีดจำกัดความยาวชื่อไฟล์เก้าตัวอักษร (6.3) [ 15 ] [ 16 ]เป็นสิบเอ็ดตัวอักษรเพื่อรองรับชื่อไฟล์ 8.3สไตล์CP/Mและบล็อกควบคุมไฟล์รูปแบบที่ใช้ใน ระบบไฟล์ 8 บิตรุ่นก่อนหน้า ของ Microsoft Standalone Disk BASICไม่ได้รับการสนับสนุนโดย QDOS ภายในเดือนสิงหาคม พ.ศ. 2523 QDOS ได้เปลี่ยนชื่อเป็น86- DOS [ 22 ]เริ่มต้นด้วย86-DOS 0.42ขนาดและรูปแบบของรายการไดเร็กทอรีถูกเปลี่ยนจาก 16 ไบต์เป็น 32 ไบต์[ 23 ]เพื่อเพิ่มการประทับวันที่ของไฟล์[ 23 ]และเพิ่มขีดจำกัดขนาดไฟล์ตามทฤษฎีให้เกินขีดจำกัดเดิมที่ 16 MB [ 23 ] 86-DOS 1.00เปิดให้ใช้งานในช่วงต้นปี 1981 ต่อมาในปี 1981 86-DOS ได้พัฒนาเป็นMS-DOS ของ Microsoft และIBM PC DOS [ 17 ] [ 21 ] [ 24 ] ความ สามารถในการอ่านวอลุ่มที่จัดรูปแบบไว้ก่อนหน้านี้ด้วยรายการไดเร็กทอรีขนาด 16 ไบต์[ 23 ]ถูกยกเลิกในMS-DOS 1.20

FAT12 ใช้รายการ 12 บิตสำหรับที่อยู่คลัสเตอร์ ค่าบางค่าถูกสงวนไว้เพื่อทำเครื่องหมายจุดสิ้นสุดของห่วงโซ่คลัสเตอร์ เพื่อทำเครื่องหมายพื้นที่ที่ไม่สามารถใช้งานได้ของดิสก์ หรือเพื่อวัตถุประสงค์อื่น ดังนั้นจำนวนคลัสเตอร์สูงสุดจึงถูกจำกัดไว้ที่ 4078 [ 25 ] [ 26 ]เพื่อประหยัดพื้นที่ดิสก์ รายการ FAT 12 บิตสองรายการใช้ไบต์ 8 บิตสามไบต์ที่ต่อเนื่องกันบนดิสก์ ซึ่งต้องมีการจัดการเพื่อแยกค่า 12 บิตออกมา วิธีนี้เพียงพอสำหรับไดรฟ์ฟลอปปี้ดิสก์รุ่นแรก และฮาร์ดดิสก์ขนาดเล็กไม่เกิน 32 เมกะไบต์ เวอร์ชัน FAT16Bที่มีให้ใช้งานใน DOS 3.31 รองรับ หมายเลขเซกเตอร์ 32 บิตจึงเพิ่มขีดจำกัดขนาดของวอลุ่ม

โครงสร้างควบคุมทั้งหมดจะอยู่ภายในแทร็กแรก เพื่อหลีกเลี่ยงการเคลื่อนที่ของหัวอ่านและเขียนข้อมูล หากมีเซกเตอร์เสียในบริเวณโครงสร้างควบคุม ดิสก์นั้นจะใช้งานไม่ได้ เครื่องมือจัดรูปแบบของ DOS จะปฏิเสธดิสก์ดังกล่าวโดยสิ้นเชิง เซกเตอร์เสียจะได้รับอนุญาตเฉพาะในบริเวณข้อมูลไฟล์เท่านั้น คลัสเตอร์ที่มีเซกเตอร์เสียจะถูกทำเครื่องหมายว่าใช้งานไม่ได้ด้วยค่าที่สงวนไว้0xFF7ใน FAT

ในขณะที่ 86-DOS รองรับรูปแบบดิสก์สามแบบ (250.25 KB, 616 KB และ 1232 KB โดยมีFAT ID0xFFและ0xFE) บนไดรฟ์ฟลอปปี้ขนาด 8 นิ้ว (200 มม.) แต่ IBM PC DOS 1.0ซึ่งเปิดตัวพร้อมกับคอมพิวเตอร์ส่วนบุคคล IBM รุ่นแรก ในปี 1981 รองรับเฉพาะรูปแบบฟลอปปี้ 8 เซกเตอร์ที่มีความจุที่จัดรูปแบบแล้ว 160 KB (FAT ID 0xFE) สำหรับไดรฟ์ฟลอปปี้ด้านเดียวขนาด 5.25 นิ้ว และPC DOS 1.1ได้เพิ่มการรองรับ รูปแบบ สองด้านที่มีความจุ 320 KB (FAT ID 0xFF) PC DOS 2.0ได้แนะนำการรองรับรูปแบบฟลอปปี้ 9 เซกเตอร์ที่มีความจุ 180 KB (FAT ID 0xFC) และ 360 KB (FAT ID 0xFD)

ใน 86-DOS 1.00 และ PC DOS 1.0 รายการในไดเร็กทอรีจะมีเพียงวันที่เดียว คือวันที่แก้ไขล่าสุด ส่วน PC DOS 1.1 ได้เพิ่มเวลาที่แก้ไขล่าสุดเข้าไปด้วยคุณสมบัติไฟล์ ใน PC DOS 1.x จะมีบิตซ่อนและบิตระบบ ส่วนอีกหกบิตที่เหลือไม่ได้กำหนดค่าไว้ ในขณะนั้น DOS ยังไม่รองรับไดเร็กทอรีย่อย แต่โดยทั่วไปแล้วจะมีไฟล์เพียงไม่กี่สิบไฟล์ในดิสเก็ตต์

PC XTเป็นพีซีเครื่องแรกที่มีฮาร์ดไดรฟ์ที่ผลิตโดย IBM และ PC DOS 2.0 รองรับฮาร์ดไดรฟ์นั้นด้วยระบบไฟล์ FAT12 ( FAT ID0xF8 ) ข้อสมมติฐานตายตัวที่ว่าฮาร์ดดิสก์มี 8 เซกเตอร์ต่อคลัสเตอร์ ทำให้ขนาดพาร์ติชั่นสูงสุดถูกจำกัดไว้ที่ 16 MB สำหรับเซกเตอร์ขนาด 512 ไบต์ และคลัสเตอร์ขนาด 4 KB

บล็อกพารามิเตอร์ BIOS ( BPB ) ถูกนำมาใช้ใน PC DOS 2.0 เช่นกัน และเวอร์ชันนี้ยังเพิ่มบิตคุณลักษณะแบบอ่านอย่างเดียว, เก็บถาวร , ป้ายชื่อวอลุ่มและไดเร็กทอรีสำหรับไดเร็กทอรีย่อยแบบลำดับชั้น อีกด้วย [ 27 ]

MS-DOS 3.0ได้เพิ่มการรองรับฟลอปปีดิสก์ความหนาแน่นสูงขนาด 1.2 MB 5.25 นิ้ว (ตัวระบุสื่อ0xF9) ซึ่งมี 15 เซกเตอร์ต่อแทร็ก ทำให้มีพื้นที่มากขึ้นสำหรับ FATs

FAT12 ยังคงใช้งานได้ใน ฟลอปปี้ดิสก์ทั่วไปทั้งหมดรวมถึงดิสก์ขนาด 1.44 MB และ 2.88 MB (ไบต์ตัวอธิบายสื่อ0xF0)

FAT16 เริ่มต้น

เอฟที16
นักพัฒนาไมโครซอฟต์ , ไอบีเอ็ม , ดิจิทัล รีเสิร์ช , โนเวลล์
ชื่อเต็มตารางการจัดสรรไฟล์ 16 บิต (พร้อมรายการเซกเตอร์ 16 บิต)
แนะนำ1984-08-14 (พีซีดอส 3.0) 1984-08 (MS-DOS 3.0)
รหัสพาร์ติชันMBR / EBR :
ข้อจำกัด
ขนาดไฟล์สูงสุด4,294,967,295 ไบต์ (4 GB − 1)
ความละเอียดของขนาดไฟล์1 ไบต์
จำนวนไฟล์สูงสุด65,536 สำหรับคลัสเตอร์ 32 KB
ความยาวชื่อไฟล์สูงสุดชื่อไฟล์ 8.3ที่มี อักขระ OEM , อักขระ UCS-2จำนวน255  ตัว [ nb 1 ]เมื่อใช้LFN
ความลึกสูงสุดของไดเร็กทอรี32 ระดับ หรือ 66 ตัวละคร (พร้อมCDS ) , 60 ระดับขึ้นไป (ไม่มี CDS)
คุณสมบัติ
วันที่บันทึก
  • วันที่/เวลาที่แก้ไข, วันที่/เวลาที่สร้าง (เฉพาะ DOS 7.0 ขึ้นไป)
  • วันที่เข้าถึง (ใช้ได้เฉพาะเมื่อ เปิดใช้ งาน ACCDATE เท่านั้น ) [ 2 ]
  • วันที่/เวลาที่ลบ (เฉพาะกับ DELWATCH 2 เท่านั้น)
ช่วงวันที่1 มกราคม 1980ถึง31 ธันวาคม 2099 ( 31 ธันวาคม 2107 )
ความละเอียดของวันที่
  • 2 วินาทีสำหรับเวลาที่แก้ไขล่าสุด
  • เวลาในการสร้าง 10 มิลลิวินาที
  • 1 วันสำหรับวันเข้าใช้งาน
  • เวลาในการลบ 2 วินาที
คุณลักษณะอ่านอย่างเดียว , ซ่อน , ระบบ , วอลุ่ม , ไดเร็กทอรี , คลังเก็บข้อมูล
สิทธิ์การเข้าถึงไฟล์ระบบ
การบีบอัดแบบโปร่งใสต่อปริมาตร, ซูเปอร์สตอเรจ , สแต็กเกอร์ , ดับเบิลสเปซ , ไดรฟ์สเปซ
การเข้ารหัสแบบโปร่งใสเฉพาะต่อเล่มเท่านั้นเมื่อใช้DR-DOS

ในปี พ.ศ. 2527 IBM ได้ออกPC ATซึ่งต้องใช้ PC DOS 3.0 ในการเข้าถึงฮาร์ดดิสก์ขนาด 20 MB [ 28 ] [ 29 ] Microsoft ได้เปิดตัว MS-DOS 3.0 ในเวลาเดียวกัน ที่อยู่คลัสเตอร์เพิ่มขึ้นเป็น 16 บิต ทำให้มีคลัสเตอร์ได้มากถึง 65,526 คลัสเตอร์ต่อวอลุ่ม อย่างไรก็ตาม จำนวนเซกเตอร์สูงสุดที่เป็นไปได้และ ขนาด พาร์ติชัน สูงสุด 32 MB ยังคงไม่เปลี่ยนแปลง แม้ว่าที่อยู่คลัสเตอร์จะเป็น 16 บิต แต่รูปแบบนี้ไม่ใช่สิ่งที่เข้าใจกันโดยทั่วไปในปัจจุบันว่าเป็นFAT16 ประเภทพาร์ติชัน ระบุ0x04รูปแบบของ FAT16 นี้ที่มีเซกเตอร์น้อยกว่า 65,536 เซกเตอร์ (น้อยกว่า 32 MB สำหรับขนาดเซกเตอร์ 512) ข้อดีของ FAT16 คือการใช้คลัสเตอร์ขนาดเล็ก ทำให้การใช้ดิสก์มีประสิทธิภาพมากขึ้น โดยเฉพาะอย่างยิ่งสำหรับไฟล์จำนวนมากที่มีขนาดเพียงไม่กี่ร้อยไบต์

เนื่องจาก MS-DOS 3.0 ฟอร์แมตพาร์ติชันขนาด 16 MB-32 MB ทั้งหมดในรูปแบบ FAT16 ฮาร์ดดิสก์ขนาด 20 MB ที่ฟอร์แมตภายใต้ MS-DOS 3.0 จึงไม่สามารถเข้าถึงได้โดย MS-DOS 2.0 [ 30 ] MS-DOS 3.0 ถึง MS-DOS 3.30 ยังคงสามารถเข้าถึงพาร์ติชัน FAT12 ที่มีขนาดต่ำกว่า 15 MB ได้ แต่ต้องใช้พาร์ติชันขนาด 16 MB-32 MB ทั้งหมดในรูปแบบ FAT16 ดังนั้นจึงไม่สามารถเข้าถึงพาร์ติชัน MS-DOS 2.0 ในช่วงขนาดนี้ได้ MS-DOS 3.31 และเวอร์ชันที่สูงกว่าสามารถเข้าถึงพาร์ติชัน FAT12 ขนาด 16 MB-32 MB ได้อีกครั้ง

FAT แบบแบ่งส่วนเชิงตรรกะ

การใช้งาน FAT12 และ FAT16 ใน MS-DOS และ PC DOS ไม่สามารถเข้าถึงพาร์ติชั่นดิสก์ที่มีขนาดใหญ่กว่า 32 เมกะไบต์ได้ ผู้ผลิตหลายรายได้พัฒนา FAT เวอร์ชันของตนเองภายใน MS-DOS เวอร์ชัน OEM ของตน[ 31 ]

ผู้จำหน่ายบางราย ( ASTและNEC [ 31 ] ) รองรับ รายการพาร์ติชันหลักแปดรายการแทนที่จะ เป็นสี่รายการตามมาตรฐานในMaster Boot Record ( MBR ) ที่ขยายแบบกำหนดเอง และพวกเขายังปรับ MS-DOS ให้ใช้พาร์ติชันหลักมากกว่าหนึ่งรายการด้วย

ผู้ผลิตรายอื่นแก้ปัญหาข้อจำกัดด้านขนาดพื้นที่จัดเก็บข้อมูลที่กำหนดโดยเซกเตอร์ 16 บิต โดยการเพิ่มขนาด ที่ปรากฏ ของเซกเตอร์ที่ระบบไฟล์ใช้งาน เซกเตอร์เชิงตรรกะ เหล่านี้ มีขนาดใหญ่กว่า (สูงสุด 8192 ไบต์) กว่า ขนาด เซกเตอร์ทางกายภาพ (ยังคงอยู่ที่ 512 ไบต์) บนดิสก์ จากนั้น DOS-BIOS หรือ System BIOS จะรวมเซกเตอร์ทางกายภาพหลายเซกเตอร์เข้าด้วยกันเป็นเซกเตอร์เชิงตรรกะเพื่อให้ระบบไฟล์ใช้งานได้

การเปลี่ยนแปลงเหล่านี้โปร่งใสต่อการใช้งานระบบไฟล์ในเคอร์เนลของ DOS โดย BIOS ของ DOS จะแปลงเซกเตอร์เชิงตรรกะเหล่านี้ให้เป็นเซกเตอร์เชิงกายภาพตามข้อมูลการแบ่งพาร์ติชันและรูปทรงทางกายภาพของไดรฟ์

ข้อเสียของแนวทางนี้คือการใช้หน่วยความจำเพิ่มขึ้นสำหรับการบัฟเฟอร์เซกเตอร์และการดีบล็อก เนื่องจาก DOS เวอร์ชันเก่าไม่สามารถใช้เซกเตอร์เชิงตรรกะขนาดใหญ่ได้ ผู้ผลิตอุปกรณ์จึงแนะนำรหัสพาร์ติชันใหม่สำหรับ FAT เวอร์ชันของตนเพื่อซ่อนจากปัญหาสำเร็จรูปของ MS-DOS และ PC DOS รหัสพาร์ติชันที่รู้จักสำหรับ FAT ที่มีเซกเตอร์เชิงตรรกะ ได้แก่: 0x08( Commodore MS-DOS 3.x), 0x11( Leading Edge MS 0x14-DOS 3.x), (AST MS 0x24-DOS 3.x), (NEC MS-DOS 3.30 [ 31 ] ) , 0x56( AT&T MS-DOS 3.x), 0xE5( Tandy MS-DOS), 0xF2( Sperry IT MS-DOS 3.x, Unisys MS-DOS 3.3 – ซึ่งใช้โดยDigital Research DOS Plus 2.1 ด้วย) [ 32 ]เวอร์ชัน OEM เช่น Toshiba MS-DOS, Wyse MS-DOS 3.2 และ 3.3 [ 33 ]รวมถึง Zenith MS-DOS ก็เป็นที่ทราบกันว่ามีการใช้เซกเตอร์เชิงตรรกะเช่นกัน[ 34 ]

แม้ว่าจะเป็นไฟล์ FAT ที่ไม่เป็นไปตามมาตรฐานและอาจไม่เหมาะสมที่สุด แต่ไฟล์ FAT เหล่านี้ก็ถูกต้องตามข้อกำหนดของระบบไฟล์นั้นเอง ดังนั้น แม้ว่าระบบปฏิบัติการ MS-DOS และ PC DOS จะไม่สามารถจัดการกับไฟล์เหล่านี้ได้ แต่ไฟล์ FAT12 และ FAT16 ที่เฉพาะเจาะจงของผู้ผลิตส่วนใหญ่ก็สามารถติดตั้งได้โดยระบบปฏิบัติการที่มีความยืดหยุ่นมากกว่า เช่น DR-DOS เพียงแค่เปลี่ยนรหัสพาร์ติชันเป็นประเภทที่ระบบรู้จักเท่านั้น[ nb 3 ]นอกจากนี้ หากไม่จำเป็นต้องให้ระบบปฏิบัติการดั้งเดิมรับรู้แล้ว พาร์ติชั่นที่มีอยู่สามารถ "แปลง" เป็นวอลุ่ม FAT12 และ FAT16 ที่สอดคล้องกับ MS-DOS/PC DOS เวอร์ชัน 4.0–6.3 มากขึ้น ซึ่งไม่รองรับขนาดเซกเตอร์ที่แตกต่างจาก 512 ไบต์[ 35 ]โดยการเปลี่ยนไปใช้BPB ที่มีรายการ 32 บิตสำหรับจำนวนเซกเตอร์ ดังที่แนะนำตั้งแต่ DOS 3.31 (ดูFAT16Bด้านล่าง) โดยคงขนาดคลัสเตอร์และลดขนาดเซกเตอร์เชิงตรรกะใน BPBลงเหลือ 512 ไบต์ ในขณะเดียวกันก็เพิ่มจำนวนเซกเตอร์เชิงตรรกะต่อคลัสเตอร์ เซกเตอร์เชิงตรรกะที่สงวนไว้ เซกเตอร์เชิงตรรกะทั้งหมด และเซกเตอร์เชิงตรรกะต่อ FAT ด้วยปัจจัยเดียวกัน

การพัฒนาคู่ขนานใน MS-DOS / PC DOS ที่อนุญาตให้เพิ่มขนาดดิสก์สูงสุดที่เป็นไปได้คือการขยายจำนวนพาร์ติชัน FAT บนฮาร์ดดิสก์ให้มากกว่า 4 พาร์ติชันก่อนหน้านี้ และการแทนที่ "อุปกรณ์บล็อกที่ติดตั้งได้" ด้วยพาร์ติชัน FAT ดั้งเดิมของ DOS เพื่อให้สามารถใช้พาร์ติชัน FAT ได้มากขึ้นในลักษณะที่เข้ากันได้ จึงมีการแนะนำประเภทพาร์ติชันใหม่ใน PC DOS 3.2 (1986) คือพาร์ติชันแบบขยาย (EBR) [ 17 ]ซึ่งเป็นคอนเทนเนอร์สำหรับพาร์ติชันเพิ่มเติมที่เรียกว่าไดรฟ์ตรรกะตั้งแต่ PC DOS 3.3 (เมษายน 1987) มีพาร์ติชันแบบขยายเพิ่มเติมที่เป็นตัวเลือกอีกตัวหนึ่งซึ่งมีไดรฟ์ตรรกะ ถัดไป และอื่นๆMBRของฮาร์ดดิสก์สามารถกำหนดพาร์ติชันหลักได้สูงสุดสี่พาร์ติชัน หรือพาร์ติชันแบบขยายเพิ่มเติมจากพาร์ติชันหลักได้สูงสุดสามพาร์ติชัน

FAT16 สุดท้าย

เอฟที16บี
นักพัฒนาคอมแพค , ดิจิทัล รีเสิร์ช , ไอบีเอ็ม , ไมโครซอฟต์ , โนเวลล์
ชื่อเต็มตารางจัดสรรไฟล์ 16 บิต (พร้อมรายการเซกเตอร์ 32 บิต)
แนะนำ
รหัสพาร์ติชันMBR / EBR :
ข้อจำกัด
ขนาดปริมาตรขั้นต่ำ
  • เมกะไบต์ (โดยแต่ละเซกเตอร์มีขนาด 128 ไบต์)
  • 32 เมกะไบต์ (โดย แต่ละเซกเตอร์มีขนาด 512  ไบต์)
  • 256 เมกะไบต์ (โดยแต่ละ เซกเตอร์มีขนาด 4 กิโลไบต์ )
ขนาดปริมาตรสูงสุด
  • GB (พร้อมคลัสเตอร์ขนาด 32  KB )
  • 4 GB (พร้อมคลัสเตอร์ขนาด 64 KB) (NT 4, PTS-DOS, EDR-DOS)
  • หน่วยความจำ 8 GB (พร้อมคลัสเตอร์ขนาด 128 KB และเซกเตอร์ขนาด 1 หรือ 2 KB) (เฉพาะ NT 4 และ EDR-DOS เท่านั้น)
  • 8 GB (พร้อมคลัสเตอร์ขนาด 128 KB และเซกเตอร์ขนาด 512 ไบต์) (เฉพาะ EDR-DOS)
  • หน่วยความจำ 16 GB (พร้อมคลัสเตอร์ขนาด 256 KB และเซกเตอร์ขนาด 2 หรือ 4 KB) (เฉพาะ NT 4)
ขนาดไฟล์สูงสุด
  • 2,147,483,647 ไบต์ (2 GB − 1) (ไม่รวมLFS )
  • 4,294,967,295 ไบต์ (4 GB − 1) (พร้อมLFS )
  • จำกัดโดยขนาดปริมาตรเท่านั้น (ด้วย FAT16+ [ 36 ] )
ความละเอียดของขนาดไฟล์1 ไบต์
จำนวนไฟล์สูงสุด65,460 สำหรับคลัสเตอร์ขนาด 32 KB
ความยาวชื่อไฟล์สูงสุดชื่อไฟล์ 8.3ที่มี อักขระ OEM , อักขระ UCS-2จำนวน255 ตัว [ nb 1 ]เมื่อใช้LFN
ความลึกสูงสุดของไดเร็กทอรี32 ระดับ หรือ 66 ตัวละคร (พร้อมCDS ) , 60 ระดับขึ้นไป (ไม่มี CDS)
คุณสมบัติ
วันที่บันทึก
  • วันที่/เวลาที่แก้ไข, วันที่/เวลาที่สร้าง (เฉพาะ DOS 7.0 ขึ้นไป)
  • วันที่เข้าถึง (ใช้ได้เฉพาะเมื่อ เปิดใช้ งาน ACCDATE เท่านั้น ) [ 2 ]
  • วันที่/เวลาที่ลบ (เฉพาะกับ DELWATCH 2 เท่านั้น)
ช่วงวันที่1 มกราคม 1980ถึง31 ธันวาคม 2099 ( 31 ธันวาคม 2107 )
ความละเอียดของวันที่
  • 2 วินาทีสำหรับเวลาที่แก้ไขล่าสุด
  • เวลาในการสร้าง 10 มิลลิวินาที
  • 1 วันสำหรับวันเข้าใช้งาน
  • เวลาในการลบ 2 วินาที
คุณลักษณะอ่านอย่างเดียว , ซ่อน , ระบบ , วอลุ่ม , ไดเร็กทอรี , คลังเก็บข้อมูล
สิทธิ์การเข้าถึงไฟล์ระบบ
การบีบอัดแบบโปร่งใสต่อปริมาตร, ซูเปอร์สตอเรจ , สแต็กเกอร์ , ดับเบิลสเปซ , ไดรฟ์สเปซ
การเข้ารหัสแบบโปร่งใสเฉพาะต่อเล่มเท่านั้นเมื่อใช้DR-DOS

ในเดือนพฤศจิกายน พ.ศ. 2530 Compaq Personal Computer DOS 3.31 (เวอร์ชัน OEM ที่ดัดแปลงจาก MS-DOS 3.3 ที่ Compaq ปล่อยออกมาพร้อมกับเครื่องของพวกเขา) ได้นำเสนอสิ่งที่ปัจจุบันรู้จักกันในชื่อ รูปแบบ FAT16โดยมีการขยายจำนวนเซกเตอร์ดิสก์ 16 บิตเป็น 32 บิตใน BPB แม้ว่าการเปลี่ยนแปลงบนดิสก์จะมีเพียงเล็กน้อย แต่ไดรเวอร์ดิสก์ DOS ทั้งหมดต้องถูกแปลงให้ใช้หมายเลขเซกเตอร์ 32 บิต ซึ่งเป็นงานที่ซับซ้อนเนื่องจากเขียนด้วยภาษาแอสเซมบลี 16 บิต ผลลัพธ์ในตอนแรกเรียกว่าDOS 3.31 Large File Systemเครื่องมือของMicrosoftDSKPROBEเรียกประเภทนี้0x06ว่าBigFAT [ 37 ]ในขณะที่บางเวอร์ชันเก่ากว่าอธิบายว่าเป็นBIGDOS ในทาง เทคนิค แล้วเรียกว่าFAT16BFDISK

เนื่องจาก DOS เวอร์ชันเก่าไม่ได้ออกแบบมาเพื่อรองรับเซกเตอร์มากกว่า 65,535 เซกเตอร์ จึงจำเป็นต้องแนะนำประเภทพาร์ติชันใหม่สำหรับรูปแบบนี้เพื่อซ่อนมันจากปัญหาของ DOS เวอร์ชันก่อน 3.31 รูปแบบดั้งเดิมของ FAT16 (ที่มีเซกเตอร์น้อยกว่า 65,536 เซกเตอร์) มีประเภทพาร์ติชัน0x04 แบบ `<partition type="65,536"> ` เพื่อรองรับดิสก์ที่มีขนาดใหญ่กว่านี้0x06จึงมีการแนะนำประเภทพาร์ติชันแบบ `<partition type="65,536">` เพื่อระบุจำนวนเซกเตอร์ตั้งแต่ 65,536 เซกเตอร์ขึ้นไป นอกจากนี้ ไดรเวอร์ดิสก์ยังได้รับการปรับปรุงให้รองรับเซกเตอร์มากกว่า 65,535 เซกเตอร์ด้วย ความแตกต่างเพียงอย่างเดียวระหว่าง FAT16 ดั้งเดิมและรูปแบบ FAT16B ที่ใหม่กว่าคือการใช้ รูปแบบ BPB ที่ใหม่กว่าซึ่งมีการป้อนเซกเตอร์แบบ 32 บิต ดังนั้น ระบบปฏิบัติการรุ่นใหม่ที่รองรับรูปแบบ FAT16B จึงสามารถรองรับรูปแบบ FAT16 ดั้งเดิมได้โดยไม่ต้องทำการเปลี่ยนแปลงใดๆ

หากจำเป็นต้องสร้างพาร์ติชันที่จะใช้โดย DOS เวอร์ชันก่อน 3.31 ด้วยเครื่องมือที่ทันสมัย ​​เกณฑ์เดียวที่จำเป็นต้องปฏิบัติตามในทางทฤษฎีคือ จำนวนเซกเตอร์ต้องน้อยกว่า 65536 และการใช้รหัสพาร์ติชันแบบเก่า ( 0x04) อย่างไรก็ตาม ในทางปฏิบัติ พาร์ติชันประเภท0x01และ0x04พาร์ติชันหลักไม่ควรตั้งอยู่นอกเหนือ 32 MB แรกของดิสก์ เนื่องจากข้อจำกัดอื่นๆ ใน MS-DOS 2.x ซึ่งไม่สามารถรองรับได้หากเป็นเช่นนั้น

ในปี 1988 การปรับปรุง FAT16B ได้ถูกนำมาใช้กันอย่างแพร่หลายมากขึ้นผ่านทางDR DOS  3.31, PC DOS 4.0, OS/2  1.1 และ MS-DOS 4.0 ข้อจำกัดของขนาดพาร์ติชันถูกกำหนดโดยจำนวนเซกเตอร์แบบ 8 บิตต่อคลัสเตอร์ ซึ่งเดิมมีค่าสูงสุดเป็นกำลังสองของ 2 คือ 64 ด้วยขนาดเซกเตอร์มาตรฐานของฮาร์ดดิสก์ที่ 512 ไบต์ ทำให้ได้ขนาดคลัสเตอร์สูงสุด 32 KB ดังนั้นจึงกำหนดขีดจำกัด "ที่แน่นอน" สำหรับขนาดพาร์ติชัน FAT16 ไว้ที่ 2 GB สำหรับขนาดเซกเตอร์ 512 บน สื่อ แม่เหล็กไฟฟ้า (magneto-optical media) ซึ่งสามารถมีเซกเตอร์ขนาด 1 หรือ 2 KB แทนที่จะเป็น 0.5 KB ขีดจำกัดขนาดนี้จะมีขนาดใหญ่ขึ้นตามสัดส่วน

ต่อมาWindows NTได้เพิ่มขนาดคลัสเตอร์สูงสุดเป็น 64 KB โดยพิจารณาจำนวนเซกเตอร์ต่อคลัสเตอร์เป็นค่าที่ไม่ระบุเครื่องหมาย อย่างไรก็ตาม รูปแบบที่ได้นั้นไม่เข้ากันกับระบบไฟล์ FAT อื่นๆ ในเวลานั้น และทำให้เกิดการแตกกระจายภายในมากขึ้นWindows 98 , SE และ ME ก็รองรับการอ่านและเขียนรูปแบบนี้เช่นกัน แต่ยูทิลิตี้ดิสก์ของระบบเหล่านั้นใช้งานไม่ได้ และ บริการ FCB บางอย่าง ก็ไม่สามารถใช้งานได้กับไดรฟ์ประเภทนี้ ซึ่งส่งผลให้เกิดสถานการณ์ความเข้ากันได้ที่สับสน

ก่อนปี 1995 ระบบปฏิบัติการ DOS เวอร์ชันต่างๆ เข้าถึงดิสก์ผ่าน การกำหนดแอดเดรส CHSเท่านั้น เมื่อWindows 95 (MS-DOS 7.0) นำเสนอ การเข้าถึงดิสก์ แบบ LBAพาร์ติชั่นจึงสามารถตั้งอยู่ภายนอกพื้นที่ประมาณ 8 GB แรกของดิสก์นี้ และอยู่นอกเหนือขอบเขตของระบบการกำหนดแอดเดรส CHS แบบดั้งเดิม พาร์ติชั่นที่ตั้งอยู่บางส่วนหรือทั้งหมดนอกเหนือขอบเขต CHS จึงต้องถูกซ่อนจากระบบปฏิบัติการที่ไม่รองรับ LBA โดยใช้ประเภทพาร์ติชั่นใหม่0x0Eในตารางพาร์ติชั่นแทน พาร์ติชั่น FAT16 ที่ใช้ประเภทพาร์ติชั่นนี้เรียกอีกอย่างว่าFAT16X [ 38 ] ความแตกต่างเพียงอย่างเดียวเมื่อเทียบกับพาร์ติชั่น FAT16 รุ่นก่อนหน้าคือข้อเท็จจริงที่ว่ารายการเรขาคณิตที่เกี่ยวข้องกับ CHS บางรายการในเรคอร์ด BPB ได้แก่ จำนวนเซกเตอร์ต่อแทร็กและจำนวนหัว อาจไม่มีค่าหรือมีค่าที่ทำให้เข้าใจผิด และไม่ควรนำไปใช้

จำนวนรายการไดเร็กทอรีรูทที่มีให้สำหรับ FAT12 และ FAT16 จะถูกกำหนดเมื่อฟอร์แมตวอลุ่ม และจะถูกเก็บไว้ในฟิลด์ 16 บิต สำหรับจำนวนRDEและขนาดเซกเตอร์ ที่กำหนด SSจำนวนRDSเซกเตอร์ไดเร็กทอรีรูทคือRDS = ceil((RDE × 32) / SS)และRDEโดยปกติจะถูกเลือกให้เติมเต็มเซกเตอร์เหล่านี้ เช่นRDE × 32 = RDS × SSสื่อ FAT12 และ FAT16 โดยทั่วไปจะใช้รายการไดเร็กทอรีรูท 512 รายการบนสื่อที่ไม่ใช่ฟลอปปี้ดิสก์ เครื่องมือของบุคคลที่สามบางอย่าง เช่น mkdosfs อนุญาตให้ผู้ใช้ตั้งค่าพารามิเตอร์นี้ได้[ 39 ]

เอฟที32

เอฟที32
นักพัฒนาไมโครซอฟต์ , คาลเดรา
แนะนำสิงหาคม 1996 ( Windows 95 OSR2 )
รหัสพาร์ติชันMBR / EBR :
ข้อจำกัด
ขนาดปริมาตรขั้นต่ำ
  • 32  MB – 4.5  KB (พร้อมคลัสเตอร์ 65525 และเซกเตอร์ขนาด 512 ไบต์)
  • 256 MB – 36 KB (พร้อมคลัสเตอร์ 65525 และเซกเตอร์ 4  KB )
ขนาดปริมาตรสูงสุด
  • เทราไบต์ (แต่ละเซกเตอร์มีขนาด 512 ไบต์)
  • 8 เทราไบต์ (พร้อมเซกเตอร์ขนาด 2 กิโลไบต์ และคลัสเตอร์ขนาด 32 กิโลไบต์)
  • 16 เทราไบต์ (พร้อมเซกเตอร์ขนาด 4 กิโลไบต์ และคลัสเตอร์ขนาด 64 กิโลไบต์)
ขนาดไฟล์สูงสุด
  • 2,147,483,647 ไบต์ (2 กิกะไบต์ − 1 ไบต์) (ไม่รวมLFS )
  • 4,294,967,295 ไบต์ (4 GiB − 1 ไบต์) [ 1 ] (ด้วยLFS )
  • 274,877,906,943 ไบต์ (256 GiB − 1 ไบต์) (เฉพาะกับ FAT32+ [ 36 ] )
ความละเอียดของขนาดไฟล์1 ไบต์
จำนวนไฟล์สูงสุด268,173,300 สำหรับคลัสเตอร์ 32 KB
ความยาวชื่อไฟล์สูงสุดชื่อไฟล์ 8.3ที่มี อักขระ OEM , อักขระ UCS-2จำนวน255 ตัว [ nb 1 ]เมื่อใช้LFN
ความลึกสูงสุดของไดเร็กทอรี32 ระดับ หรือ 66 ตัวละคร (พร้อมCDS ) , 60 ระดับขึ้นไป (ไม่มี CDS)
คุณสมบัติ
วันที่บันทึก
  • วันที่/เวลาที่แก้ไข, วันที่/เวลาที่สร้าง (เฉพาะ DOS 7.0 ขึ้นไป)
  • วันที่เข้าถึง (ใช้ได้เฉพาะเมื่อ เปิดใช้ งาน ACCDATE เท่านั้น ) [ 2 ]
  • วันที่/เวลาที่ลบ (เฉพาะกับ DELWATCH 2 เท่านั้น)
ช่วงวันที่1 มกราคม 1980ถึง31 ธันวาคม 2099 ( 31 ธันวาคม 2107 )
ความละเอียดของวันที่
  • 2 วินาทีสำหรับเวลาที่แก้ไขล่าสุด
  • เวลาในการสร้าง 10 มิลลิวินาที
  • 1 วันสำหรับวันเข้าใช้งาน
  • เวลาในการลบ 2 วินาที
คุณลักษณะอ่านอย่างเดียว , ซ่อน , ระบบ , วอลุ่ม , ไดเร็กทอรี , คลังเก็บข้อมูล
สิทธิ์การเข้าถึงไฟล์ระบบบางส่วนเท่านั้น ใช้ได้กับDR-DOS , REAL/32และ4690 OS เท่านั้น
การบีบอัดแบบโปร่งใสใช่

เพื่อเอาชนะข้อจำกัดด้านขนาดของ FAT16 ในขณะเดียวกันก็อนุญาตให้ โค้ด โหมดจริง ของ DOS จัดการรูปแบบได้ Microsoft จึงออกแบบระบบไฟล์เวอร์ชันใหม่FAT32ซึ่งรองรับคลัสเตอร์จำนวนมากขึ้น แต่สามารถนำโค้ดที่มีอยู่ส่วนใหญ่กลับมาใช้ใหม่ได้ ทำให้การ ใช้หน่วย ความจำตามปกติเพิ่มขึ้นน้อยกว่า 5 KB ภายใต้ DOS [ 40 ]ค่าคลัสเตอร์แสดงด้วย ตัวเลข 32 บิตโดยใช้ 28 บิตเพื่อเก็บหมายเลขคลัสเตอร์

ขนาดสูงสุด

เซกเตอร์บูต FAT32 ใช้ฟิลด์ 32 บิตสำหรับจำนวนเซกเตอร์ ซึ่งจำกัดขนาดวอลุ่ม FAT32 สูงสุดไว้ที่ 2  เทราไบต์โดยมีขนาดเซกเตอร์ 512  ไบต์ขนาดวอลุ่ม FAT32 สูงสุดคือ 16 TB โดยมีขนาดเซกเตอร์ 4,096 ไบต์[ 41 ] [ 42 ] เครื่องมือฟอร์แมตดิสก์ เชลล์ในตัวของ Windows NT รองรับขนาดวอลุ่มได้สูงสุดเพียง 32 GB เท่านั้น[ nb 4 ]แต่ Windows รองรับการอ่านและเขียนไปยังวอลุ่ม FAT32 ที่มีอยู่แล้วขนาดใหญ่กว่า และสามารถสร้างวอลุ่มเหล่านี้ได้ด้วยพรอมต์คำสั่งPowerShellหรือเครื่องมือของบุคคลที่สาม[ 44 ]หรือโดยการฟอร์แมตวอลุ่มบนระบบที่ไม่ใช่ Windows หรือบนระบบ Windows 9x ที่รองรับ FAT32 แล้วถ่ายโอนไปยังระบบ Windows NT ในเดือนสิงหาคม พ.ศ. 2567 ไมโครซอฟต์ได้ปล่อยการอัปเดตสำหรับ Windows 11 รุ่นพรีวิว ซึ่งอนุญาตให้สร้างพาร์ติชั่น FAT32 ได้ขนาดสูงสุด 2TB [ 45 ]

ขนาดไฟล์สูงสุดที่เป็นไปได้บนไดรฟ์ FAT32 คือ 4  GBลบ 1 ไบต์ หรือ 4,294,967,295 ( 2³²  − 1) ไบต์ ข้อจำกัดนี้เป็นผลมาจากการกำหนดค่าความยาวไฟล์ 4 ไบต์ในตารางไดเร็กทอรี และจะส่งผลกระทบต่อพาร์ติชัน FAT16 ขนาดใหญ่มากที่รองรับได้ด้วยขนาดเซกเตอร์ที่เพียงพอเช่นกัน

เช่นเดียวกับ FAT12 และ FAT16, FAT32 ไม่มีการรองรับชื่อไฟล์แบบยาวโดยตรง แต่ไดรฟ์ FAT32 สามารถเลือกใช้ ชื่อไฟล์แบบยาว ของ VFATนอกเหนือจากชื่อไฟล์แบบสั้นได้ ในลักษณะเดียวกับที่ชื่อไฟล์แบบยาวของ VFAT ถูกนำมาใช้ในไดรฟ์ FAT12 และ FAT16 ในลักษณะที่เลือกใช้ได้เช่นกัน

การพัฒนา

FAT32 ถูกนำมาใช้ครั้งแรกในWindows 95 OSR2 (MS-DOS 7.1) ในปี 1996 แม้ว่าจำเป็นต้องฟอร์แมตใหม่ก่อนใช้งาน และDriveSpace 3 (เวอร์ชันที่มาพร้อมกับ Windows 95 OSR2 และ Windows 98) ก็ไม่เคยรองรับ FAT32 อย่างไรก็ตาม Windows 98ได้เพิ่มยูทิลิตี้สำหรับแปลงฮาร์ดดิสก์ที่มีอยู่จาก FAT16 เป็น FAT32 โดยไม่สูญเสียข้อมูล

ในตระกูล Windows NT การรองรับ FAT32 โดยตรงเริ่มมีในWindows 2000ไดรเวอร์ FAT32 ฟรีสำหรับWindows NT 4.0นั้นมีให้ดาวน์โหลดจากWinternalsซึ่งเป็นบริษัทที่ต่อมาถูก Microsoft ซื้อกิจการ ปัจจุบันการดาวน์โหลดไดรเวอร์จากแหล่งทางการนั้นเป็นไปไม่ได้แล้ว ตั้งแต่ปี 1998 เป็นต้นมา ไดรเวอร์ DRFAT32 ที่โหลดได้แบบไดนามิกของ Caldera สามารถใช้เพื่อเปิดใช้งานการรองรับ FAT32 ใน DR-DOS ได้[ 46 ] [ 47 ] DR-DOS เวอร์ชันแรกที่รองรับ FAT32 และการเข้าถึง LBA โดยตรงคือ OEM DR-DOS 7.04 ในปี 1999 ในปีเดียวกันนั้นIMSได้แนะนำการรองรับ FAT32 โดยตรงในREAL/32 7.90 และIBM 4690 OSได้เพิ่มการรองรับ FAT32 ในเวอร์ชัน 2 [ 48 ] Ahead Softwareได้จัดเตรียมไดรเวอร์ FAT32.EXE ที่สามารถโหลดได้แบบไดนามิกอีกตัวสำหรับ DR-DOS 7.03 พร้อมกับNero Burning ROMในปี 2004 IBM ได้แนะนำการรองรับ FAT32 โดยตรงใน OEM PC DOS 7.1 ในปี 1999

พาร์ติชั่น FAT32 สองประเภทได้รับการสงวนไว้0x0Bและ0x0Cประเภทหลังนี้ยังถูกเรียกว่าFAT32Xเพื่อบ่งชี้การใช้งานการเข้าถึงดิสก์แบบ LBA แทน CHS [ 46 ] [ 49 ] [ 50 ] [ 51 ] [ 52 ]ในพาร์ติชั่นดังกล่าว รายการเรขาคณิตที่เกี่ยวข้องกับ CHS ได้แก่ที่อยู่เซกเตอร์ CHSใน MBR รวมถึงจำนวนเซกเตอร์ต่อแทร็กและจำนวนหัวในเรคอร์ด EBPB อาจไม่มีค่าหรือมีค่าที่ทำให้เข้าใจผิด และไม่ควรนำไปใช้[ 53 ] [ 51 ] [ 52 ]

ส่วนขยาย

คุณลักษณะเพิ่มเติม

OS/2ขึ้นอยู่กับแอตทริบิวต์เพิ่มเติม (EA) อย่างมาก และจัดเก็บไว้ในไฟล์ที่ซ่อนอยู่ชื่อ " EA␠DATA.␠SF" ในไดเร็กทอรีรากของ วอลุ่ม FAT12หรือFAT16 ไฟล์นี้ถูกจัดทำดัชนีโดยไบต์ที่สงวนไว้ก่อนหน้านี้สองไบต์ใน รายการไดเร็กทอรีของไฟล์ (หรือไดเร็กทอรี) ที่ออฟเซ็ต0x14. [ 54 ]ใน รูปแบบ FAT32ไบต์เหล่านี้จะเก็บบิต 16 บิตบนสุดของหมายเลขคลัสเตอร์เริ่มต้นของไฟล์หรือไดเร็กทอรี ดังนั้นจึงทำให้ไม่สามารถจัดเก็บEA ของ OS/2บน FAT32 โดยใช้วิธีนี้ได้

อย่างไรก็ตาม ไดรเวอร์ ระบบไฟล์ที่ติดตั้งได้ FAT32 (IFS) ของบุคคลที่สาม FAT32.IFS เวอร์ชัน 0.70 ขึ้นไปโดย Henk Kelder & Netlabs สำหรับ OS/2, eComStationและArcaOSจะจัดเก็บแอตทริบิวต์เพิ่มเติมในไฟล์พิเศษที่มีชื่อไฟล์ที่มีสตริง " ␠EA.␠SF" ต่อท้ายชื่อไฟล์ปกติของไฟล์ที่เกี่ยวข้อง ไดรเวอร์ยังใช้ไบต์ที่ตำแหน่งออฟเซ็ต0x0Cในรายการไดเร็กทอรีเพื่อจัดเก็บไบต์เครื่องหมายพิเศษที่ระบุการมีอยู่ของแอตทริบิวต์เพิ่มเติมเพื่อช่วยเพิ่มความเร็ว[ 55 ] [ 56 ] (ส่วนขยายนี้ไม่เข้ากันอย่างยิ่งกับวิธีการ FAT32+ ในการจัดเก็บไฟล์ที่มีขนาดใหญ่กว่า 4 GB ลบ 1 บนวอลุ่ม FAT32) [ 36 ]

คุณสมบัติเพิ่มเติมสามารถเข้าถึงได้ผ่านทาง เดสก์ท็อป Workplace Shellผ่าน สคริปต์ REXXและ ยูทิลิตี้ GUIและ บรรทัด คำสั่ง ของระบบจำนวนมาก (เช่น4OS2 ) [ 57 ]

เพื่อรองรับระบบย่อยOS/2 นั้น Windows NTรองรับการจัดการแอตทริบิวต์เพิ่มเติม (Extended Attributes หรือ ADS) ในHPFS , NTFS , FAT12 และ FAT16 โดยจะจัดเก็บ EA บน FAT12, FAT16 และ HPFS ด้วยรูปแบบเดียวกับ OS/2 แต่ไม่รองรับADS ประเภทอื่น ๆ ที่จัดเก็บบนไดรฟ์ NTFS การพยายามคัดลอกไฟล์ที่มี ADS อื่นที่ไม่ใช่ EA จากไดรฟ์ NTFS ไปยังไดรฟ์ FAT หรือ HPFS จะแสดงข้อความเตือนพร้อมชื่อของ ADS ที่จะสูญหาย นอกจากนี้ยังไม่รองรับวิธีการ FAT32.IFS ในการจัดเก็บ EA บนไดรฟ์ FAT32 ด้วย

Windows 2000เป็นต้นไปทำงานเหมือนกับ Windows NT ทุกประการ ยกเว้นว่าจะไม่สนใจ EA เมื่อคัดลอกไปยัง FAT32 โดยไม่มีการแจ้งเตือนใดๆ (แต่จะแสดงการแจ้งเตือนสำหรับ ADS อื่นๆ เช่น "Macintosh Finder Info" และ "Macintosh Resource Fork")

Cygwinใช้ไฟล์ " EA␠DATA.␠SF" เช่นกัน

ชื่อไฟล์ยาว

หนึ่งใน เป้าหมายด้าน ประสบการณ์ผู้ใช้สำหรับนักออกแบบของWindows 95คือความสามารถในการใช้ชื่อไฟล์ยาว (LFNs—ยาวได้ถึง 255 หน่วยรหัสUCS-2 ) [ nb 1 ]นอกเหนือจากชื่อไฟล์แบบคลาสสิก 8.3 (SFNs) เพื่อความเข้ากันได้ กับเวอร์ชัน ก่อนหน้าและ เวอร์ชันถัดไป LFNs ถูกนำมาใช้เป็นส่วนขยายเสริมบนโครงสร้างระบบไฟล์ FAT ที่มีอยู่ โดยใช้วิธีแก้ปัญหาในการจัดวางรายการไดเร็กทอรี

วิธีการที่โปร่งใสในการจัดเก็บชื่อไฟล์ยาวในระบบไฟล์ FAT ที่มีอยู่โดยไม่ต้องเปลี่ยนแปลงโครงสร้างข้อมูลนั้น โดยทั่วไปเรียกว่าVFAT (ย่อมาจาก "Virtual FAT") ตามชื่อไดรเวอร์อุปกรณ์เสมือนของ Windows 95 [ nb 5 ]

ระบบปฏิบัติการที่ไม่รองรับ VFAT ยังคงสามารถเข้าถึงไฟล์ได้โดยใช้ชื่อไฟล์แบบย่อโดยไม่มีข้อจำกัดใดๆ อย่างไรก็ตาม ชื่อไฟล์แบบเต็มที่เกี่ยวข้องอาจสูญหายไปเมื่อคัดลอกไฟล์ที่มีชื่อไฟล์แบบยาวไปยังระบบปฏิบัติการที่ไม่รองรับ VFAT

ใน Windows NT การรองรับชื่อไฟล์แบบยาวของ VFAT เริ่มต้นในเวอร์ชัน 3.5

ลินุกซ์มีไดรเวอร์ระบบไฟล์ VFAT สำหรับใช้งานกับวอลุ่ม FAT ที่มีชื่อไฟล์ยาวแบบ VFAT ก่อนหน้านี้ เคยมีไดรเวอร์ UVFATที่รองรับการใช้งาน สิทธิ์การเข้าถึงแบบ UMSDOSร่วมกับชื่อไฟล์ยาวแบบ VFAT

OS/2เพิ่มการรองรับชื่อไฟล์แบบยาวให้กับ FAT โดยใช้แอตทริบิวต์เพิ่มเติม (EA) ก่อนที่จะมีการเปิดตัว VFAT ดังนั้น ชื่อไฟล์แบบยาวของ VFAT จึงมองไม่เห็นใน OS/2 และชื่อไฟล์แบบยาวของ EA ก็มองไม่เห็นใน Windows ด้วยเหตุนี้ ผู้ใช้ที่มีประสบการณ์ในทั้งสองระบบปฏิบัติการจึงต้องเปลี่ยนชื่อไฟล์ด้วยตนเอง

Human68Kรองรับชื่อไฟล์ได้สูงสุด18.3 รูป แบบ และ อักขระ คันจิ ( Shift JIS ) ในระบบไฟล์ FAT เวอร์ชันเฉพาะของบริษัท

เพื่อรองรับแอปพลิเคชันJava ระบบปฏิบัติการ IBM 4690 OSเวอร์ชัน 2 ที่ใช้FlexOS ได้นำสถาปัตยกรรม ระบบไฟล์เสมือน (VFS) ของตนเองมาใช้เพื่อจัดเก็บชื่อไฟล์ยาวในระบบไฟล์ FAT ในลักษณะที่เข้ากันได้กับเวอร์ชันก่อนหน้า หากเปิดใช้งาน ชื่อไฟล์เสมือน (VFN) จะพร้อมใช้งานภายใต้ตัวอักษรไดรฟ์เชิงตรรกะที่แยกต่างหาก ในขณะที่ชื่อไฟล์จริง (RFN) ยังคงพร้อมใช้งานภายใต้ตัวอักษรไดรฟ์เดิม[ 58 ]

การแยกสาขาและกระแสข้อมูลทางเลือก

ระบบไฟล์ FAT นั้นไม่ได้ออกแบบมาเพื่อรองรับสตรีมข้อมูลทางเลือก (ADS) แต่ระบบปฏิบัติการบางระบบที่พึ่งพา ADS อย่างมากได้คิดค้นวิธีการต่างๆ เพื่อจัดการกับ ADS บนไดรฟ์ FAT วิธีการเหล่านั้นมีทั้งการจัดเก็บข้อมูลเพิ่มเติมไว้ในไฟล์และไดเร็กทอรีเพิ่มเติม ( Mac OSและmacOS รุ่นคลาสสิก ) หรือการกำหนดความหมายใหม่ให้กับฟิลด์ที่ไม่ได้ใช้งานมาก่อนในโครงสร้างข้อมูลบนดิสก์ของ FAT ( OS/2และWindows NT )

ระบบปฏิบัติการ Mac OS ที่ใช้PC Exchangeจะจัดเก็บวันที่ต่างๆ คุณสมบัติของไฟล์ และชื่อไฟล์ยาวๆ ไว้ในไฟล์ที่ซ่อนอยู่ชื่อ " FINDER.DAT" และ จัด เก็บ resource forks (ADS ทั่วไปของ Mac OS) ไว้ในไดเร็กทอรีย่อยชื่อ " RESOURCE.FRK" ในทุกไดเร็กทอรีที่ใช้งาน ตั้งแต่ PC Exchange เวอร์ชัน 2.1 เป็นต้นไป จะจัดเก็บชื่อไฟล์ยาวๆ ของ Mac OS ในรูปแบบชื่อไฟล์ยาวมาตรฐานของ FAT และแปลงชื่อไฟล์ FAT ที่ยาวเกิน 31 ตัวอักษรให้เป็นชื่อไฟล์ที่ไม่ซ้ำกัน 31 ตัวอักษร ซึ่งแอปพลิเคชันของ Macintosh สามารถมองเห็นได้

macOSจัดเก็บresource forksและ metadata (คุณสมบัติของไฟล์, ADS อื่นๆ) โดยใช้รูปแบบ AppleDoubleในไฟล์ที่ซ่อนอยู่ซึ่งมีชื่อที่สร้างขึ้นจากชื่อไฟล์ของเจ้าของโดยมีคำนำหน้าเป็น " ._" และFinderจะจัดเก็บ metadata ของโฟลเดอร์และไฟล์บางส่วนไว้ในไฟล์ที่ซ่อนอยู่ชื่อ " .DS_Store" (แต่โปรดทราบว่า Finder ใช้.DS_Storeแม้กระทั่งบนระบบไฟล์ดั้งเดิมของ macOS คือHFS+ )

สิทธิ์การเข้าถึงและชื่อไฟล์ของ UMSDOS

การแจกจ่าย Linux ในยุคแรกๆ ยังรองรับรูปแบบที่เรียกว่าUMSDOSซึ่งเป็นรูปแบบ FAT ที่มีคุณสมบัติไฟล์ Unix (เช่น ชื่อไฟล์ยาวและสิทธิ์การเข้าถึง) ที่จัดเก็บไว้ในไฟล์แยกต่างหากที่เรียกว่า " --linux-.---" UMSDOS เลิกใช้หลังจากVFATเปิดตัว และไม่ได้เปิดใช้งานโดยค่าเริ่มต้นในLinuxตั้งแต่เวอร์ชัน 2.5.7 เป็นต้นไป[ 59 ]ในช่วงเวลาหนึ่ง Linux ยังให้การสนับสนุนแบบผสมผสานสำหรับสิทธิ์แบบ UMSDOS และชื่อไฟล์ยาว VFAT ผ่าน UVFAT

ไขมัน+

ในปี 2550 ร่างFAT+แบบเปิดได้เสนอวิธีการจัดเก็บไฟล์ขนาดใหญ่ขึ้นได้ถึง 256 GB ลบ 1 ไบต์ หรือ 274,877,906,943 (2 38  − 1) ไบต์ บนวอลุ่ม FAT32 ที่ได้รับการแก้ไขเล็กน้อยและเข้ากันได้กับเวอร์ชันก่อนหน้า[ 36 ]แต่มีความเสี่ยงที่เครื่องมือดิสก์หรือการใช้งาน FAT32 ที่ไม่รู้จักส่วนขยายนี้อาจตัดทอนหรือลบไฟล์ที่มีขนาดเกินขีดจำกัดขนาดไฟล์ FAT32 ปกติ การสนับสนุนFAT32+และFAT16+มีจำกัดเฉพาะDR-DOS บางเวอร์ชัน และไม่มีในระบบปฏิบัติการหลัก[ 60 ] (ส่วนขยายนี้ไม่เข้ากันอย่างยิ่งกับ/EASตัวเลือกของวิธีการ FAT32.IFS ในการจัดเก็บแอตทริบิวต์เพิ่มเติมของ OS/2บนวอลุ่ม FAT32)

อนุพันธ์

เทอร์โบแฟต

ในระบบไฟล์ NetWare File System ( NWFS ) ของ Novell นั้นได้นำระบบไฟล์ FAT มาดัดแปลงอย่างมากสำหรับ ระบบปฏิบัติการ NetWareโดยใช้คุณสมบัติเพิ่มประสิทธิภาพที่เรียกว่าTurbo FATสำหรับ ไฟล์ขนาดใหญ่

FATX

FATX เป็นตระกูลของระบบไฟล์ที่ออกแบบมาสำหรับ ฮาร์ดดิสก์ ไดรฟ์และเมมโมรี่การ์ดของคอนโซลวิดีโอเกมXboxของMicrosoft [ 61 ] [ 62 ]ซึ่งเปิดตัวในปี 2544

แม้ว่าจะมีแนวคิดการออกแบบพื้นฐานคล้ายคลึงกับFAT16และFAT32แต่โครงสร้างบนดิสก์ของFATX16และFATX32นั้นเรียบง่ายกว่า แต่โดยพื้นฐานแล้วไม่เข้ากันกับระบบไฟล์ FAT16 และ FAT32 ทั่วไป ทำให้ไดรเวอร์ระบบไฟล์ FAT ทั่วไปไม่สามารถเมานต์วอลุ่มดังกล่าวได้

เซกเตอร์ ซูเปอร์บล็อกที่ไม่สามารถบูตได้มีขนาด 4 KB และมีโครงสร้างคล้าย BPB ขนาด 18 ไบต์ ซึ่งแตกต่างจากBPB ปกติ โดยสิ้นเชิง คลัสเตอร์โดยทั่วไปมีขนาด 16 KB และมี FAT เพียงชุดเดียวบน Xbox รายการไดเร็กทอรีมีขนาด 64 ไบต์ แทนที่จะเป็น32 ไบต์ ตามปกติ ไฟล์สามารถมีชื่อไฟล์ได้ยาวถึง 42 ตัวอักษรโดยใช้ชุดอักขระ OEMและมีขนาดได้ถึง 4 GB ลบ 1 ไบต์ การประทับเวลาบนดิสก์จะบันทึกวันที่และเวลาของการสร้าง การแก้ไข และการเข้าถึง แต่แตกต่างจาก FAT: ใน FAT ยุคเริ่มต้นคือปี 1980ใน FATX ยุคเริ่มต้นคือปี 2000บนXbox 360ยุคเริ่มต้นคือปี 1980 [ 63 ]

ไขมันส่วนเกิน

exFAT เป็นระบบไฟล์ที่เปิดตัวพร้อมกับWindows Embedded CE 6.0ในเดือนพฤศจิกายน พ.ศ. 2549 และนำมาใช้กับตระกูล Windows NT พร้อมกับVista Service Pack 1และWindows XP Service Pack 3 (หรือการติดตั้ง Windows XP Update KB955704 แยกต่างหาก) โดยอิงตามสถาปัตยกรรมของตารางการจัดสรรไฟล์อย่างหลวมๆ แต่ไม่เข้ากันและได้รับการคุ้มครองโดยสิทธิบัตร[ 64 ]

exFAT ถูกออกแบบมาเพื่อใช้กับแฟลชไดรฟ์และเมมโมรี่การ์ดเช่นSDXCและMemory Stick XCซึ่งโดยปกติจะใช้ FAT32 ผู้ผลิตมักจะฟอร์แมตการ์ด SDXC ด้วย exFAT นี้มาก่อนแล้ว ข้อดีหลักของ exFAT คือสามารถรองรับขนาดไฟล์ได้มากกว่า 4 GB เนื่องจากข้อมูลอ้างอิงขนาดไฟล์จะถูกจัดเก็บด้วย 8 ไบต์ แทนที่จะเป็น 4 ไบต์ ทำให้เพิ่มขีดจำกัดเป็น2⁶⁴  − 1 ไบต์

โปรแกรมจัดรูปแบบ GUIและบรรทัดคำสั่งของ Microsoft เสนอ MBR เป็นทางเลือกแทน NTFS (และสำหรับพาร์ติชันขนาดเล็กกว่า แทนFAT16BและFAT32 ) ประเภทพาร์ติชันMBR คือ(เหมือนกับที่ใช้สำหรับIFS , HPFSและ NTFS) ข้อมูลเรขาคณิตเชิงตรรกะที่อยู่ในVBRจะถูกจัดเก็บในรูปแบบที่ไม่เหมือนกับ BPB ใดๆ 0x07

ในช่วงต้นปี 2010 ระบบไฟล์ได้รับการวิศวกรรมย้อนกลับโดยสถาบันSANS [ 65 ]เมื่อวันที่ 28 สิงหาคม 2019 ไมโครซอฟต์ได้เผยแพร่ข้อกำหนดทางเทคนิคสำหรับ exFAT เพื่อให้สามารถใช้ในเคอร์เนล Linux และระบบปฏิบัติการอื่นๆ ได้[ 66 ]

สิทธิบัตร

ในช่วงกลางทศวรรษ 1990 ไมโครซอฟต์ได้ยื่นขอและได้รับสิทธิบัตรหลายฉบับสำหรับส่วนสำคัญของระบบไฟล์ FAT สิทธิบัตรทั้งสี่ฉบับนี้เกี่ยวข้องกับส่วนขยายชื่อไฟล์ยาวสำหรับ FAT ซึ่งพบเห็นครั้งแรกในWindows 95ได้แก่ สิทธิบัตรสหรัฐอเมริกาหมายเลข 5,579,517 [ 67 ]สิทธิบัตรสหรัฐอเมริกาหมายเลข 5,745,902 [ 68 ]สิทธิบัตรสหรัฐอเมริกาหมายเลข 5,758,352 [ 69 ]สิทธิบัตรสหรัฐอเมริกาหมายเลข 6,286,013 (ทั้งหมดหมดอายุตั้งแต่ปี 2013) [ 70 ]

เมื่อวันที่ 3 ธันวาคม พ.ศ. 2546 ไมโครซอฟต์ประกาศ[ 71 ]ว่าจะเสนอใบอนุญาตสำหรับการใช้ข้อกำหนด FAT และ "ทรัพย์สินทางปัญญาที่เกี่ยวข้อง" โดยคิดค่า ลิขสิทธิ์ 0.25 ดอลลาร์สหรัฐต่อหน่วยที่ขายได้ โดยมี ค่าลิขสิทธิ์สูงสุด 250,000 ดอลลาร์สหรัฐต่อข้อตกลงใบอนุญาต[ 72 ]เพื่อจุดประสงค์นี้ ไมโครซอฟต์ได้อ้างถึงสิทธิบัตร 4 ฉบับเกี่ยวกับระบบไฟล์ FAT เป็นพื้นฐานของการอ้างสิทธิ์ในทรัพย์สินทางปัญญา

ในข้อกำหนด EFI FAT32 [ 10 ] Microsoft ได้ให้สิทธิ์หลายประการโดยเฉพาะ ซึ่งผู้อ่านหลายคนตีความว่าอนุญาตให้ผู้จำหน่ายระบบปฏิบัติการนำ FAT ไปใช้[ 73 ]สิทธิบัตรที่ไม่ใช่ของ Microsoft ที่มีผลต่อ FAT ได้แก่ สิทธิบัตรของสหรัฐอเมริกาหมายเลข 5,367,671 ซึ่งเฉพาะเจาะจงกับ คุณลักษณะของวัตถุขยาย OS/2 (หมดอายุในปี 2011) [ 74 ]

ความท้าทายและคดีความ

มูลนิธิสิทธิบัตรสาธารณะ (PUBPAT) ได้ส่งหลักฐานไปยังสำนักงานสิทธิบัตรและเครื่องหมายการค้าของสหรัฐอเมริกา (USPTO) ในปี 2547 เพื่อโต้แย้งความถูกต้องของสิทธิบัตรสหรัฐอเมริกาหมายเลข 5,579,517 [ 67 ]รวมถึงการอ้างอิงสิ่งประดิษฐ์ก่อนหน้าจากXeroxและ IBM [ 75 ] USPTO ได้เปิดการสอบสวนและสรุปโดยการปฏิเสธข้อเรียกร้องทั้งหมดในสิทธิบัตร[ 76 ]ในปีถัดมา USPTO ได้ประกาศเพิ่มเติมว่าหลังจากกระบวนการตรวจสอบใหม่แล้ว ได้ยืนยันการปฏิเสธสิทธิบัตรหมายเลข 517 และยังพบว่าสิทธิบัตรสหรัฐอเมริกาหมายเลข 5,758,352 [ 69 ]เป็นโมฆะเนื่องจากสิทธิบัตรดังกล่าวมีผู้รับโอนที่ไม่ถูกต้อง

อย่างไรก็ตาม ในปี 2549 สำนักงานสิทธิบัตรสหรัฐฯ (USPTO) ตัดสินว่าคุณสมบัติของการนำระบบ FAT ของ Microsoft มาใช้ถือเป็น "สิ่งใหม่และไม่ชัดเจน" ซึ่งเป็นการกลับคำตัดสินก่อนหน้านี้ทั้งสองครั้งและทำให้สิทธิบัตรยังคงมีผลบังคับใช้[ 77 ]

ในเดือนกุมภาพันธ์ พ.ศ. 2552 ไมโครซอฟต์ได้ยื่น ฟ้อง ละเมิดสิทธิบัตรต่อทอมทอมโดยกล่าวหาว่าผลิตภัณฑ์ของผู้ผลิตอุปกรณ์ละเมิดสิทธิบัตรที่เกี่ยวข้องกับ ชื่อไฟล์ยาว VFATเนื่องจากผลิตภัณฑ์ของทอมทอมบางรุ่นใช้ระบบปฏิบัติการลินุกซ์นี่จึงถือเป็นครั้งแรกที่ไมโครซอฟต์พยายามบังคับใช้สิทธิบัตรของตนกับแพลตฟอร์มลินุกซ์[ 78 ]คดีความดังกล่าวได้รับการไกล่เกลี่ยกันนอกศาลในเดือนถัดมา โดยมีข้อตกลงว่าไมโครซอฟต์จะได้รับสิทธิ์เข้าถึงสิทธิบัตรของทอมทอมจำนวน 4 ฉบับ ทอมทอมจะยกเลิกการสนับสนุนชื่อไฟล์ยาว VFAT จากผลิตภัณฑ์ของตน และในทางกลับกัน ไมโครซอฟต์จะไม่ดำเนินคดีทางกฎหมายกับทอมทอมเป็นเวลา 5 ปีตามข้อตกลงการไกล่เกลี่ย[ 79 ]

ในเดือนตุลาคม พ.ศ. 2553 ไมโครซอฟต์ได้ยื่นฟ้องโมโตโรลา ในข้อหาละเมิดสิทธิบัตร โดยอ้างว่าสิทธิบัตรหลายฉบับ (รวมถึงสิทธิบัตร VFAT สองฉบับ) ไม่ได้รับอนุญาตให้ใช้ในระบบปฏิบัติการAndroid [ 80 ]พวกเขายังได้ยื่นคำร้องต่อITCอีก ด้วย [ 81 ] นักพัฒนาซอฟต์แวร์โอเพนซอร์สได้ออกแบบวิธีการต่างๆ เพื่อหลีกเลี่ยงสิทธิบัตรของไมโครซอฟต์[ 82 ] [ 83 ]

ในปี 2556 สิทธิบัตร EP0618540 "พื้นที่ชื่อทั่วไปสำหรับชื่อไฟล์แบบยาวและแบบสั้น" (หมดอายุตั้งแต่ปี 2557 [ 84 ] ) ถูกเพิกถอนในประเทศเยอรมนี[ 85 ]หลังจากที่ถอนอุทธรณ์ คำพิพากษานี้จึงมีผลเป็นที่สิ้นสุดในวันที่ 28 ตุลาคม 2558 [ 86 ]

ดูเพิ่มเติม

หมายเหตุ

  1. ^ a b c d e fตั้งแต่Windows 2000 เป็นต้นมา Microsoft Windows ใช้UTF-16แทนUCS-2สำหรับ"Unicode" ภายในใน UTF-16 "อักขระ" (จุดรหัส) อาจใช้หน่วยรหัสสองหน่วย
  2. แหล่งข้อมูล ต่างๆให้ ความ เห็นแตกต่างกันเกี่ยวกับเทอร์มินัลป้อนข้อมูล NCR รุ่นแรกที่รองรับระบบไฟล์ FAT ตามที่Stephen Manesและ Paul Andrews หรือที่รู้จักกันในชื่อ "Gates" กล่าวไว้ การพัฒนาNCR 8200เริ่มขึ้นในช่วงปลายปี 1977 ซึ่งถูกจัดประเภทผิดว่าเป็นรุ่นอัปเกรดแบบใช้ฟลอปปี้ดิสก์ของNCR 7200ซึ่งวางจำหน่ายในปี 1975-1971 ( รุ่นที่ 1และ4 ) และสร้างขึ้นโดยใช้ โปรเซสเซอร์ Intel 8080 8 บิต แต่ใช้เทปคาสเซ็ตเท่านั้น อย่างไรก็ตาม NCR Century 8200 เป็นมินิคอมพิวเตอร์ 16 บิต ซึ่งสามารถเชื่อมต่อเทอร์มินัลป้อนข้อมูลได้หลายเครื่องMarc McDonaldยังจำได้ถึงNCR 8500ซึ่งเป็นเมนเฟรมของซีรี่ส์ Criterion ซึ่งสามารถตัดออกได้เช่นกัน NCR ประกาศเปิดตัวในเดือนตุลาคม 1977 สำหรับการจัดส่งในเดือนกุมภาพันธ์ 1978 นอกจากนี้ NCR ยังได้เปิด ตัวซีรี่ส์ NCR I-8100ซึ่งรวมถึง รุ่น NCR I-8130และNCR I-8150ที่ใช้ชิป 8080 สำหรับระบบคอมพิวเตอร์ขนาดเล็กสำหรับธุรกิจที่มีช่องใส่ฟลอปปี้ดิสก์คู่ แหล่งข้อมูลอื่นระบุว่าซีรี่ส์ NCR 7200 เองหรือซีรี่ส์รุ่นต่อมาเป็นแพลตฟอร์มเป้าหมายที่แท้จริงNCR Basic Plus 6 (ซึ่งใช้Microsoft Extended BASIC-80 ) เริ่มใช้งานได้กับ รุ่น NCR 7200 VIที่ใช้เทปคาสเซ็ตในไตรมาสที่ 1 ปี 1977 ซีรี่ส์ NCR 7500เปิดตัวในปี 1978 โดยใช้ฮาร์ดแวร์ 8080 ที่คล้ายกัน แต่คราวนี้รวมถึง รุ่น NCR 7520และ7530ที่ใช้ฟลอปปี้ดิสก์ขนาด 8 นิ้วด้วยNCR Basic +6ซึ่งเป็นรุ่นก่อนหน้าหรือดัดแปลงมาจากStandalone Disk BASIC-80มีให้ใช้งานสำหรับพวกเขาอย่างน้อยตั้งแต่ปี 1979 แหล่งข้อมูลหนึ่งอ้างว่ามีรุ่นพิเศษของ NCR 7200 ที่มีแผ่นดิสก์ขนาด 8 นิ้วสองแผ่นและ Microsoft BASIC ซึ่ง NCR ซิดนีย์นำเข้ามายังออสเตรเลียอย่างน้อยที่สุด
  3. ^ DR-DOS สามารถบูตจากสื่อแบบเซกเตอร์ตรรกะ FAT12/FAT16 ที่มีขนาดเซกเตอร์ตรรกะสูงสุดถึง 1024 ไบต์ได้
  4. ^นี่เป็นการตัดสินใจของผู้พัฒนาที่เกี่ยวข้อง ซึ่งสันนิษฐานว่าการตัดสินใจของเขาจะได้รับการแก้ไขในภายหลัง ซึ่งไม่เคยเกิดขึ้น [ 43 ]
  5. ^ไดรเวอร์ชื่อ VFATปรากฏขึ้นก่อน Windows 95ใน Windows for Workgroups 3.11 แต่เวอร์ชันเก่านี้ใช้สำหรับการเข้าถึงไฟล์แบบ 32 บิต เท่านั้น และไม่รองรับชื่อไฟล์ที่ยาว
  • คำอธิบายเกี่ยวกับระบบไฟล์ FAT32 : บทความฐานความรู้ของ Microsoft หมายเลข 154997
  • MS-DOS: ข้อจำกัดของไดเร็กทอรีและซับไดเร็กทอรี : บทความฐานความรู้ของ Microsoft หมายเลข 39927
  • ภาพรวมของระบบไฟล์ FAT, HPFS และ NTFS : บทความฐานความรู้ของ Microsoft หมายเลข 100108
  • Microsoft Technet; ข้อจำกัดด้านขนาดไฟล์และปริมาณข้อมูลของระบบไฟล์ FATสำเนาที่สร้างโดยInternet Archive Wayback Machineของบทความสรุปข้อจำกัดใน FAT32 ซึ่งปัจจุบันไม่มีอยู่ในเว็บไซต์ของ Microsoft แล้ว
  • เฉิน, เรย์มอนด์ ; Microsoft TechNet: ประวัติโดยย่อและไม่สมบูรณ์ของ FAT32
  • โปรแกรม Fdisk ไม่รู้จักขนาดเต็มของฮาร์ดดิสก์ที่มีขนาดใหญ่กว่า64 GB : บทความฐานความรู้ของ Microsoft หมายเลข 263044 คัดลอกโดยInternet Archive Wayback Machineอธิบายถึงสาเหตุที่ไม่สามารถทำงานกับไดรฟ์ขนาดใหญ่มาก ๆ ได้ภายใต้ Windows 95/98
  • Microsoft Windows XP: ระบบไฟล์ FAT32สำเนาที่สร้างโดย Wayback Machineของ Internet Archiveจากบทความสรุปข้อจำกัดของ FAT32 ซึ่งปัจจุบันไม่มีให้ดูแล้วบนเว็บไซต์ของ Microsoft
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=File_Allocation_Table&oldid=1360618815#FAT16B "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ตารางการจัดสรรไฟล์

ตารางจัดสรรไฟล์ ( FAT ) เป็นระบบไฟล์ที่พัฒนาขึ้นสำหรับคอมพิวเตอร์ส่วนบุคคลและเป็นระบบไฟล์เริ่มต้นสำหรับระบบปฏิบัติการDOSและWindows 9x เดิมทีพัฒนาขึ้นในปี 1977

ประวัติศาสตร์

ระบบไฟล์ FAT ถูกใช้กับ ฮาร์ดดิสก์ มาตลอดช่วงยุค DOS และ Windows 9x ไมโครซอฟต์ได้เปิดตัว NTFS พร้อมกับ แพลตฟอร์ม Windows NT ในปี 1993 แต่ FAT ยังคงเป็นมาตรฐานสำหรับผู้ใช้ตามบ้านจนกระทั่งมีการเปิดตัว Windows XP ในปี 2001 Windows Me เป็นเวอร์ชันสุดท้ายของ...

ทันสมัย

FAT ถูกใช้ภายในสำหรับ พาร์ติชั่นระบบ EFI ในขั้นตอนการบูตของคอมพิวเตอร์ที่รองรับ EFI [ 10 ]

ตัวแปร

ระบบไฟล์ FAT มีหลายรูปแบบ (เช่น FAT12 , FAT16 และ FAT32 ) FAT16 หมายถึงทั้งกลุ่มระบบไฟล์ FAT ดั้งเดิมที่มีรายการคลัสเตอร์กว้าง 16 บิต และรูปแบบที่พัฒนาขึ้นมาภายหลัง " VFAT " เป็นส่วนขยายเสริมสำหรับชื่อไฟล์แบบยาว ซึ่งสามารถใช้งานร่วมกับระบบไฟล์ FAT ใดก็ได้...