๋‚˜๋งŒ์˜ ์˜ค๋ž˜๋‹ฌ๋ฆฌ๊ธฐ๋ฅผ ํ•˜๋Š” ์‚ฌ๋žŒ

Become a ghost

Computer Science/Operating system ์šด์˜์ฒด์ œ

[250331] ์šด์˜์ฒด์ œ ๊ธฐ์–ต์žฅ์น˜ ๊ด€๋ฆฌ

jennnnna 2025. 4. 2. 01:39

 

๊ฐœ์š” 

- ์ดˆ๊ธฐ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ์ฃผ๊ธฐ์–ต์žฅ์น˜(main memory) ๋Š” ๋น„์‹ผ ์žฅ๋น„์˜€๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ ์ธ ์‚ฌ์šฉ, ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋…ธ๋ ฅ์ด ๊ณ„์† ๋˜์—ˆ๋‹ค. 

- ์ฃผ๊ธฐ์–ต ์žฅ์น˜์—๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ง์ ‘ ์‹คํ–‰๋˜๊ณ  ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•˜๋Š” ๋Œ€์ƒ์ด๊ธฐ ๋•Œ๋ฌธ. 

- ๊ทธ๋Ÿฌ๋‚˜ ์ฃผ๊ธฐ์–ต์žฅ์น˜ ์šฉ๋Ÿ‰์€ ์ œํ•œ๋˜์–ด ์žˆ๊ณ , ๋น„์‹ธ๋‹ค. ์ด์— ์ƒ๋Œ€์ ์œผ๋กœ ์ €๋ ดํ•˜๊ณ  ์šฉ๋Ÿ‰์ด ํฐ ์ž๊ธฐํ…Œ์ด๋ธŒ, ํ•˜๋“œ ๋””์Šคํฌ, ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ์˜ ๋ณด์กฐ ๊ธฐ์–ต ์žฅ์น˜๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค. 

- ์ฃผ๊ธฐ์–ต์žฅ์น˜๋ฅผ ์ตœ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋„๋ก ๊ตฌ์„ฑ, ๊ด€๋ฆฌํ•˜๋˜ ์ดˆ๊ธฐ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ๋ถ€ํ„ฐ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ์ด๋ฅด๊ธฐ ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ๊ธฐ๋ฒ•์ด ๋ฐœ์ „๋˜์–ด์™”๋‹ค. 

 

์ดˆ์ฐฝ๊ธฐ: ๋‹จ์ผ ์‚ฌ์šฉ์ž ์ „์šฉ ์‹œ์Šคํ…œ

์ค‘๊ธฐ: ์‹ค๊ธฐ์–ต์žฅ์น˜ ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ 

์ดํ›„: ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ 

 

์— ์ด๋ฅด๊ธฐ ๊นŒ์ง€ ๋ฐœ์ „ํ•ด์˜จ ๋‚ด์šฉ์„ ์•„๋ž˜ ์งง๊ฒŒ ์ •๋ฆฌํ•˜๊ฒ ๋‹ค. 

 

 

๋จผ์ € ๊ด€๋ จ ๊ฐœ๋…๋ถ€ํ„ฐ ๋ช‡๊ฐ€์ง€ ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค. 

 

์ฃผ์†Œ ๋ฐ”์ธ๋”ฉ & ๋…ผ๋ฆฌ์  ์ฃผ์†Œ & ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ 

- ๋””์Šคํฌ์— ์ด์ง„ ํŒŒ์ผ ํ˜•ํƒœ๋กœ ์ €์žฅ๋œ ํ”„๋กœ๊ทธ๋žจ์€ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๊ธฐ์–ต ์žฅ์น˜์— ์ ์žฌ๋˜์–ด์„œ 'ํ”„๋กœ์„ธ์Šค'๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค. 

- ์ด๋•Œ ์ฃผ๊ธฐ์–ต ์žฅ์น˜์— ์ ์žฌ ๋˜๋ฉด RAM ์ƒ์—์„œ์˜ '๋ฌผ๋ฆฌ์  ์ฃผ์†Œ(physical address)'๊ฐ€ ์ƒ๊ธด๋‹ค. 

- ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์€ ์ด๋ฅผ ๋ณ€์ˆ˜๋กœ ํ‘œํ˜„ํ•œ '๋…ผ๋ฆฌ์  ์ฃผ์†Œ(logical address)' ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. cpu ๊ฐ€ ๋งŒ๋“œ๋Š” ์ฃผ์†Œ์ž„. ex. 0x0040 

- ์—ฌ๊ธฐ์„œ ๋ณด์กฐ ์žฅ์น˜์ธ ๋””์Šคํฌ ์ƒ์—์„œ์˜ ์ฃผ์†Œ๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค. ๊ทธ๋ƒฅ ์ €์žฅ์†Œ์ผ๋ฟ.  ํ”„๋กœ๊ทธ๋žจ์ด '์‹คํ–‰'๋˜๊ธฐ ์ „๊นŒ์ง„ '๋‹จ์ˆœํ•œ ํŒŒ์ผ' ์ƒํƒœ์ž„. 

- CPU ๋Š” '๋ฌผ๋ฆฌ์  ์ฃผ์†Œ'์—๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ธฐ ํ”„๋กœ์„ธ์Šค์˜ ๋…ผ๋ฆฌ์  ์ฃผ์†Œ๋กœ๋Š” RAM ์•ˆ์—์„œ์˜ ์ •ํ™•ํ•œ ์œ„์น˜๋ฅผ ์•Œ ์ˆ˜ ์—†๊ณ  ๋…ผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…์ด ์ฃผ์†Œ ๋ฐ”์ธ๋”ฉ (address binding) ์ด๋‹ค. 

 

์ฃผ์†Œ ๋ฐ”์ธ๋”ฉ์ด ๋ฐœ์ƒ๋˜๋Š” ์‹œ์ ์€ ์•„๋ž˜ 3๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. 

(1) ์ปดํŒŒ์ผ ์‹œ์ : ์ปดํŒŒ์ผ ํ• ๋•Œ ๊ฒฐ์ •๋˜๋ฉฐ ์ ์žฌ๋  ๋ฉ”๋ชจ๋ฆฌ์˜ ์œ„์น˜๋ฅผ ๋ฏธ๋ฆฌ ์•„๋Š” ๊ฒฝ์šฐ์— ๋ฐœ์ƒ. ์ž˜ ์‚ฌ์šฉ ์•ˆํ•œ๋‹ค๊ณ  ํ•จ. 

(2) ์ ์žฌ ์‹œ์ : ๋ฏธ๋ฆฌ ์œ„์น˜๋ฅผ ๋ชจ๋ฅด๋ฉด, ์ผ๋‹จ ์ด์ง„ ์ฝ”๋“œ๋ฅผ ์žฌ๋ฐฐ์น˜ ๊ฐ€๋Šฅ ์ฝ”๋“œ๋กœ ๋งŒ๋“ค๊ณ , ๊ธฐ์–ต์žฅ์น˜์— ์ ์žฌ๋˜๋Š” ์ˆœ๊ฐ„ ์ ์žฌ๊ธฐ(loader)์— ์˜ํ•ด ์ด๋ค„์ง„๋‹ค. 

(3) ์‹คํ–‰ ์‹œ์ : ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ์ค‘์— ์ฃผ์†Œ๊ฐ€ ๋ฐ”๋€Œ๋ฉด (์„ธ๊ทธ๋จผํŠธ์—์„œ ์„ธ๊ทธ๋จผํŠธ๋กœ ์ด๋™) ์ฃผ์†Œ ๋ฐ”์ธ๋”ฉ์ด ์ด๋ค„์ง„๋‹ค. (๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ, paging ๋“ฑ), ๋…ผ๋ฆฌ์  ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๊ฐ€ ๋‹ค๋ฅด๋‹ค. MMU(Memory Management Unit) ์ด ์ˆ˜ํ–‰ํ•œ๋‹ค. 

 

๋Œ€๋ถ€๋ถ„์˜ OS ์—์„œ๋Š” ์‹คํ–‰์‹œ ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ด๋•Œ '์žฌ๋ฐฐ์น˜ ๋ ˆ์ง€์Šคํ„ฐ'๊ฐ€ ๋…ผ๋ฆฌ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ (๋…ผ๋ฆฌ์ฃผ์†Œ ๋”ํ•˜๊ธฐ ๋ฌผ๋ฆฌ์ฃผ์†Œ๋ฅผ ํ•ด์คŒ )ํ•จ ! 

=> ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์ด์ „์— ์‚ฌ์šฉ๋œ ๊ธฐ๋ณธ๋ชจ๋ธ. 

=> ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์—†๋Š” ํ™˜๊ฒฝ์ด๋‚˜ ๋‹จ์ˆœํ•œ os ๊ตฌ์กฐ์—์„œ ์‚ฌ์šฉ. 

 

 

 

๊ธฐ์–ต์žฅ์น˜์˜ ๊ณ„์ธต ๊ตฌ์กฐ ๋ฐ ๊ด€๋ฆฌ ๊ธฐ๋ฒ• 

๊ธฐ์–ต์žฅ์น˜์˜ ๊ณ„์ธต ๊ตฌ์กฐ

์ฃผ๊ธฐ์–ต ์žฅ์น˜(RAM) - ๋ณด์กฐ๊ธฐ์–ต ์žฅ์น˜ (ํ•˜๋“œ ๋””์Šคํฌ, CD-ROM ๋“ฑ)

- ํ”„๋กœ๊ทธ๋žจ๋“ค๊ณผ ๋ฐ์ดํ„ฐ๋Š” ๊ธฐ์–ต์žฅ์น˜ ๊ณ„์ธต์‚ฌ์ด๋ฅผ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์™•๋ณตํ•˜๋ฉด์„œ ์ˆ˜ํ–‰๋จ. 

- cpu ์˜ ๋‚ญ๋น„๋กœ ์ด์–ด์ง. 

- ๋”ฐ๋ผ์„œ ์บ์‹œ(cache) ์™€ ๊ฐ™์€ ๋ถ€๊ฐ€์ ์ธ ๋‹จ๊ณ„๋ฅผ ์ถ”๊ฐ€ํ•จ 

- ์ฃผ๊ธฐ์–ต์žฅ์น˜๋ณด๋‹ค ์ ‘๊ทผ ์†๋„๊ฐ€ ํ›จ์”ฌ ๋น ๋ฅด๋‹ค. 

- ๋น„๋ก ์™•๋ณต ๋‹จ๊ณ„๊ฐ€ ํ•œ๊ฐœ ๋Š˜์–ด๋‚ฌ์ง€๋งŒ, ๊ณ ์†๋„๋กœ ๋ฐ์ดํ„ฐ, ํ”„๋กœ๊ทธ๋žจ์„ ์˜ฎ๊น€์œผ๋กœ์จ ram ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ์ผํ•จ. 

- ์ด๋ฅผ ์˜ค๋ฒ„ํ—ค๋“œ ์ทจ๊ธ‰ํ•˜๊ธฐ์—” ์„ฑ๋Šฅ ๊ตฟ. 

- cpu ๋‚ด๋ถ€์—๋Š” ๋ ˆ์ง€์Šคํ„ฐ ๋ผ๋Š” ๊ธฐ์–ต ์žฅ์น˜๊ฐ€ ์žˆ๋‹ค. cpu๊ฐ€ ๋ช…๋ น์–ด ์‹คํ–‰ํ•˜๋ฉด ์ฆ‰๊ฐ์ ์œผ๋กœ ์‹คํ–‰๋จ. ์บ์‹œ๋‚˜ ๋žจ๊นŒ์ง€ ๊ฐ€๋Š” ๊ฒƒ๋„ ๋Š๋ ค์„œ ์กด์žฌํ•˜๋Š” ์žฅ์น˜. 

 

 

๊ด€๋ฆฌ ๊ธฐ๋ฒ• 

1) ์ธ์ถœ ๊ธฐ๋ฒ• (fetch) : ์ฃผ๊ธฐ์–ต ์žฅ์น˜์— ์ ์žฌํ•  ๋‹ค์Œ ํ”„๋กœ๊ทธ๋žจ, ๋ฐ์ดํ„ฐ๋ฅผ ์–ธ์ œ ๊ฐ€์ ธ์˜ฌ๊ฒƒ์ธ๊ฐ€ ? 

- ์š”๊ตฌ ์ธ์ถœ: ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ์— ์˜ํ•ด ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ฐธ์กฐ๋˜๋Š” ์ˆœ๊ฐ„ ์ฃผ๊ธฐ์–ต์žฅ์น˜๋กœ ์˜ฎ๊น€. ์–ธ์ œ ์–ด๋””์„œ ๋ถ„๊ธฐjump ๋ ์ง€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ

- ์˜ˆ์ƒ ์ธ์ถœ : ์•ž์œผ๋กœ ์š”๊ตฌ๋  ๊ฐ€๋Šฅ์„ฑ์ด ํฐ ๋ฐ์ดํ„ฐ, ํ”„๋กœ๊ทธ๋žจ์„ ์ฃผ๊ธฐ์–ต์žฅ์น˜๋กœ ์˜ฎ๊น€

 

2) ๋ฐฐ์น˜ ๊ธฐ๋ฒ• (placement) : ๋ณด์กฐ๊ธฐ์–ต ์žฅ์น˜์—์„œ RAM์œผ๋กœ ๋ถˆ๋ ค์˜จ(์ธ์ถœ=fetch) ๋ฐ์ดํ„ฐ๋‚˜ ํ”„๋กœ๊ทธ๋žจ์„ ์ฃผ๊ธฐ์–ต์žฅ์น˜ ์–ด๋””์— ์œ„์น˜์‹œํ‚ฌ๊ฒƒ์ธ๊ฐ€ ์ •ํ•˜๋Š” ๊ธฐ๋ฒ•. (first, best, worst) ๋กœ ๋‚˜๋‰จ. 

 

3) ๊ต์ฒด ๊ธฐ๋ฒ• (replacement): ์ƒˆ๋กœ fetch ๋œ ๋ฐ์ดํ„ฐ๋‚˜ ํ”„๋กœ๊ทธ๋žจ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ram ์—์„œ ์ œ๊ฑฐํ•  ๊ฒƒ์ธ๊ฐ€ ๊ฒฐ์ •ํ•˜๋Š” ๊ธฐ๋ฒ•. 

 

 

์ž, ์ด์ œ ์ดˆ๊ธฐ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ์˜ ๊ธฐ์–ต์žฅ์น˜ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• ๋ณ€ํ™”๋ฅผ ์‚ดํŽด๋ณด์ž. ๋ณธ๊ฒฉ์ ์œผ๋กœ. 

 

 

์ฒซ๋ฒˆ์งธ, ๋‹จ์ผ ์‚ฌ์šฉ์ž ์—ฐ์† ๊ธฐ์–ต์žฅ์น˜ ํ• ๋‹น 

- ์ดˆ๊ธฐ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์€ ์ž„์˜์˜ ์‹œ๊ฐ„์— ํ•œ ์‚ฌ์šฉ์ž๋งŒ์ด ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋„๋ก ํ—ˆ๋ฝํ–ˆ๋‹ค. 

- ๋„์Šค(dos) ์‹œ๋Œ€ ๊ฐ™์€ ๋‹จ์ˆœํ•œ os ๋ชจ๋ธ ๋•Œ์˜ ์ด์•ผ๊ธฐ. 

- ์‚ฌ์šฉ์ž๋Š” ๋ชจ๋“  ์‹œ์Šคํ…œ์„ ๋ง˜๋Œ€๋กœ ์‚ฌ์šฉํ•จ. 

- root ์œ ์ € ๋“ฑ์˜ ์‚ฌ์šฉ์ž ๊ถŒํ•œ ๊ตฌ๋ถ„์ด๋ž‘์€ ์ƒ๊ด€์—†์Œ.  

- ์šด์˜์ฒด์ œ ์ž์ฒด๊ฐ€ ํ•œ ๋ช…๋งŒ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ์„ค๊ณ„๋œ ๊ตฌ์กฐ. 

 

- ์˜ค๋ฒ„๋ ˆ์ด: ํฐ ํ”„๋กœ๊ทธ๋žจ์„ ์—ฌ๋Ÿฌ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ ์„œ, ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋””์Šคํฌ์— ๋‚จ๊ฒจ๋‘๋Š” ๊ธฐ๋ฒ•

- ์‹œ์Šคํ…œ ๋ณดํ˜ธ: ์šด์˜์ฒด์ œ๊ฐ€ ์‹œ์Šคํ…œ ์ž์›(๋ฉ”๋ชจ๋ฆฌ, CPU, ํŒŒ์ผ ๋“ฑ)์„ ์ž˜๋ชป๋œ ์ ‘๊ทผ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋Š” ๊ธฐ๋Šฅ

- ๊ฒฝ๊ณ„ ๋ ˆ์ง€์Šคํ„ฐ: ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•ด์ฃผ๋Š” ๋ ˆ์ง€์Šคํ„ฐ. ์„œ๋กœ์˜ ๋ฉ”๋ชจ๋ฆฌ ์นจ๋ฒ”์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ๊ธฐ๋ฒ•์˜ ์ถœ๋ฐœ์ . 

 

 

 

๋‘๋ฒˆ์งธ, ๊ณ ์ • ๋ถ„ํ•  (fixed partition) ๊ธฐ์–ต ์žฅ์น˜ ํ• ๋‹น 

- ๋‹จ์ผ ์‚ฌ์šฉ์ž ์ฒด์ œ์—์„œ๋Š” cpu ์˜ ์œ ํœด ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๊ณ  ์ž์› ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•ด์ง. 

- ์ด์— ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์Šคํ…œ์ด ๊ตฌํ˜„๋จ.

- ์‹ค์ œ๋กœ ๋™์‹œ์— ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ  ๋น ๋ฅด๊ฒŒ ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์„ ์˜ฎ๊ฒจ๋‹ค๋‹ˆ๋ฉด์„œ ์ž‘์—…ํ•˜๋Š”๊ฑฐ์ž„. 

- cpu ๋ฅผ ๊ณ ์ • ํฌ๊ธฐ๋กœ ๋ถ„ํ• ํ•ด, ์‹คํ–‰ ์ค‘์ธ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ํ• ๋‹น.  

- ๋ถ„ํ• (partition) : ํ•˜๋‚˜์˜ ๋‹จ์ผ ์ž‘์—…์ด ์ ์žฌ๋  ์ˆ˜ ์žˆ๋Š” ์ผ์ •ํ•œ ํฌ๊ธฐ์˜ ๊ธฐ์–ต์žฅ์น˜ ์˜์—ญ. 

 

 

์„ธ๋ฒˆ์งธ, ๊ฐ€๋ณ€ ๋ถ„ํ•  (variable partition)๊ธฐ์–ต ์žฅ์น˜ ํ• ๋‹น 

- ๊ณ ์ • ๋ถ„ํ• ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณ ์ •๋œ ํฌ๊ธฐ๋กœ ๋ชจ๋‘์—๊ฒŒ ์ผ์ •ํ•˜๊ฒŒ ๋‚˜๋ˆ ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ ์ด์ง€ ๋ชปํ–ˆ์—ˆ๋‹ค. 
- ์ด์— ๋Œ€ํ•ด ๋™์ (dynamic) ์œผ๋กœ ๊ธฐ์–ต์žฅ์น˜๋ฅผ ๋ถ„ํ• ํ•˜๋Š” ๊ฐ€๋ณ€๋ถ„ํ• ์ด ๊ณ ์•ˆ๋จ. 

- ์ด๋Š” ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์–‘์ด ๊ฒฐ์ •๋˜์—ˆ์„๋•Œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ์‹์ž„. 

- ๊ทธ๋Ÿฌ๋‚˜ ๋ฏธ๋ฆฌ ํ• ๋‹นํ•  ์ˆ˜ ์—†์–ด์„œ ์‹œ๊ฐ„์ด ์ง€๋‚ ์ˆ˜๋ก ์—ฌ๊ธฐ์ €๊ธฐ ๋นˆ๊ณต๊ฐ„์ด ์ƒ๊น€. 

- ํ•„์š”ํ•œ ํฌ๊ธฐ์˜ ์—ฐ์†๋œ ๊ณต๊ฐ„์ด ์—†์–ด์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋Š”๋ฐ ์ด๋ฅผ ์™ธ๋ถ€ ๋‹จํŽธํ™”. ๋ผ๊ณ  ํ•จ. = ์“ธ ์ˆ˜ ์—†๋Š” ์• ๋งคํ•œ ํฌ๊ธฐ ๋นˆ๊ณต๊ฐ„์ด ์ƒ๊ธด๊ฒƒ. 

 

 

Q. ์—ฐ์†๋œ ๊ณต๊ฐ„์ด์–ด์•ผ๋งŒ ์“ธ ์ˆ˜ ์žˆ๋Š”๊ฐ€?

A. yes.

ํ”„๋กœ์„ธ์Šค ํ•˜๋‚˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์— ์ชผ๊ฐœ์ง€์ง€ ์•Š๊ณ  ํ•œ๋ฉ์–ด๋ฆฌ๋กœ ์ ์žฌ๋จ. ์ด๊ฒŒ ๋ฐ”๋กœ ๋‹จํŽธํ™”๊ฐ€ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ์ด์œ . ๊ณ ์ •๋ถ„ํ• ์—์„œ๋Š” ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์— ๊ฐ™์€ ํฌ๊ธฐ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ์žฌํ•˜๋‹ˆ๊นŒ ๋‹จํŽธํ™”๊ฐ€ ์ƒ๊ธฐ๋”๋ผ๋„ ์˜ˆ์ธก์ด ๊ฐ€๋Šฅํ•จ. ๋˜ํ•œ ๋ฉ”๋ชจ๋ฆฌ 100 ์•ˆ์— ๋“ค์–ด์žˆ๋Š” 60์งœ๋ฆฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด 100์ด ์ƒ๊ธฐ๋‹ˆ 70,80,90 ๋“ฑ ์ ์žฌ๊ฐ€๋Šฅ. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€๋ณ€๋ถ„ํ• ์—์„œ๋Š” 60๋งŒํผ ํ• ๋‹น๋˜์—ˆ์„๋•Œ ์ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด 60 ์ดํ•˜์˜ ํ”„๋กœ์„ธ์Šค๋งŒ ๋‹ค์‹œ ๋ผ์›Œ๋„ฃ์„ ์ˆ˜ ์žˆ์Œ. 

 

 

์™ธ๋ถ€ ๋‹จํŽธํ™” vs ๋‚ด๋ถ€ ๋‹จํŽธํ™” 

์™ธ๋ถ€: ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋ก ์™ธ๋ถ€, ์ „์ฒด ๊ณต๊ฐ„ ์‚ฌ์ด์‚ฌ์ด์— ๋ฐœ์ƒํ•จ. ๊ฐ€๋ณ€๋ถ„ํ• ๋กœ ์žํˆฌ๋ฆฌ ๊ณต๊ฐ„์ด ์—ฐ์†์ ์ด์ง€ ์•Š์•„์„œ ์ƒˆ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†์„๋•Œ. ์ƒ๊น€. / ํ•ด๊ฒฐ๋ฐฉ๋ฒ•: ํŽ˜์ด์ง• ๋˜๋Š” ์••์ถ•, ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜, ํ•ฉ๋ณ‘. 

๋‚ด๋ถ€: ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋ก ๋‚ด๋ถ€์—์„œ ๋ฐœ์ƒ๋จ. ๊ณ ์ • ๋ถ„ํ• ๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋ก ๋‚ด๋ถ€์— ์ƒ๊ธฐ๋Š” ๋‹จํŽธํ™”. / ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: ๋” ์ž‘์€ ๋ธ”๋ก ํฌ๊ธฐ ์„ค์ •. 

 

 

๊ณต๊ฐ„ ๋‚ญ๋น„ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• 2๊ฐ€์ง€ 

 

(1) ๊ณต๋ฐฑ์˜ ํ•ฉ๋ณ‘ (coalescing holes)

- ๊ณต๋ฐฑhole ๋ฐœ์ƒ์‹œ, ๋‹ค๋ฅธ ๊ธฐ์–ต ๊ณต๊ฐ„๊ณผ ์ธ์ ‘๋˜์–ด ์žˆ๋Š”์ง€ ์ ๊ฒ€. 

- ๋นˆ ๊ธฐ์–ต์žฅ์†Œ ๋ฆฌ์ŠคํŠธ์— ๊ธฐ๋กํ•˜๊ฑฐ๋‚˜, '์ธ์ ‘ํ•œ' ๊ณต๋ฐฑ๋ผ๋ฆฌ๋Š” ํ•ฉ๋ณ‘ํ•˜์—ฌ ํ•˜๋‚˜์˜ ๊ณต๋ฐฑ์œผ๋กœ ๊ธฐ๋กํ•จ. 

 

Q. ์™œ ์ธ์ ‘ํ•œ ๊ฒฝ์šฐ์—๋งŒ ๊ฐ€๋Šฅํ• ๊นŒ?

A. OS ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฃผ์†Œ ์ˆœ์„œ๋Œ€๋กœ ์—ฐ์†๋œ ๊ณต๊ฐ„์œผ๋กœ ๋ณธ๋‹ค. ๊ทธ๋ž˜์„œ ํ•ฉ์น˜๋ ค๋ฉด ์ฃผ์†Œ์ ์œผ๋กœ ์ด์–ด์ ธ์žˆ์–ด์•ผ ํ•จ. 

๋–จ์–ด์ ธ์žˆ๋Š” ๊ณต๋ฐฑ์€? ๋ชปํ•ฉ์นจ -> ์ด๋•Œ์—๋Š” "์••์ถ•" ํ•ด์•ผํ•จ. 

 

(2) ์••์ถ• (compaction)

- ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ๊ณต๊ฐ„(ํ”„๋กœ์„ธ์Šค๋“ค)์„ ํ•œ์ชฝ์œผ๋กœ ์—ฐ์†๋˜๊ฒŒ ์ด๋™์‹œ์ผœ์„œ ํฉ์–ด์ง„ ๊ณต๋ฐฑ๋“ค์„ ํ•œ๋ฐ ๋ชจ์œผ๋Š” ์ž‘์—…

- ์ด  ๊ณผ์ •์—์„œ ์‚ฌ์šฉ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์Œ

-  ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ์ฃผ์†Œ๊ฐ€ ๋” ์ž‘์€ ์ชฝ(๋‚ฎ์€ ์ฃผ์†Œ ๋ฐฉํ–ฅ) ์œผ๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹น๊ธฐ๊ณ , ๊ณต๋ฐฑ์€ ๋†’์€ ์ฃผ์†Œ ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ€๋ ค๋‚จ

 

chat gpt ์ƒ์„ฑ ์ด๋ฏธ์ง€

 

 

๊ธฐ์–ต์žฅ์น˜ ๋ฐฐ์น˜ ๊ธฐ๋ฒ• 

๊ธฐ๋ฒ• ์„ค๋ช… ์žฅ์  ๋‹จ์ 
์ตœ์ดˆ ์ ํ•ฉ (First Fit) ๊ฐ€์žฅ ์•ž์—์„œ๋ถ€ํ„ฐ ํ›‘์–ด๋ณด๋‹ค๊ฐ€ ์ฒ˜์Œ ๋งž๋Š” ๊ณต๊ฐ„์— ๋ฐฐ์น˜ ๋น ๋ฅด๊ณ  ๋‹จ์ˆœ ์•ž์ชฝ์— ๋‹จํŽธํ™” ์ƒ๊ธฐ๊ธฐ ์‰ฌ์›€
์ตœ์  ์ ํ•ฉ (Best Fit) ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„ ์ค‘์—์„œ ๋”ฑ ๋งž๋Š” ์ตœ์†Œ ๊ณต๊ฐ„ ์„ ํƒ ๊ณต๊ฐ„ ๋‚ญ๋น„ ์ตœ์†Œํ™” ๊ฒ€์ƒ‰ ์‹œ๊ฐ„ ์˜ค๋ž˜ ๊ฑธ๋ฆผ, ์™ธ๋ถ€ ๋‹จํŽธํ™” ์œ ๋ฐœ
์ตœ์•… ์ ํ•ฉ (Worst Fit) ๊ฐ€์žฅ ํฐ ๊ณต๊ฐ„์— ๋ฐฐ์น˜ํ•ด์„œ, ๋‚˜๋จธ์ง€ ๊ณต๊ฐ„์„ ํฌ๊ฒŒ ๋‚จ๊ฒจ๋ณด์ž ํฐ ๊ณต๊ฐ„ ์œ ์ง€ ๊ฐ€๋Šฅ ๋น„ํšจ์œจ์  ๋ฐฐ์น˜ ๋งŽ๊ณ  ๋‹จํŽธํ™” ํผ

 

- ์ž…๋ ฅ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ธฐ์–ต์žฅ์น˜ ์–ด๋Š๊ณณ์— ๋„ฃ์„๊ฒƒ์ธ๊ฐ€ ์— ๋Œ€ํ•œ ๋ฐฐ์น˜๊ธฐ๋ฒ•. 

- ์–ด๋””์— ๋ฐฐ์น˜ํ• ์ง€์— ๋”ฐ๋ผ ๋‹จํŽธํ™” ๋ฐœ์ƒ ์ •๋„๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Œ. 

 

๋„ค๋ฒˆ์งธ, ๊ธฐ์–ต ์žฅ์น˜ ๊ต์ฒด (swapping) 

- ๊ณผ๊ฑฐ์—๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ์žฌ๋˜๊ณ  ์ˆ˜ํ–‰ ์™„๋ฃŒ ๋ ๋•Œ๊นŒ์ง€ ์ฃผ๊ธฐ์–ต์žฅ์น˜ ๋‚ด์— ์ญ‰ ์ ์žฌ๋ผ ์žˆ์—ˆ๋‹ค. 

- ๊ทธ๋Ÿฌ๋‚˜ ๊ต์ฒดswapping ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด ์ž…์ถœ๋ ฅ, ์ธํ„ฐ๋ŸฝํŠธ ๋“ฑ์ด ๋ฐœ์ƒํ• ๋•Œ๊นŒ์ง€๋งŒ ๋‹จ์ผ ์‚ฌ์šฉ์ž ์ž‘์—…์ด ์ผ์ •์‹œ๊ฐ„๋™์•ˆ ์ฃผ๊ธฐ์–ต ์žฅ์น˜๋ฅผ ๋…์ ํ•˜๊ณ , ์ดํ›„ ์ œ๊ฑฐswap out ๋œ ํ›„, ๋‹ค์Œ ์ž‘์—…์ด ์ ์žฌ swap in ๋œ๋‹ค. 

- ์ œ๊ฑฐ๋œ ์ž‘์—…, ์ƒˆ๋กœ ์ ์žฌ๋  ์ž‘์—…์€ ๋””์Šคํฌ๋‚˜ ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ ๊ฐ™์€ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์— ๊ธฐ์–ต๋œ๋‹ค. 

- ํ†ต์ƒ์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์ž‘์—…(ํ”„๋กœ์„ธ์Šค)๋Š” ์ฃผ๊ธฐ์–ต์žฅ์น˜-๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜๋ฅผ ์™•๋ณตํ•˜๋ฉฐ "๊ต์ฒด" ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 

- ์ดˆ๊ธฐ ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ์ด ์‚ฌ์šฉํ•œ ๊ธฐ๋ฒ•์ด๋ฉฐ ์˜ค๋Š˜๋‚  ํŽ˜์ด์ง•paging์˜ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.