มันขึ้นอยู่กับระบบไฟล์ที่ใช้งานอยู่เป็นจำนวนมากรวมถึงระบบปฏิบัติการในระดับหนึ่งรวมถึงโปรแกรมที่เปิดไฟล์ มันขึ้นอยู่กับแอพพลิเคชั่นที่จะร้องขอจำนวนที่เก็บข้อมูลที่ถูกต้องเมื่อสร้างไฟล์ใหม่และมันเป็นคุณสมบัติของระบบปฏิบัติการและระบบไฟล์ที่มีผลต่อพฤติกรรมแบบเปิดและขยายที่แอปเหล่านี้จะปฏิบัติตามเมื่อพวกเขาไม่รู้เนื้อที่เท่าใด เพื่อขอ
หากโปรแกรมถามระบบปฏิบัติการสำหรับไฟล์ 4.2GB ระบบปฏิบัติการจะค้นหาพื้นที่ว่างที่มี 4.2GB ฟรี ความล้มเหลวที่จะทำให้โปรแกรมมีพื้นที่ว่างเพียงพอในการบันทึกไฟล์ มีตัวแปรบางอย่างที่นี่ซึ่งทำให้ง่ายขึ้น
หากโปรแกรมถามระบบปฏิบัติการสำหรับไฟล์ 4KB ระบบปฏิบัติการจะให้มัน หากโปรแกรมยังคงขอเซ็กเมนต์ 4KB ที่ต่อเนื่องกันใหม่ (คุณกำลังดาวน์โหลดไฟล์และโปรแกรมไม่ทราบว่ามันใหญ่ขนาดไหน) จนกว่าจะได้พื้นที่ 4.2GB ระบบปฏิบัติการจะให้พื้นที่อย่างมีความสุข นี่เป็นกรณีที่ระบบไฟล์และระบบปฏิบัติการสร้างความแตกต่าง
ตัวอย่างเช่น XFS นั้นขึ้นอยู่กับขอบเขตดังนั้นการเพิ่มพื้นที่จะต่อเนื่องกันจนกว่าจะไม่สามารถทำได้ นอกจากนี้ยังสามารถกำหนดค่า XFS เพื่อจัดสรรไฟล์ใหม่ล่วงหน้าด้วยพื้นที่จำนวนหนึ่งซึ่งสามารถลดการแตกแฟรกเมนต์เพิ่มเติมได้ (มีประโยชน์สำหรับปริมาณการจัดเก็บข้อมูลในเครื่องเสมือนเครื่อง
EXT2 / 3, NTFS และฉันเชื่อว่า Reiser จะจัดสรรต่อเนื่องกันจนกว่าจะไม่สามารถทำได้อีกต่อไป จากนั้นมันจะเริ่มต้นชิ้นส่วนใหม่ แม้ว่าแต่ละส่วนจะมีขนาด 4KB
ให้ใช้กรณีที่เลวร้ายที่สุด ไฟล์ 4.2GB แบบขนานสองไฟล์จะถูกบันทึก 4KB พร้อมกันในไดเรกทอรีเดียวกัน สิ่ง 'ไดเรกทอรีเดียวกัน' เป็นส่วนหนึ่งของกรณีที่เลวร้ายที่สุดเนื่องจากชุดค่าผสม OS / FS บางตัวพยายามเก็บไฟล์ไว้ในไดเรกทอรีเดียวกันซึ่งอยู่ใกล้กัน สำหรับการรวมกันของ OS / FS บางอย่างนี้จะส่งผลให้ไฟล์สองไฟล์ถูกอินเตอร์ลีฟบนดิสก์อย่างสมบูรณ์ สำหรับคนอื่น ๆ ที่พยายามเก็บไฟล์ที่เปิดใหม่ในเซ็กเมนต์ว่างต่างกันอาจไม่มีการแตกแฟรกเมนต์เลยหรือน้อยมาก
XFS เล็กน้อย (ฉันคิดว่า ext4 และ btrfs ก็สามารถทำได้เช่นกัน) ในกรณีนี้ interleave จะไม่ใช่ 4KB มันจะเป็นสิ่งที่คุณตั้งค่าขนาดการจัดสรรของคุณเป็นเมื่อติดตั้งระดับเสียง ตั้งเป็น 256MB และคุณจะได้ไฟล์ 4.2GB ที่มี 17 แฟรกเมนต์แทนที่จะเป็นหนึ่งล้าน มีประโยชน์สำหรับวอลุ่มที่จัดเก็บไฟล์ขนาดใหญ่เช่นเซิร์ฟเวอร์สื่อ ไม่มีประโยชน์สำหรับวอลุ่มที่จัดเก็บไฟล์ itty bitty จำนวนมากและไฟล์ขนาดใหญ่บางไฟล์
เป็นเพราะสิ่งนี้ที่ลูกค้า Bittorrent เปิดไฟล์ sparse เมื่อเริ่มการดาวน์โหลดใหม่หรือเพียงแค่จัดสรรขนาดที่ระบุทั้งหมดก่อนเริ่ม
เมื่อคัดลอกไฟล์จากส่วนต่าง ๆ ของพาร์ติชั่นเดียวกัน (หรือ heck, จากพาร์ติชั่นอื่น) กระบวนการคัดลอกจะรู้ว่าไฟล์ที่ถูกคัดลอกนั้นใหญ่แค่ไหนดังนั้นจึงร้องขอพื้นที่ที่มีขนาดที่เหมาะสมตั้งแต่เริ่มต้น; ไม่จำเป็นต้องผนวกการจัดสรรสำหรับไฟล์ใหม่