I have read Introduction to the Minix File System from Wikipedia. I don't understand this sentence, "but since the Minix fs uses unsigned shorts for block pointers, it is limited to 64M partitions". What's the relationship between the data structure of block pointers and the size of partitions?
Asked
Active
Viewed 55 times
0
-
My guess is each block pointer points to a block as opposed to individual bytes within a block. So if an unsigned short is 16 bits, `2^16` gives 65536 number of blocks that we could address with one block pointer. Since this says 64 MB partitions, that implies that each block was 1024 bytes (1 KB) large, meaning `(65536 blocks * 1024 bytes each) / (2^20 Bytes / 1 MB) = 64 MB`. – wxz May 02 '22 at 15:36
1 Answers
0
MINIX 1 and 2 (and the Linux minixfs
which derives from it) use fixed-size 1,024-byte blocks. If each block is given a 16-bit (unsigned short
in C) number, the farthest byte of the farthest block will be at offset 64 MiB-1.
Those two limits were lifted in 2005 with MINIX 3, but the vast majority of existing file systems comply with the older format, which is more than enough for the floppies it was designed for.

AntoineL
- 888
- 4
- 25