educative.io

Educative

How 32K objects using a 2 block bitmap with each block of size 4KB? Shouldn't we able to represent 16M or 8M objects atleast?

Location in the course: Persistent Storage: File System Implementation → Overall Organization

Statement in the course:

You may notice that it is a bit of overkill to use an entire 4-KB block for these bitmaps; such a bitmap can track whether 32K objects are allocated, and yet we only have 80 inodes and 56 data blocks. However, we just use an entire 4-KB block for each of these bitmaps for simplicity.

Question: How did we come up with the number 32K objects using bitmap?

My calculations:
1block is of size 4KB. Number of bits needed to represent 4KB is 12 bits (Since 2^12 = 4K)

In our file structure explained in the course, we set aside 2 block for allocation struct.
Implies 12 bit and 12 bits = 24 bits. 2^24 = 16 M.

Shouldn’t such a bitmap be able to represent 16M objects?

Or maybe we set aside 1 bit are to denote d or i.
2 ^ 23 => 8 M objects at least right?
How 32K?


Course: Operating Systems: Virtualization, Concurrency & Persistence - Learn Interactively
Lesson: Overall Organization - Operating Systems: Virtualization, Concurrency & Persistence