๐พ ํ์ผ๊ณผ ํ์ผ์์คํ
๐ ๊ฐ์
1๏ธโฃ ์ด์์ฒด์ ๋ ์ฌ์ฉ์๊ฐ ์ง์ ํ์ผ์ ๋ณด๊ดํ๊ฑฐ๋ ์ ๊ทผํ์ง ๋ชปํ๋๋ก ํ๊ธฐ ์ํด, ๋์ ํ์ผ์ ๋ณด๊ดํ๊ณ ๊ด๋ฆฌํ๋ ํ์ผ ๊ด๋ฆฌ์๋ฅผ ๋์ด ์ ์ฅ ์ฅ์น์ ์ ์ฒด ๊ด๋ฆฌ๋ฅผ ๋งก๊ธฐ๋๋ฐ, ์ด๋ฅผ ํ์ผ ์์คํ
์ด๋ผ๊ณ ํจ
2๏ธโฃ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋งคํ ํ
์ด๋ธ
์ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ์ฃผ์๋ก ๋ณํํ๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ์ ์ฅ ์ฅ์น์์๋ ํ์ผ ๊ด๋ฆฌ์๊ฐ ํ์ผ ํ
์ด๋ธ
์ ์ฌ์ฉํ์ฌ ํ์ผ์ ๊ด๋ฆฌ ํจ
- ์๋์ฐ์ ๊ฒฝ์ฐ
FAT(File Allocation Table)
, ์ ๋์ค์ ๊ฒฝ์ฐI-node
์ ๊ฐ์ ํ์ผ ํ ๋น ํ ์ด๋ธ์ ์ ์ง
3๏ธโฃ ๋ฐ์ดํฐ๋ ์ด์์ฒด์ ์ ์ ์ฅ ์ฅ์น ๊ฐ์ ๋ธ๋ก ๋จ์๋ก ์ ์ก๋จ. ๋ธ๋ก์ ์ ์ฅ ์ฅ์น์์ ์ฌ์ฉํ๋ ๊ฐ์ฅ ์์ ๋จ์๋ก, ํ ๋ธ๋ก์ ์ฃผ์ ํ๋๊ฐ ํ ๋น ๋จ.
- ๋ฉ๋ชจ๋ฆฌ๋
๋ฐ์ดํธ
๋จ์๋ก ์ ์ฅ๋๊ณ , ํ๋ ๋์คํฌ์ ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ์ ๊ฐ์ฅ ์์ ์ ์ฅ ๋จ์๋์นํฐ
4๏ธโฃ ์นํฐ๋ง๋ค ์ฃผ์๋ฅผ ๋ถ์ฌํ๋ฉด ๋๋ฌด ๋ง์ ์์ ์ฃผ์๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ํ์ผ ๊ด๋ฆฌ์๋ ์ฌ๋ฌ ์นํฐ๋ฅผ ๋ฌถ์ด ํ๋์ ๋ธ๋ก์ผ๋ก ๋ง๋ค๊ณ , ๋ธ๋ก ํ๋์ ์ฃผ์ ํ๋๋ฅผ ๋ฐฐ์ ํจ
๐ ํ์ผ ๋ถ๋ฅ์ ํ์ฅ์
1๏ธโฃ ๋ชจ๋ ํ์ผ์ 0๊ณผ 1์ ๋นํธ ํจํด์ผ๋ก ์ด๋ฃจ์ด์ง๋ฉฐ, ์ด์์ฒด์ ์ ์ฅ์์๋ ํฌ๊ฒ ์คํ ํ์ผ๊ณผ ๋ฐ์ดํฐ ํ์ผ๋ก ๋๋จ
- ์คํ ํ์ผ : ์ด์์ฒด์ ๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ฐ์ ธ์ CPU๋ฅผ ์ด์ฉํ์ฌ ์์ ์ ํ๋ ํ์ผ. ์ฆ, ์ฌ์ฉ์์ ์์ฒญ์ผ๋ก ํ๋ก์ธ์ค๊ฐ ๋ ํ์ผ์ ๋งํจ
- ๋ฐ์ดํฐ ํ์ผ : ์คํ ํ์ผ์ด ์์ ํ๋ ๋ฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์๋์ ํ์ผ
2๏ธโฃ ์คํ ํ์ผ๊ณผ ๋ฐ์ดํฐ ํ์ผ์ ๋ ๋ค ๋๋ธ ํด๋ฆญํ๋ฉด ์คํ๋ก์ง ๋๋ฌธ์ ๋ฐ์ดํฐ ํ์ผ์ ์คํ ํ์ผ๋ก ์ฐฉ๊ฐํ๊ธฐ ์ฌ์. ๊ทธ๋ฌ๋ ๋ฐ์ดํฐ ํ์ผ์ด ํ์๋ก ํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ด์์ฒด์ ๊ฐ ์คํํ๋ ๊ฒ์ด์ง ๋ฐ์ดํฐ ํ์ผ ์์ฒด๊ฐ ์คํ๋๋ ๊ฒ์ ์๋.
๐ ํ์ผ ๊ตฌ์กฐ
1๏ธโฃ ์์ฐจ ํ์ผ ๊ตฌ์กฐ(Sequential File Structure)
: ์ผ๋ฐ ํ์ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ฐจ ํ์ผ ๊ตฌ์กฐ์. ์์ฐจ ํ์ผ ๊ตฌ์กฐ๋ ํ์ผ ๋ด์ฉ์ด ํ๋์ ๊ธด ์ค๋ก ๋์ด์ ํํ๋ก ์นด์ธํธ ํ ์ดํ๊ฐ ๋ํ์ ์ธ ์
- ์ฅ์
- ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์์๋๋ก ๊ธฐ๋ก๋๊ธฐ ๋๋ฌธ์ ์ ์ฅ ๊ณต๊ฐ์ ๋ญ๋น๋๋ ๋ถ๋ถ์ด ์์
- ๊ตฌ์กฐ๊ฐ ๋จ์
- ์์๋๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ ์ฅํ ๋ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ๋จ
- ๋จ์
- ํ์ผ์ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๊ฑฐ๋ ์ญ์ ํ ๋ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆผ
- ํน์ ๋ฐ์ดํฐ๋ก ์ด๋ํ ๋ ์ง์ ์ ๊ทผ์ด ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์์์๋ถํฐ ์์๋๋ก ์์ง์ฌ์ผ ํจ
2๏ธโฃ ์ธ๋ฑ์ค ํ์ผ ๊ตฌ์กฐ(Index File Structure)
- ์์ฐจํ์ผ ๊ตฌ์กฐ์ ์ธ๋ฑ์ค ํ ์ด๋ธ์ ์ถ๊ฐํ์ฌ ์์ฐจ ์ ๊ทผ๊ณผ ์ง์ ์ ๊ทผ์ด ๊ฐ๋ฅ
- ํ๋์ ํ์ผ ์์คํ ์ ์ธ๋ฑ์ค ํ์ผ ๊ตฌ์กฐ๋ก, ํ์ผ์ ์ ์ฅํ ๋๋ ์์ฐจ ํ์ผ ๊ตฌ์กฐ๋ก ์ ์ฅํ๊ณ , ํ์ผ์ ์ ๊ทผํ ๋๋ ์ธ๋ฑ์ค ํ ์ด๋ธ์ ๋ณด๊ณ ์ํ๋ ํ์ผ์ ์ ๊ทผํจ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ด ๋ฐ์ดํฐ์ ๋น ๋ฅธ ์ ๊ทผ์ด ํ์ํ ์์คํ ์ ์ฌ์ฉ๋จ
3๏ธโฃ ์ง์ ํ์ผ ๊ตฌ์กฐ(Direct File Structure)
- ์ ์ฅํ๋ ค๋ ๋ฐ์ดํฐ์ ํน์ ๊ฐ์ ์ด๋ค ๊ด๊ณ๋ฅผ ์ ์ํ์ฌ ๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์๋ก ๋ณํํ๋ ํ์ผ ๊ตฌ์กฐ
- ํน์ ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ง์ ์ ๊ทผ์ด ๊ฐ๋ฅํ ํ์ผ ๊ตฌ์กฐ์ด๋ฉฐ, ์ด๋ ์ฌ์ฉํ๋ ํจ์๋ฅผ ํด์ํจ์๋ผ๊ณ ํจ
- ํด์ ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ฃผ์๋ฅผ ๋ณํํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ์ ๊ทผ์ด ๋งค์ฐ ๋น ๋ฅด์ง๋ง, ํด์ ํจ์๋ฅผ ์ ์ ํ๋ ๊ฒ์ด ํฐ ์ค์ ํฌ์ธํธ
๐พ ๋๋ ํ ๋ฆฌ(Directory)
๐ ๊ฐ์
๐ ํ์ผ ์์คํ ๋ด๋ถ์ ์กด์ฌํ๋ ๊ฒ์ผ๋ก, ํจ์จ์ ์ธ ํ์ผ ์ฌ์ฉ์ ์ํด์ ๋์คํฌ์ ์กด์ฌํ๋ ํ์ผ์ ๋ํ ์ฌ๋ฌ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ “ํน์ํ ํํ์ ํ์ผ”
๐๐ป Directory๋ ํ์ ํ์ผ๋ค์ Metadata ์ผ๋ถ๋ฅผ ๋ณด๊ดํ๊ณ ์๋ ํน๋ณํ ํ์ผ
- ๊ฐ ํ์ผ์ {์ด๋ฆ, ์์น, ํฌ๊ธฐ, ํ ๋น๋ฐฉ์, ํํ, ์์ ์, ๊ณ์ ์ ๋ณด, …}๋ฅผ ๋ณด์
- ๊ธฐ๋ฅ
- ํ์ผ์ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋๋ก Efficiency๋ฅผ ์ ๊ณต
- ํ์ผ์ ์ด๋ฆ์ ์ง์ ๋ ์ ์ฝ์กฐ๊ฑด์ด ์๋๋ก ํด์ค (Naming)
- ์ ์ฌํ ํ์ผ๋ค์ Grouping ํด์ค
๐ Single-Level Directory
- ๋ชจ๋ ํ์ผ์ ํ๋์ ๋๋ ํ ๋ฆฌ ๋ด์ ์์นํด์ ๊ด๋ฆฌ๋๋ ๊ตฌ์กฐ
- ๋ชจ๋ ํ์ผ์ด Uniqueํ ์ด๋ฆ์ ๊ฐ์ ธ์ผ ํจ
- ๋ชจ๋ ํ์ผ์ด ๊ฐ์ ๋๋ ํ ๋ฆฌ ๋ด์์ ์ ์ง๊ฐ ๋๋ฏ๋ก user๊ฐ ํ์ผ์ ๋ํ ์ดํด๋ฅผ ์ฝ๊ฒ ํ ์ ์์
- ํ์ผ์ด๋ user์๊ฐ ์ฆ๊ฐํ๊ฒ ๋๋ฉด ํ์ผ ๊ด๋ฆฌ๊ฐ ๋ณต์กํด์ง
- Naming & Grouping ๊ด๋ จ ๋ฌธ์ ๊ฐ ๋ฐ์
๐ Two-Level Directory
- ์ค์์ Master File Directory(MFD)๊ฐ ์กด์ฌํ๊ณ , ๊ทธ ์๋์ ๊ฐ user๋ณ๋ก ์๋ก ๋ค๋ฅธ User File Directory(UFD)๊ฐ ์กด์ฌ
- MFD
- ๊ฐ user๋ค์ ์ด๋ฆ, ๊ณ์ ๋ฒํธ, UFD๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ฅผ ๋ณด์
- ๊ฒฐ๋ก ์ ์ผ๋ก UFD๋ฅผ ๊ด๋ฆฌ
- UFD
- ์ค์ง ํ๋์ user๊ฐ ๊ฐ์ง๊ณ ์๋ ํ์ผ์ ๋ํ ์ ๋ณด๋ง ๊ฐ๊ณ ์์ :: ํด๋น user์ ํ์ผ์ ๊ด๋ฆฌ
- ํ๋์ UFD์๋ uniqudํ ํ์ผ ์ด๋ฆ์ ์ฌ์ฉํด์ผํ์ง๋ง, ์๋ก ๋ค๋ฅธ UFD๊ฐ์๋ ๋์ผํ ํ์ผ ์ด๋ฆ์ด ์กด์ฌํด๋ ๋จ
- MFD
- ์ด ๋ฐฉ์์ ๊ฐ user๊ฐ ์๋ก ๋ค๋ฅธ user์ UFD๋ฅผ ๊ฒ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ๋ฌด ํ๋ ฅ/ํ์ผ ๊ณต์ ๊ฐ ์ด๋ ค์.
- ํน์ ํ์ผ์ ์ ์ฅํ ๋๋ “User Name + File Name”์ ๊ฐ์ด ์ง์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ํ์ผ ์ด๋ฆ์ด ๊ธธ์ด์ง.
๐ Tree-Structured Directory
- ํ๋์ Root Directory ์๋๋ก ์ฌ๋ฌ ๊ฐ์ Sub Directory๋ก ๊ตฌ์ฑ๋ ๊ตฌ์กฐ
- DOS/Window/UNIX ๋ฑ์ OS์์ ์ฌ์ฉ๋๋ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
- ๊ฐ ๋๋ ํ ๋ฆฌ๋ {์๋น ๋๋ ํ ๋ฆฌ or ํ์ผ}์ ๊ฐ์ง ์ ์์
- ์๋ก ๋ค๋ฅธ ๋๋ ํ ๋ฆฌ ๋ด์ ๋์ผํ ์ด๋ฆ์ ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ ์ ์์
- ๋๋ ํ ๋ฆฌ {create/drop}์ด ํธ๋ฆฌํจ
- ๋๋ ํ ๋ฆฌ ํ์์๋ Pointer๋ฅผ ์ฌ์ฉํ๊ณ , ๊ฒฝ๋ก๋ช ์ {Absolute/Relative}๋ฅผ ์ฌ์ฉํจ
๐ Acyclic-Graph Directory
- Acyclic Directory๋ ํ์ ํ์ผ์ด๋ ํ์ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ณต๋์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๊ฒ์ผ๋ก, Cycle์ด ํ์ฉ๋์ง ์๋ ๊ตฌ์กฐ์
- ๋์คํฌ ๊ณต๊ฐ ์ ์ฝ ๊ฐ๋ฅ
- ํ๋์ ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ๊ฐ ์ฌ๋ฌ ๊ฐ์ Path Name์ ๊ฐ์ง ์ ์์
- ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๊ฐ ๋ณต์กํ๊ณ , ๊ณต์ ๋ ํ๋์ ํ์ผ์ ํ์ํ ๊ฒฝ์ฐ ๋ค๋ฅธ ๊ฒฝ๋ก๋ก 2๋ฒ ์ด์ ์ฐพ์๊ฐ ์ ์๊ธฐ ๋๋ฌธ์ ์์คํ ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์
- ๊ณต์ ๋ ํ์ผ์ ์ญ์ ํ ๊ฒฝ์ฐ Dangling Pointer๊ฐ ๋ฐ์ํ ์ ์์
- ** Dangling Pointer : Pointer์ ์ฅ์์ “๋๋ ์ด์ ์๋ฌด๊ฒ๋ ๊ฐ๋ฆฌํค์ง ์๋ ํฌ์ธํฐ๊ฐ ๋์๊ตฌ๋!”
๐ General Graph Directory
- ํธ๋ฆฌ ๊ตฌ์กฐ์ Link๋ฅผ ์ถ๊ฐํด์ Cycle์ ํ์ฉํ๋ ๊ทธ๋ํ ๊ตฌ์กฐ
- ๋๋ ํ ๋ฆฌ์ ํ์ผ ๊ณต์ ์ ์์ ํ ์ตํต์ฑ์ด ์กด์ฌํจ
- ํ์ ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ๋จํ๊ณ , ํ์ผ/๋๋ ํ ๋ฆฌ๋ฅผ accessํ๊ธฐ ์ฌ์
- ์ฌ์ฉ๋์ง ์๋ ๋์คํฌ ๊ณต๊ฐ์ ๋์ฐพ๊ธฐ ์ํด Garbage Collector๊ฐ ํ์ํจ
- ๋ถํ์ํ ํ์ผ์ ์ ๊ฑฐํด์ ์ฌ์ฉ ๊ณต๊ฐ์ ๋๋ฆฌ๊ธฐ ์ํด์ Reference Counter๊ฐ ํ์ํจ
๐พ ๋์คํฌ ํ์ผ ํ ๋น
๐ ์ฐ์ ํ ๋น๊ณผ ๋ถ์ฐ์ ํ ๋น
1๏ธโฃ ํ์ผ ์์คํ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์์คํ ๊ณผ ์ ์ฌํจ.
์ ์ฒด ๋์คํฌ ๊ณต๊ฐ์ ๊ฐ์ ํฌ๊ธฐ๋ก ๋๋๊ณ , ๊ฐ ๊ณต๊ฐ์ ์ฃผ์๋ฅผ ๋ถ์ฌ์ ๊ด๋ฆฌํจ.
์ด ๋, ๊ฐ์ ํฌ๊ธฐ๋ก ๋๋ ๊ณต๊ฐ ํ๋๋ฅผ ๋ธ๋ก์ด๋ผํ๋ฉฐ, ํ ๋ธ๋ก์ ํฌ๊ธฐ๋ 1~8KB์
2๏ธโฃ ์ผ๋ฐ์ ์ผ๋ก ํ๋์ ํ์ผ์ ์ฌ๋ฌ ๊ฐ์ ๋ธ๋ก์ผ๋ก ์ฌ์ฉํ๋๋ฐ, ์ฌ๋ฌ ๊ฐ์ ๋ธ๋ก์ ์ด๋ป๊ฒ ์ฐ๊ฒฐํ๋์ง์ ๋ฐ๋ผ ์ฐ์ ํ ๋น๊ณผ ๋ถ์ฐ์ ํ ๋น ๋ฐฉ์์ผ๋ก ๊ตฌ๋ถ๋จ
3๏ธโฃ ์ฐ์ ํ ๋น : ์ฐ์ ํ ๋น์ ํ์ผ์ ๊ตฌ์ฑํ๋ ๋ฐ์ดํฐ๋ฅผ ๋์คํฌ์์ ์ฐ์์ ์ผ๋ก ๋ฐฐ์ดํ๋ ๋ฐฉ์. ํ์ผ์ ์ ์ฅํ๊ฑฐ๋ ์ญ์ ํ๋ค ๋ณด๋ฉด ๋น ๊ณต๊ฐ์ด ์๊ธฐ๋๋ฐ, ๋์คํฌ์ ๋จ์ ๊ณต๊ฐ ์ค ํ์ผ์ ํฌ๊ธฐ์ ๋ง๋ ์ฐ์๋ ๊ณต๊ฐ์ด ์์ ๋๋ ์ฐ์ ํ ๋น์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก ์ฌ์ฉ๋์ง ์์
4๏ธโฃ ๋ถ์ฐ์ ํ ๋น : ๋ถ์ฐ์ ํ ๋น์ ๋น์ด ์๋ ๋ธ๋ก์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฐํ์ฌ ์ ์ฅํ๊ณ , ์ด์ ๋ํ ์ ๋ณด๋ฅผ ํ์ผ ์์คํ ์ด ๊ด๋ฆฌํ๋ ๋ฐฉ์ (Ex. ์ฐ๊ฒฐํ ๋น, ์ธ๋ฑ์ค ํ ๋น๋ฐฉ์)
๐ ์ฐ๊ฒฐ ํ ๋น(Linked Allocation)
- ํ์ผ์ ์ํ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ก ๊ด๋ฆฌํ๋ ๋ฐฉ์
- ํ์ผ ํ ์ด๋ธ์๋ ์์ ๋ธ๋ก์ ๋ํ ์ ๋ณด๋ง ์ ์ฅํ๊ณ , ๋๋จธ์ง ๋ฐ์ดํฐ๋ ์์ ๋ธ๋ก๋ถํฐ ์ฐ๊ฒฐํ์ฌ ์ ์ฅํจ
- ํ์ผ์ ๋งจ ๋์๋ ๋งํฌ ๋์ NULL์ ์ฝ์ ํจ.
- ์ฒด์ธ ํ ๋น์ด๋ผ๊ณ ๋ ํจ
- ์๋์ฐ์ FAT๊ฐ ์ฐ๊ฒฐ ํ ๋น ๋ฐฉ์์ผ๋ก ๊ด๋ฆฌ๋จ
- ํ๋์ ํํฐ์ ์ด ์ฌ์ฉํ ์ ์๋ ๋์คํฌ ์ฉ๋์ด ํ ์ด๋ธ์ ์ฃผ์ ํฌ๊ธฐ๋ก ์ ํ๋๋ค๋ ๋จ์
๐ ์ธ๋ฑ์ค ํ ๋น(Index Allocation)
- ์ธ๋ฑ์ค ํ ๋น ๋ฐฉ์์์๋ ํ ์ด๋ธ์ ๋ธ๋ก ํฌ์ธํฐ๊ฐ ๋ฐ์ดํฐ ๋ธ๋ก์ ์ฐ๊ฒฐํ๋ ๊ฒ์ด ์๋๋ผ, ๋ฐ์ดํฐ์ ์ธ๋ฑ์ค๋ฅผ ๋ด๊ณ ์๋ ์ธ๋ฑ์ค ๋ธ๋ก์ ์ฐ๊ฒฐํจ
- ์ธ๋ฑ์ค ๋ธ๋ก์ ์ค์ ๋ฐ์ดํฐ์ ์์น์ ๊ดํ ์ ๋ณด๋ฅผ ์์๋๋ก ๋ณด๊ดํ๊ณ ์์
๐ ๋์คํฌ ๋น ๊ณต๊ฐ ๊ด๋ฆฌ
1๏ธโฃ ๋ธ๋ก ํ๋์ ํฌ๊ธฐ๋ฅผ ํฌ๊ฒ ์ก์ผ๋ฉด
→ ์ ์ ์ฃผ์๋ก ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์์ง๋ง ๋ญ๋น๋๋ ๊ณต๊ฐ์ด ์๊ธฐ๊ณ ,
๋ธ๋ก ํ๋์ ํฌ๊ธฐ๋ฅผ ์๊ฒ ์ก์ผ๋ฉด
→ ๋ง์ ์์ ๋ธ๋ก ํฌ์ธํฐ๊ฐ ํ์ํจ
2๏ธโฃ ๋จํธํ์ ์ํด ๋ฐ์๋ ๋ธ๋ก์ ๋น๊ณต๊ฐ์, ๋์คํฌ์ ํ์ผ์ ์ ์ฅํ ๋๋ง๋ค ๋ชจ๋ ํ ์ด๋ธ์ ๋ค ๋ค์ ธ์ ์ฐพ๋ ๊ฒ์ ๋นํจ์จ์ ์
3๏ธโฃ ๋ด๋ถ ๋จํธํ๋ฅผ ์ค์ด๊ณ ๋น ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ํ์ผ ์์คํ ์ ๋น ๋ธ๋ก์ ์ ๋ณด๋ง ๋ชจ์๋์ ๋น ๊ณต๊ฐ ๋ฆฌ์คํธ(Free Block List)๋ฅผ ์ ์งํจ
4๏ธโฃ ๋ธ๋ก์ ๋ด์ฉ์ ์ง์ฐ์ง ์๊ณ , ๋น ๊ณต๊ฐ ๋ฆฌ์คํธ์ ์ฝ์ ํ๋ ๊ฒ์ ํด๋น ๋ธ๋ก์ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ๋ฎ์ด์ฐ์ง ์๋ ํ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ ์ ์๋ ์ฌ์ง๋ฅผ ๋จ๊น
์ฐธ๊ณ ์๋ฃ
'CS > OS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS] ๋ฉ๋ชจ๋ฆฌ(Memory) (0) | 2024.03.02 |
---|---|
[CS] ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ (0) | 2024.03.01 |
[CS] ํ์ด์ง๊ณผ ์ธ๊ทธ๋ฉํ ์ด์ (0) | 2024.03.01 |
[CS] ์ธ๋งํฌ์ด(Semaphore) & ๋ฎคํ ์ค(Mutex) (0) | 2024.02.25 |
[CS] ๊ฒฝ์ ์ํ(Race Condition) (0) | 2024.02.25 |