(สายไปหาคำตอบ ... )
ไฟล์ที่มีขนาดเป็นศูนย์จะซับซ้อนกว่าคำตอบข้างต้นเล็กน้อยได้อย่างไร คำถามถูกแท็ก Win7 แต่การดูที่ระบบไฟล์ "ง่ายกว่า" อื่น ๆ เช่นFATหรือNTFSอาจมีประโยชน์เนื่องจากแนวคิดมีความคล้ายคลึงกัน
ดิสก์ไม่ "รู้" ว่าไฟล์คืออะไรและคืออะไร มันคือข้อมูลทั้งหมดในบล็อกเล็ก ๆ ระบบปฏิบัติการแตกต่างระหว่างความหมายของบล็อกข้อมูล สองสามอย่างแรกพิเศษ แต่ส่วนที่เหลือของบล็อกจะเก็บข้อมูลเกี่ยวกับข้อมูล (เช่น: ชื่อไฟล์ความยาวไฟล์บล็อกข้อมูลแรกที่เก็บข้อมูล) หรือข้อมูลนั้น
ไดเรกทอรีเป็น "ไฟล์" พิเศษซึ่ง "ข้อมูล" ที่ระบบปฏิบัติการเข้าใจคือบล็อกข้อมูลที่มีข้อมูลเกี่ยวกับไฟล์ไม่ใช่เนื้อหาของไฟล์ การเปรียบเทียบที่ดีคือห้องสมุดทางกายภาพและแคตตาล็อกบัตร คิดว่าบล็อกข้อมูลเป็นแคตตาล็อกบัตรและชั้นวางเป็นบล็อกข้อมูล (แคตตาล็อกการ์ดยังอยู่ในโครงสร้างเหมือนชั้นวาง)
เมื่อคุณ "สร้าง" ไฟล์ (พูดด้วยtouch
คำสั่งUNIX ) ระบบปฏิบัติการจะสร้างรายการในบล็อกข้อมูล (ไดเรกทอรี) โดยมีรายการต่อไปนี้:
- ชื่อ = My_File.txt
- ความยาว = 0
- การเริ่มต้น Data Block = N / A
- ข้อมูลเพิ่มเติม (เจ้าของสิทธิ์สร้าง / อัปเดต / แก้ไขวันที่) ฯลฯ
เฉพาะในกรณีที่มีข้อมูลบางส่วนที่จะ "เขียน" จะพยายามค้นหาบล็อกข้อมูลที่ว่างเปล่าเพื่อจัดเก็บข้อมูล แต่บล็อกข้อมูลมีขนาดคงที่ (บอกว่า 32K) สะดวกสำหรับการเข้าถึงดิสก์และระบบปฏิบัติการเพื่ออ่าน หากคุณเขียนเฉพาะ "Hello" บล็อกส่วนใหญ่จะเป็น "ว่างเปล่า" (อันที่จริงอาจไม่ใช่ศูนย์ แต่เป็นขยะจากที่เคยมีมาก่อน) ดังนั้นตารางจึงอัปเดตขนาดเป็นความยาว (พูด 5 ตัวอักษร + สิ้นสุด ไฟล์) ดังนั้นคุณจะไม่ได้สิ่งที่ไม่ดี
เมื่อคุณอัปเดต "ไฟล์" เป็นความยาว> ขนาดบล็อกระบบปฏิบัติการจะเขียนข้อมูลไปยังบล็อกใหม่และอัปเดตบล็อกข้อมูลเพื่อบอกว่าไฟล์ดำเนินต่อไปยังบล็อกถัดไปหลังจากช่วงแรก (และต่อไป) และความยาวจะถูกอัพเดต ความยาวใหม่ (รายละเอียดแตกต่างกัน)
สิ่งที่คุณจะได้คือการรวบรวมบล็อคข้อมูล (ไดเรกทอรีหรือรายการ) พร้อมข้อมูลเกี่ยวกับกลุ่มของบล็อกข้อมูล (เนื้อหาไฟล์)
เหตุผลนี้ยังอธิบายว่าเหตุใดการย้ายไฟล์ในระบบไฟล์เดียวกันจึงกระพริบเร็วในขณะที่สำเนาใช้เวลานาน ระบบปฏิบัติการจะต้องแก้ไข 2 ไดเรกทอรีบล็อกเพื่อลบรายการจากหนึ่งไดเรกทอรี (data data block) และเพิ่มไปยังอีก ลบไฟล์: เพียงแค่ลบรายการในบล็อกไดเร็กตอรี่, ปล่อยบล็อกข้อมูลไฟล์ที่จะจัดสรรใหม่
ป.ล. : เพียงเพราะแคตตาล็อกบัตรมีรายการสำหรับหนังสือไม่ได้หมายความว่ามันอยู่ในชั้นวาง (ตรวจสอบหรือสูญหายบางที); ขนาดไฟล์ 0
pps: หนังสือที่ใส่ผิดที่ในห้องสมุดหมายถึงห้องสมุดการค้นหาหรือในแง่คอมพิวเตอร์: chkdsk หรือซ่อมแซมดิสก์!
ความเข้าใจที่มากขึ้นสามารถรวบรวมได้โดยการอ่านเกี่ยวกับ inodes ของ UNIX หรือชื่นชมวิธีที่ระบบควบคุมเวอร์ชัน (ClearCase, TFS, Git, ฯลฯ ) จัดการไม่เพียง แต่ไฟล์และไดเรกทอรี แต่ยังรวมถึงรุ่นของไฟล์และไดเรกทอรีรุ่นต่างๆ ในกรณีส่วนใหญ่ทุกอย่างจะถูกเก็บไว้ในฐานข้อมูลและนำเสนอต่อผู้ใช้เพื่อให้ปรากฏเป็นโครงสร้างไดเรกทอรีแบบดั้งเดิมและไฟล์!