ทำไมจำนวนเซกเตอร์ของฮาร์ดดิสก์ทั้งหมดแสดงใน fdisk ไม่เหมือนกับการคำนวณเชิงทฤษฎี


9

เมื่อเราใช้ fdisk เพื่อตรวจสอบฮาร์ดดิสก์มันจะแสดงสิ่งที่ชอบ:

Disk /dev/sda/: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors

แต่เมื่อเราคูณ 255 x 63 x 2610 จำนวนนั้นคือ 41929650 น้อยกว่าจำนวนทั้งหมดเล็กน้อย ของภาคที่แสดงข้างต้น ทำไม?


3
ที่เกี่ยวข้องแน่นอน: แปลความหมายของจำนวนหัวกลับโดย fdiskในSuper User การเปิดเผยแบบเต็ม: คำตอบที่ได้รับการยอมรับคือของฉันเอง
CVN

คำตอบ:


14

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

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


6
"Logical Block Addressing ถูกใช้เพื่อแก้ไขดิสก์วันนี้" - เพื่อให้มุมมองเกี่ยวกับกรอบเวลา: LBA 22 บิตเปิดตัวในปี 1986, 28-bit ในปี 1994, 48-bit ในปี 2003 ณ ปี 1996 ไดรฟ์ทั้งหมดรองรับ LBA . หากไม่มี LBA ขนาดของไดรฟ์ที่กำหนดแอดเดรสได้สูงสุดคือ ~ 7.8 GiByte เทียบกับ 128 PiByte กับ LBA48
Jörg W Mittag
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.