Speeding up FS

Original file system design

Pasted image 20231210153921.png
Components:

Problems

SLOW

Why not just make block size bigger?

  • Bigger block size increase bandwidth but also increase internal fragmentation

Solution

Have larger block sizes

  • Also allow large blocks to be chopped in to smaller ones

Group one or more consecutive cylinders into cylinder group
Pasted image 20231210155526.png
Key Idea

What does our disk layout look like now?

Each cylinder group is basically a mini file system
Pasted image 20231210155906.png
Bookkeeping information

  • Block bitmap
    • Bitmap of available fragments
  • Summary info within each cylinder group
    • if free inodes, blocks, fragments

Old Unix

Using a bitmap

Keep entire bitmap in memory

Calculate bitmap size

bitmap size = disk size / block size / 8

How do we allocate a block close to block x?

Check for blocks near x / array element size

What did we gain?

Performance improvements