4.2.35 · D1 · HinglishOperating Systems

Foundationsext4 structure — superblock, block groups, inodes

2,658 words12 min read↑ Read in English

4.2.35 · D1 · Coding › Operating Systems › ext4 structure — superblock, block groups, inodes

Pehle aapko parent note aaram se padhne ke liye har word aur symbol ko apna banana hoga jo woh aap par phenkta hai. Yeh page har ek ko scratch se build karta hai, usi order mein jisme woh ek doosre par depend karte hain.


0. Woh picture jis par sab kuch baith a hai: block array

Ek box ke neeche likha number uska block number hai — uska address. Jab parent "physical block 5000" kehta hai, matlab hai "is row mein 5000waan box". Raw disk bas yahi hai: koi files nahi, koi folders nahi, sirf numbered boxes.


1. Bytes, KiB, MiB, GiB — units

Topic ko yeh kyun chahiye: pura "128 MiB per group, 80 groups on a 10 GiB disk" wala arithmetic sirf unit conversion hai. Units galat karo aur har number galat ho jaata hai.


2. Bit, aur bitmap ki picture

Key counting fact (parent mein har jagah use hoti hai): bytes ke ek block mein hote hain. Toh ek bitmap jo exactly ek block ki hai woh exactly blocks describe kar sakti hai. Yeh number yaad rakho — yahan se "blocks per group" aata hai. Lekin pehle: ek group hai kya?


3. Block group — ext4 ka neighbourhood

Ab "group" ka kuch concrete matlab hai, agli section ka arithmetic — "inode kaun se group mein hai?" — bas yeh poochna hai ki kaun se neighbourhood mein jaana hai.


4. Floor, mod, aur 1-based counting — arithmetic tools

Parent compute karta hai ki ek inode kaun se group mein rehta hai. Uske liye do operations chahiye jo shayad aapne symbols mein nahi dekhe honge.


5. Hexadecimal aur magic number 0xEF53


6. Byte offset — "start se kitna andar"


7. Pointer, extent, aur range picture


8. Woh words jo bina derivation ke milenge (quick glossary)

Yeh ext4 ko Virtual File System se connect karte hain, woh OS layer jo kai filesystems ko same "files and folders" interface present karne deta hai.


Yeh foundations topic ko kaise feed karte hain

Neeche di gayi map upar se neeche padho: ek arrow "X → Y" matlab "Y samajhne se pehle X samajhna zaroori hai." Un chaar roots se shuru karo jinmein koi incoming arrow nahi hai (units, block picture, floor/mod, aur 1-based vs 0-based). Koi bhi path neeche trace karo aur aap usi destination par pahunchoge — woh box jis par ext4 structure likha hai, jo parent topic hai. Seedha us mein point karne wale chaar boxes exactly woh chaar sawaal hain jo parent answer karta hai: ek group kitna bada hai, mera inode kaun se group mein hai, superblock kahan hai, aur ek inode apna data kaise dhundhta hai.

Units KiB MiB GiB

Block = fixed box, size B bytes

Bit and Bitmap

Byte offset

Block group = neighbourhood

Blocks per group = 8B

Floor and Mod

Which group is inode N

1-based vs 0-based

Superblock at offset 1024

Hex 0xEF53

Pointer then Extent

Inode finds data

ext4 structure


Equipment checklist

Khud test karo — right side cover karo aur zor se jawab do.

Block kya hai, aur kya hai?
Disk ka ek fixed-size chunk (ek identical box); uska size bytes mein hai, commonly 4096.
"blocks " mein ka kya matlab hai?
Disk par blocks ki total sankhya; aakhri block ka number hai kyunki counting 0 se shuru hoti hai.
Block group kya hai?
Disk ka ek equal-sized neighbourhood jo ek block bitmap, inode bitmap, inode table, aur data blocks bundle karta hai — ek self-contained mini-filesystem.
ext4 block groups kyun use karta hai?
File ki bookkeeping ko uske data ke paas rakhne ke liye (kam seek), bitmap size bound karne ke liye, aur fragmentation kam karne ke liye.
bytes ke ek block mein kitne bits fit hote hain?
bits (8 bits per byte) — isliye ek group blocks rakhta hai.
Block bitmap mein bit ka kya matlab hai?
Is group mein block use ho raha hai (0 = free).
kya karta hai aur yahan yeh kyun use karte hain?
Ek whole number par neeche round karta hai; ek fractional group count ko whole group index mein badalta hai.
kya deta hai, aur yeh hume kya batata hai?
ka remainder; us group ke andar position — saare whole groups hatane ke baad.
mein 1 kyun subtract karte hain?
Inodes 1-based hote hain lekin table slots 0-based; dono ke beech convert karta hai.
bytes.
bytes.
0xEF53 kya hai aur yeh kahan rehta hai?
Ext magic number (ek fingerprint) jo superblock mein store hota hai filesystem type confirm karne ke liye.
Primary superblock kahan (byte offset) hai, aur offset 0 par kyun nahi?
Offset 1024; pehle 1024 bytes ek boot sector ke liye reserved hain.
Extent kya hai aur yeh pointers se behtar kyun hai?
Ek record jo logical blocks ki ek contiguous run ko physical blocks se map karta hai; ek-pointer-per-block se kahin kam records.
File ka naam kahan store hota hai — inode mein ya directory mein?
Directory entry mein (naam → inode number); inode mein kabhi nahi.
Recall Ek-line summary

Disk numbered boxes hai; units unhe measure karti hain, ext4 unhe block groups mein kaatta hai, ek bitmap track karta hai kaun se free hain ( per block), floor/mod with a inode ka group locate karta hai, offset 1024 par ek hex magic number filesystem identify karta hai, aur extents file blocks ko physical boxes se map karte hain — yahi ext4 ki poori vocabulary hai.