Floppy

舊 sysV unix 上格式化磁片的數學問題

  • September 22, 2015

在舊的 sysVR4 上,我將這樣格式化磁片

1.44 MB 磁片

mkfs -F ufs /dev/dsk/f03ht 2560  

1.2MB 磁片

mkfs -F ufs /dev/dsk/f13dt 2440

2440 和 2560 是用 5124 和 5125 計算的 你認為如何計算 2.88MB 磁片的正確值?謝謝

手動報告的塊是 5760,unix 版本是互動式 unix 4.1,給出的錯誤是這個

mkfs -L  -f /dev/rdsk/f0q36dt  5760:900  1 72
bytes per logical block = 1024
total logical blocks = 2880
total inodes = 896
gap (physical blocks) = 1
cylinder size (physical blocks) = 72 
mkfs: write error: 9

你確定你的身材?我在想一張 1.44MB 的磁片是由 80 個磁軌組成的磁碟,每個磁軌包含 18 個 512 字節的扇區,並且可以在兩側寫入。1.2MB 只有 15 首曲目。所以根據這個邏輯,你(80 * 18 * 2) == 2880在 1.44MB 磁片和(80 * 15 * 2) == 24001.2MB 磁片上有扇區。我不確定您是否必須自己計算 UFS 文件系統(引導扇區、超級塊 …)引入的成本,或者 mkfs 是否為您計算但基於此邏輯,因為似乎組成了 2.88MB 磁片由 80 個磁軌組成,每個磁軌有 36 個扇區,你可以寫兩個面,它使你(80 * 36 * 2) == 5760的塊大小為 512 字節。假設您必須向 mkfs 提供您要創建的文件系統的整個大小(而不僅僅是可用大小),我將使用:

mkfs -F ufs /dev/yourdisk 5760

引用自:https://unix.stackexchange.com/questions/231136