Previous chapter
Overall Organization
๊ธฐ๋ณธ์ ์ผ๋ก ๋์คํฌ๋ฅผ ๋ธ๋ก์ด๋ผ๋ ๋จ์๋ก ๋๋ ์ ๋ค๋ฃฌ๋ค.
โข
Data Region
๋ฐ์ดํฐ ๋ธ๋ญ์ผ๋ก ๊ตฌ์ญ์ ๋๋ ์ ํ ๋น์ ํ๋ค.
๋ฉ๋ชจ๋ฆฌ์ ๊ฒฝ์ฐ๋ ๋ฐ์ดํธ ๋จ์๋ก ๊ด๋ฆฌ๋นํ๋ฉฐ,
๋ฐ์ดํฐ์ ๊ฒฝ์ฐ๋ ๋ธ๋ญ ๋จ์๋ก ๊ด๋ฆฌ๋๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
โข
Metadata
๋ณธ์ฒด์ ๋ํ ์ค๋ช
์ด ๋ค์ด๊ฐ์๋ ๊ณณ์ด ๋ฉํ๋ฐ์ดํฐ
์ด๋ค ํ์ผ์ ๊ตฌ์ฑํ๊ธฐ ์ํ ๋ธ๋ญ๋ค์ด ์ด๋ค ๋์ธ์ง, ํ์ผ์ ์ฌ์ด์ฆ๊ฐ ์ด๋ค์ง, ์์ ์๊ฐ ๋๊ตฌ์ด๋ฉฐ ๊ถํ์ด ์ด๋ป๊ฒ ์๋์ง์ ๋ํ ์ค๋ช
์ด๋ฅผ inode(index node)๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌํ๋ค.
โข
๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
โข
๋์คํฌ์์ inode ํ
์ด๋ธ์ ๋์คํฌ์ ํ ๋นํ๋ค.
inode ๊ตฌ์กฐ์ฒด ํ๋๊ฐ ๋ธ๋ญ ํ๋๋ฅผ ์ฐจ์งํ๊ธฐ์๋ ๋๋ฌด ์์. ๋ฐ๋ผ์ ๋ธ๋ญ ํ๋์ ์ฌ๋ฌ inode๊ฐ ์๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
I๋
ธ๋ ํ๋๊ฐ ํ๋์ ํ์ผ์ ํํํ๊ณ ์์. inode๋ฅผ ์ฐธ์กฐํ์ฌ ๋ธ๋ญ์ ์ฐพ์ ์ ์๋ค.
read,write์์ ํ์ผ์ ๋ถ์ฐ์์ ์ธ ๋ฐ์ดํฐ ๋ธ๋ญ์ ์๋์ผ๋ก ๊ฐ๋ฆฌ์ผ์ค, ์ฌ์ฉ์ ์
์ฅ์์๋ ์ฐ์์ ์ธ ๊ณต๊ฐ์ด๋ผ๊ณ ์ฌ๊ธฐ๊ฒ ํ๋ ์ถ์ํ.โ OS๊ฐ ์ ๊ณตํด์ค๋ค.
Allocation structure
โข
inode๋ ๋ฐ์ดํฐ๊ฐ ํ ๋น๋์ด์๋์ง ์ฌ์ฉ๊ฐ๋ฅํ์ง๋ฅผ ์ถ์ ํ๋ ๊ณณ์ด๋ค.
โข
Free list๋ bitmap์ ์ฌ์ฉํ๋ค.
Superblock
๋์คํฌ์ ๊ด์ ์์ ๋ดค์ ๋ ๋์คํฌ์ ์์ ์ง์ ๋ถํฐ ๋ ์ง์ ๊น์ง ํ ๋ฌถ์์ผ๋ก ๋ฌถ์ด์ ํํฐ์
์ด๋ผ ์นญํ๋ค.
๋์คํฌ๋ฅผ ์ฌ๋ฌ๊ฐ๋ฅผ ์ฌ์ฉํด์, ํํฐ์
์ ์ฌ๋ฌ๊ฐ๋ฅผ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ธ์ํ๊ฑฐ๋,
ํ๋์ ๋๋ผ์ด๋ธ๋ฅผ ๋๊ฐ์ ํํฐ์
์ผ๋ก ํฌ๋งทํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
์ํผ๋ธ๋ญ์ inode์ ๊ฐ์์ inodeํ
์ด๋ธ์ ์์ ์์น, data๋ธ๋ญ์ ์์ ์์น์ ์ฌ์ด์ฆ ๋ฑ ํํฐ์
์ ์ฒด์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ธ๋ญ์ด๋ค.
Example
โข
Block size : 4KB
โ 256KB ํํฐ์
(64-block partition)
โข
inode size : 256B
โ 16 inodes
โ total 80 inodes
i๋
ธ๋๋ ์ด๋ก ์ ์ผ๋ก 80๊ฐ๊น์ง ์์ฑ์ด ๊ฐ๋ฅํ์ง๋ง, ๋ฐ์ดํฐ ๋ธ๋ก์ด 56๊ฐ๊น์ง ์์ผ๋ฏ๋ก, ์ค์ ๋ก ์์ฑํ ์ ์๋ ํ์ผ์ ๊ฐ์๋ ๋ ์ ๋ค.
inode
์ด๋ inode๋ฅผ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ์ inode์ ๋ฒํธ๊ฐ ์ ํด์ง๋ค. ๋ฐ๋ผ์ ํด๋น ๋๋ฒ๋ ์ผ์ข
์ inode ์คํ์
์ด ๋๋ค.
inode 32 read
โข
inode์ ์คํ์
์ ์ฐธ์กฐํ๋ค. : 32*sizeof(inode)=8KB
โข
superblock์ผ๋ก๋ถํฐ inode์ ์์์ฃผ์๋ฅผ ๋ฐ์์จ๋ค. = 12KB
โข
inode์ ์คํ์
์ : 12+8 = 20KB์ด๋ค.
IO๋ ํํฐ์
์๊ฒ ํด๋น ์คํ์
์ ์นํฐ๋จ์๋ก ๋ฐ๊ฟ์ ๋ช
๋ นํด์ค์ผํ๋ค.
โข
๊ธฐ๋ณธ์ ์ผ๋ก 512B์ด๋ฏ๋ก,
โข
์นํฐ ์ฃผ์ : 20 * 1024 / 512 = 20
Multi-level index
โข
inode์์๋ค๊ฐ block๋ค์ ๋ฒํธ๋ฅผ ์ญ ์ ๋๋ก ๋ง๋ ๋ค๋ฉด ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ค.
โฆ
๋ฐฐ์ด์ด๋๊นโฆ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ maxsize๊ฐ ๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฉํฐ๋ ๋ฒจ ์ธ๋ฑ์ฑ์ ํ ์ ์๋ค.
inode๋ ํฐ ํ์ผ์ ์ง์ํ๊ธฐ ์ํด์ ์ง์ ๋ฐ์ดํฐ ๋ธ๋ญ์ ๊ฐ๋ฆฌํค๋ Direct pointer์ ๋๋ค๋ฅธ index๋ฅผ ๊ฐ๋ฆฌํค๋ indirect pointer๋ก ๋๋๋ค.
Example
โข
12 direct pointers
โข
1 indirect pointer
โข
Block size : 4KB
โข
4B disk address
โข
can accommodate a file
Directory
โข
ํ์ผ์ ์คํ์
ํ์
์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
โฆ
ํ์ผ์ ํ์
์ด inode์ ์ ์ฅ๋๋๋ฐ, regular file์ directory๋ก ๋๋๋ค.
โข
Next chapter