ความแตกต่างระหว่างภาคและกลุ่มคืออะไร?


8

ฉันผ่านวิกิพีเดียและเว็บไซต์อื่น ๆ และนี่คือข้อมูลที่ฉันได้รับ

เซกเตอร์:หน่วยที่สามารถกำหนดแอดเดรสที่เล็กที่สุด (ส่วนใหญ่ 512 ไบต์)
คลัสเตอร์ : หน่วยการจัดสรรที่เล็กที่สุด (เท่ากับ 1 หรือมากกว่าเซกเตอร์และจำนวนของคลัสเตอร์ขึ้นอยู่กับระบบไฟล์)

สมมติว่าในตัวอย่างด้านล่าง: sector = 512 bytes และ cluster = 8 sector = 4096 bytes ตอนนี้ฉันกำลังหาเวลายากเมื่อฉันพยายามสร้างไฟล์ระบบไฟล์ทำอะไร? มันพิจารณา 4096 ไบต์เป็นหน่วยการเขียน / อ่านที่เล็กที่สุดหรือ 512 ไบต์หรือไม่?

หากคำตอบคือ 4096 ไบต์: เมื่อผู้ผลิตดิสก์ไดรฟ์ได้ให้ 512 ไบต์เป็นหน่วยที่เล็กที่สุดแอดเดรสทำไมระบบไฟล์ถึงพิจารณาว่าคลัสเตอร์เป็นหน่วยที่เล็กที่สุด ฉันหมายถึงอะไรคือข้อดีในการทำเช่นนั้น?

คำตอบ:


8

ข้อดีของระบบไฟล์ที่พิจารณาว่าคลัสเตอร์ / การจัดสรรหน่วย / บล็อกเป็นหน่วยที่เล็กที่สุดเนื่องจากการกำหนดแอดเดรสดิสก์ต่อเซกเตอร์ทั้งหมดจะต้องใช้บิตจำนวนมากเพื่อทำดัชนีทั้งหมด จำนวนบิตที่ใหญ่กว่านี้จะทำให้ช้าลงเนื่องจากมีที่อยู่และสิ่งที่ต้องติดตามจำนวนมาก มันมีประสิทธิภาพมากกว่าในการระบุตำแหน่ง (และดัชนี!) โดยใช้ say, 48 bits (2 ^ 48 = 2.8e14) ซึ่งตรงข้ามกับ 64 บิตขึ้นไป (2 ^ 64 = 1.8e16) สำหรับการเข้าถึงแต่ละอุปกรณ์

แต่ใช่ขนาดของคลัสเตอร์หรือขนาดหน่วยการจัดสรร (windows) หรือขนาดบล็อก (Linux) สามารถปรับได้ขึ้นอยู่กับระบบไฟล์ที่กำหนดไว้และนั่นคือขนาดที่เล็กที่สุดที่OS สามารถเข้าถึงได้โดยปกติเพื่อจัดเก็บข้อมูลไฟล์ "การกำหนดระบบไฟล์" หมายถึงการฟอร์แมตดิสก์ (หรือข้อกำหนดของรูปแบบนั้น) ดังนั้นจึงหมายถึงการลบข้อมูลทั้งหมดบนดิสก์ ดังนั้นบนดิสก์ที่มีขนาดคลัสเตอร์ 4kiB ไฟล์ขนาด 1 ไบต์จะใช้ทั้งคลัสเตอร์ 4k ตามตัวอย่างของคุณ ใช่ระบบปฏิบัติการสามารถเขียนไปยังเซกเตอร์เฉพาะบางอย่างภายในคลัสเตอร์นั้น แต่ไฟล์จะยังคงใช้เซกเตอร์เดียวกันของคลัสเตอร์นั้น (ขนาดไฟล์จะเป็นขนาดคลัสเตอร์หลายเท่าโดยไม่คำนึงถึงข้อมูลที่อยู่ในนั้น) หากต้องการเปลี่ยน ขนาดคลัสเตอร์หมายถึงการฟอร์แมตดิสก์ใหม่และเป็นสาเหตุที่ข้อมูลทั้งหมดจะต้องถูกลบ

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

เช่นไฟล์ 100,000 768- ไบต์เก็บไว้ในดิสก์ที่มี 1kiB คลัสเตอร์:

  • 768kB ไบต์ของข้อมูลไฟล์จริง

  • ดิสก์ที่ใช้ 1.024MB เนื่องจากแต่ละไฟล์ใช้ 1024 ไบต์ของดิสก์

  • ประสิทธิภาพของพื้นที่ = 0.768 / 1.024 = 75% (ไม่เลว ... )

และเช่นเดียวกันกลุ่มที่ใหญ่กว่าก็ดีกว่าสำหรับดิสก์ที่มีไฟล์น้อยกว่าและมีขนาดใหญ่กว่าเช่นภาพยนตร์รูปภาพและเสียง เนื่องจากมีกลุ่มน้อยลงดิสก์โดยทั่วไปจึงเร็วกว่า แต่ระวังอย่าวางไฟล์ขนาดเล็กไว้ในนั้น:

เช่นไฟล์ 100,000 768- ไบต์เก็บไว้ในดิสก์ที่มีกลุ่ม 64kiB:

  • 768kB ไบต์ของข้อมูลไฟล์จริง

  • ดิสก์ที่ใช้มีขนาด 6.55GB เนื่องจากแต่ละไฟล์ใช้ดิสก์ขนาด 65535 ไบต์

  • ประสิทธิภาพของพื้นที่ = 0.768 / 6553.5 = 0.00017% !!!

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

ดิสก์เหล่านี้ชอบมากกว่า 32kB ถึง 256kB บล็อกเนื่องจากช่วยให้สามารถถ่ายโอนข้อมูลได้มากที่สุดต่อวินาที

ทั้งหมดนี้เกี่ยวกับฮาร์ดดิสก์แบบกลไกทางกล, จานหมุนแบบแม่เหล็ก SSD หรือ Solid-State Drives จะเปลี่ยนฮาร์ดดิสก์แบบเดิมอย่างรวดเร็วและมีความเร็วในการอ่าน / เขียน / ค้นหาความเร็วสูง ดังนั้นขนาดคลัสเตอร์มีความสำคัญกับ SSD ในปัจจุบันหรือไม่ ฉันจะบอกว่ามันสำคัญน้อยกว่าสำหรับผู้ใช้ทั่วไป แต่เพียงเพราะ SSD (และคอมพิวเตอร์ที่ทันสมัย) นั้นเร็วกว่ามากแล้ว ใครจะสังเกตเห็นว่า SSD ทำงานช้าลง 10% เมื่อเร็วกว่าฮาร์ดดิสก์แม่เหล็กแล้ว 5 เท่า?

สิ่งที่อาจมีผลต่อขนาดของคลัสเตอร์บน SSD มากกว่าคือปริมาณงาน คุณอาจพบ (โดยจัดรูปแบบและการเปรียบเทียบ) ที่คลัสเตอร์ขนาดบางทำงานไกลดีกว่าคนอื่นสำหรับ SSD ที่ ตัวอย่างเช่น SSD บางตัวได้รับการปรับแต่งสำหรับการถ่ายโอน 8kiB หรือ 4kiB สิ่งนี้เกี่ยวข้องกับข้อมูลขนาดใหญ่ที่อิเล็คทรอนิคส์ภายในเตรียมที่จะถ่ายโอนต่อการร้องขอ จับคู่สิ่งที่ระบบปฏิบัติการพยายามใช้ (ขนาดคลัสเตอร์) กับขนาดที่เหมาะสมที่สุดสำหรับ SSD = ความเร็วในการถ่ายโอนที่เร็วที่สุด

ขนาดของคลัสเตอร์ยังคงสำคัญสำหรับไฟล์ "โอเวอร์เฮด" ด้วยเหตุผลของ SSD

ฉันพบเครื่องมือที่ยอดเยี่ยมสำหรับการเปรียบเทียบ SSD ของAS-SSDสำหรับ Windows และสิ่งเหล่านี้บน Linux


2
ขนาดของคลัสเตอร์สามารถปรับได้ง่าย "" แม้ว่ามันจะต้องฟอร์แมตไดรฟ์ใหม่ Windows อ้างถึงเป็น "ขนาดหน่วยการจัดสรร"
Marc.2377

"ขนาดคลัสเตอร์ ... เป็นตำแหน่งที่เล็กที่สุดที่ระบบปฏิบัติการสามารถเข้าถึงได้" - ไม่ขนาดของคลัสเตอร์จะใช้กับการจัดสรรพื้นที่ข้อมูลของระบบไฟล์เท่านั้น I / O ยังสามารถทำได้เพียงแค่เซกเตอร์นั่นคือน้อยกว่าขนาดของคลัสเตอร์ BTW "cluster" เป็นคำศัพท์เฉพาะของระบบไฟล์ของ Microsoft
ขี้เลื่อย

ไม่ภูมิปัญญาเก่าเกี่ยวกับการจัดสรรหน่วยที่มีขนาดใหญ่เป็นมีประสิทธิภาพมากขึ้นนำไปใช้ในยุคปัจจุบันของ SSDs (ที่เป็น IO สุ่ม ( theroetically ) อย่างรวดเร็วเพียงเท่าตามลำดับ IO?) หรือแม้กระทั่ง 3DXPoint ที่แต่ละไบต์แอดเดรสโดยตรง?
Dai

-1

ขนาดเซกเตอร์ที่กำหนดโดยผู้ผลิต

ตอนนี้เราสามารถเห็นขนาดเซกเตอร์สองชนิด 512b หรือ 4Kb

ก่อนปี 2010 ขนาด HDD ของภาคอุตสาหกรรม: 512b

หลังจากปี 2010 ผู้ผลิตเริ่มผลิต HDD 4K ปกป้องแบรนด์

ตอนนี้ปี 2018 ผู้ใช้หลายคนกว่า 70% ใช้ขนาดเซกเตอร์ 512b

ผู้ผลิต HDD บางรายมีเครื่องมือในการเปลี่ยนขนาดเซกเตอร์

Cluster (for FAT) เหมือนกับระบบ BLOCK (สำหรับ Linux)

มันมีหนึ่งหรือหลายภาค

ระบบไฟล์จัดการกับคลัสเตอร์ (หรือบล็อก) เท่านั้น

ภาคลอจิคัลเรียกว่าเซกเตอร์พื้นเมืองที่ผลิตโดยโรงงาน

ผู้ใช้สามารถเปลี่ยนได้เพียงเซกเตอร์กายภาพ (= ขนาดของคลัสเตอร์หรือบล็อก) ตามรูปแบบหรือเครื่องมือพาร์ติชัน

ภาคตรรกะ / ภาคกายภาพ = 512/4096 = ภาคผู้ผลิต / ภาคผู้ใช้ = ไม่สามารถเปลี่ยนแปลง / เปลี่ยนแปลงได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.