(1) ๊ฐ์
โถ Virtual Memory
- ์ฌ์ฉ์(Process)๋ ์ค์ ์ฃผ์ ๊ณต๊ฐ์ ํฌ๊ธฐ์ ๊ตฌ์ ๋ฐ์ง ์๊ณ ๋ณด๋ค ํฐ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์์์ ํ๋ก๊ทธ๋จ์ ์ํ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ํ๋์ ํ๋ก์ธ์ค ์ ์ฒด๊ฐ ํ ๋ฒ์ ์ฃผ๊ธฐ์ต์ฅ์น ๋ด์ ์กด์ฌํ์ง ์๊ณ ์ผ๋ถ๋ง ์์ด๋ ์ํ๋๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค.
- ์ฃผ๊ธฐ์ต์ฅ์น๋ณด๋ค ํฌ๊ธฐ๊ฐ ํฐ ํ๋ก์ธ์ค ์ํ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
- Virtual Memory : ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ์ง๋ค. (V.M์ด ํด์๋ก ์ฑ๋ฅ์ ์ ํ๋๊ณ , ๋์คํฌ ์์ ์กด์ฌํ๋ค.)
- Main Memory : ์ค์ ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ์ง๋ค.
- OS๋ V.M๊ณผ M.M ์ ์ฒด๋ฅผ ํ๋์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ธ์ํ๋ค.
- ์ ์ฒด ๋ฉ๋ชจ๋ฆฌ๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํฌํจํ๋ค.
- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ถ๊ฐ ๋์ด ๋ง์ ํ๋ก์ธ์ค๋ฅผ ์ํ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
- CPU ์
์ฅ์์๋ V.M(๋์คํฌ)๋ฅผ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ง์ ์ ๊ทผํ ์ ์๋ค.
- ์ ์ฒด ๋ฉ๋ชจ๋ฆฌ๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํฌํจํ๋ฏ๋ก CPU๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ๋ณด๊ณ ํ๋ก์ธ์ค๋ฅผ ์ํ์ํจ๋ค.
- ๊ทธ๋ฌ๋, ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ CPU๊ฐ ์ ๊ทผํ ์ ์๊ธฐ ๋๋ฌธ์ OS๋ ์ฌ๋นจ๋ฆฌ ํด๋น ํ๋ก์ธ์ค๋ฅผ ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ด๋์ํค๊ณ , ๋์ ์ฃผ์ ๋ณํ์ ํตํด CPU๊ฐ ์ํํ๊ณ ์๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก ๋ณํ์์ผ ํ๋ก์ธ์ค๋ฅผ ์ํํ๊ฒ ํ๋ค.
โถ Dynamic Address Translation
- ํ๋ก์ธ์ค๊ฐ ์ํ๋ ๋ ๊ฐ์์ฃผ์๊ฐ ์ค์ ์ฃผ์๋ก ๋ณํ๋๋ ๋ฉ์ปค๋์ฆ์ด๋ค.
- ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ฐธ์กฐํ๋ ์ฃผ์๋ฅผ Virtual Address๋ผ๊ณ ํ๋ฉฐ, ์ค์ ๋ฉ๋ชจ๋ฆฌ์์ ์ด์ฉํ ์ ์๋ ์ฃผ์๋ฅผ Real Address๋ผ๊ณ ํ๋ค.
- ์ธ์์ ์ฐ์์ฑ : ๊ฐ์์ฃผ์ ๊ณต๊ฐ์์ ์ฐ์๋ ์ฃผ์๋ค์ด ์ค๊ธฐ์ต ๊ณต๊ฐ์์ ๋ฐ๋์ ์ฐ์์ ์ผ ํ์๊ฐ ์๋ค.

์ค๊ฐ์ ๋งคํ ํ ์ด๋ธ(์ฌ์ ํ ์ด๋ธ)์ด ์ฃผ์๋ฅผ ๋งคํ์์ผ์ฃผ๋ ์ญํ ์ ํ๋๋ฐ, OS๊ฐ ์ฃผ์๋ฅผ ๊ธฐ์ตํ๊ณ ์์ด ์ด ์ฃผ์๋ฅผ CPU์๊ฒ ์๋ ค์ค๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ก์ธ๋ฅผ ์ฌ๋ฌ ๊ฐ์ block์ผ๋ก ๋๋๋ ๊ฒ์ด ํจ์จ์ฑ์ด ์ข๋ค.
- ๋์ ์ฃผ์ ๋ณํ์์๋ Block Mapping ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค.
- ์ด๋ ์ ๋ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง ๋ธ๋ก ๋จ์๋ก ๊ฐ์์ฃผ์์์ ์ค์ ์ฃผ์๋ก ํ๋ก๊ทธ๋จ์ด ์ด๋ํ๊ฒ ๋๋ ๊ฒ์ ๋งํ๋ค.
- ๊ฐ์์ฃผ์์ ์์นํ ํ๋ก๊ทธ๋จ์ ์ค์ ์ฃผ์๋ก Mapping์ byte๋จ์๋ก ์ํํ๋ค๋ฉด ๋งคํ ํ ์ด๋ธ์ ์ฌ์ด์ฆ๊ฐ ์ฆ๊ฐํด ๋นํจ์จ์ ์ด๋ค.
- ๋ธ๋ก ์ฌ์ ๊ธฐ๋ฒ์์๋ ๋ธ๋ก์ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก Paging๊ณผ Segment ๋ฐฉ๋ฒ์ผ๋ก ๋๋๋ค.
(2) Paging
- ๋์ผํ ํฌ๊ธฐ์ ๋ธ๋ก์ ์ด์ฉํ์ฌ ๊ฐ์์ฃผ์์ ์ค์ ์ฃผ์๋ฅผ ๋งคํํ๋ค.
- ์ด๋ค ๋ธ๋ก์ Page๋ผ๊ณ ํ๊ณ , Page๋ค๋ก ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ๋ค.
- ๊ฐ์ ์ฃผ์๋ฅผ ์์์ v=(p,d)๋ก ํํํ๋ค.
- p๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ด์์ ์ฐธ์กฐ๋ ํญ๋ชฉ์ด ์ํด ์๋ ํ์ด์ง ๋ฒํธ์ด๋ค.
- d๋ ํ์ด์ง p๋ด์์ ์ฐธ์กฐ๋ ํญ๋ชฉ์ด ์์นํ๊ณ ์๋ ๊ณณ์ ๋ณ์(offset)์ด๋ค.
- ๊ฐ์ ์ฃผ์๋ Page Mapping Table(ํ์ด์ง ์ฌ์ ํ
์ด๋ธ)์ ํตํด ์ค์ ์ฃผ์๋ฅผ ๊ณ์ฐํ๋ค.
- ๋์ ์ฃผ์ ๋ณํ ์ดํ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ค์ ์ฃผ์์ธ v=p'+d๋ฅผ ๊ตฌํ๋ค.
- ํ์ด์ง ์ฌ์ ํ
์ด๋ธ์ Page Residence Bit(ํ์ด์ง ์กด์ฌ ๋นํธ)๋ฅผ ๊ฐ์ง๋ค.
- M.M๋ด์ ํ์ด์ง๊ฐ ์กด์ฌํ ๋ '1', ์กด์ฌํ์ง ์์ ๋ '0'์ผ๋ก ํ์ํ๋ค.
1. Direct Mapping
- ์ฃผ๊ธฐ์ต์ฅ์น์ ์ ์ฅ๋์ด ์๋ ํ์ด์ง ์ฌ์ ํ ์ด๋ธ์ ์ด์ฉํ์ฌ ๋์ ์ฃผ์ ๋ณํ์ ์ํํ๋ค.
- ํ์ด์ง ์ฌ์ ํ ์ด๋ธ์ ์์์ฃผ์๋ ํ์ด์ง ์ฌ์ ํ ์ด๋ธ ์์ ๋ ์ง์คํฐ(OS๊ฐ ์ ์ฅ)์ ๋ณด๊ด๋์ด ์๋ค.
- ํ์ด์ง ์ฌ์ ํ
์ด๋ธ ๋ด์ ๋ด์ฉ ์ฐธ์กฐ(์ฝ๊ธฐ)๋ ํ ๋ฒ์ ์ฃผ๊ธฐ์ต์ฅ์น Cycle Time(์ฃผ๊ธฐ ์๊ฐ)๋ด์ ์ํ๋๋ค.

์ง์ ์ฌ์์์์ ํ์ด์ง ์ฌ์ ํ ์ด๋ธ์ ํ์ด์ง ๋ฒํธ๋ฅผ ์์ฐจ์ ์ผ๋ก ๊ฒ์ํ๋ค.
2. Associative Mapping
- ๋ณ๋์ Associative Memory(์ฐ๊ด ๊ธฐ์ต์ฅ์น-H/W)๋ฅผ ์ด์ฉํ์ฌ ํ์ด์ง ์ฌ์ ํ ์ด๋ธ ์ ์ฒด๋ฅผ ๊ด๋ฆฌํ๋ค.
- ์ฐ๊ด ๊ธฐ์ต์ฅ์น๋ ๋ณ๋ ฌ ๊ฒ์์ด ๊ฐ๋ฅํ๋ ๊ณ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ด๋ค.
- ์ ๋ ฅ๋๋ ๋ด์ฉ์ ํตํ์ฌ ์ง์ ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ๋ด์ฉ ๊ฒ์์ด ๊ฐ๋ฅํ๋ค.
- ์ง์ ์ฌ์ ๋ฐฉ๋ฒ์ ์ฃผ์ ๊ธฐ๋ฐ ๊ฒ์๋ณด๋ค ํจ์ฌ ๋น ๋ฅธ ๊ฒ์์ด ๊ฐ๋ฅํ๋ค.

์ง์ ์ฌ์์ ํ์ด์ง ๋ฒํธ๋ฅผ ์์ฐจ์ ์ผ๋ก ๊ฒ์ํ์ง๋ง ์ฐ๊ด ์ฌ์์ ํ๋ฒ์ ๊ฒ์ํด์ ์๋๊ฐ ๋น ๋ฅด๋ค.
3. Associative/Direct Mapping
- ์ฐ๊ด ์ฌ์ ๋ฐ ์ง์ ์ฌ์์ ์ฅ์ ์ ์ด๋ฆด ์ ์๋ ๋ณตํฉ ์ฃผ์ ๋ณํ ๊ธฐ๋ฒ์ด๋ค.
- ํ์ด์ง ์ฌ์ ํ ์ด๋ธ์ด ์ฃผ๊ธฐ์ต์ฅ์น์ ์ฐ๊ด๊ธฐ์ต์ฅ์น์ ๋๋ ์ ธ์ ๊ด๋ฆฌ๋๋ค.
- ๊ฐ์ฅ ์ต๊ทผ์ ์ฐธ์กฐ๋ ํ์ด์ง๋ ์กฐ๋ง๊ฐ ๋ค์ ์ฌ์ฉ๋๊ธฐ ์ฝ๋ค๋ ์ฌ์ค์ ์ด์ฉํ๋ค.
- ์ฐ๊ด๊ธฐ์ต์ฅ์น์ ํ์ด์ง ์ฌ์ ํ ์ด๋ธ์ ์ ์ฒด ํญ๋ชฉ ์ค ๊ฐ์ฅ ์ต๊ทผ์ ์ฐธ์กฐ๋ ์ผ๋ถ ํ์ด์ง ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค.

๊ฐ์ ์ฃผ์๋ฅผ ์ฐ๊ด ํ์ด์ง ์ฌ์ ํ ์ด๋ธ์์ ์ฐพ๊ณ , ์์ผ๋ฉด ์ง์ ์ฌ์ ํ ์ด๋ธ์์ ์ฐพ๋๋ค.
4. Share in Paging System
- ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ์์ ๊ณต์ ๊ฐ ๊ฐ๋ฅํ ํ์ด์ง๋ฅผ ๊ณต์ ํ๋ค.
- Ex) ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๋์ผ ํ๋ก๊ทธ๋จ ์ด์ฉ ์์ ํ๋ก๊ทธ๋จ ์์ฒด๋ฅผ ์ํ ํ์ด์ง๋ ๊ณต์ ํ์ฌ ์ฌ์ฉํ์ง๋ง, ๊ฐ ์ฌ์ฉ์๊ฐ ์ด์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ์ํ ํ์ด์ง๋ ๋ณ๋๋ก ์ฌ์ฉํ๋ค.

5. Page Size
- ํ์ด์ง์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋๋ฐ ์์ด ๊ณ ๋ คํด์ผ ํ ์ฌํญ (๋ค์ํ๊ฒ ๊ณ ๋ คํด์ผ ํจ)
- ํ์ด์ง ํฌ๊ธฐ๊ฐ ์์์๋ก ํ๋ก์ธ์ค๊ฐ *๋ฉ๋ชจ๋ฆฌ ๋ด์ ์์
์ธํธ(working set)๋ฅผ ํ๋ณดํ๋๋ฐ ๋์
- ๊ทธ๋ฌ๋, ํ์ด์ง ํฌ๊ธฐ๊ฐ ์์ผ๋ฉด ์์์๋ก ํ์ด์ง ์ฌ์ ํ ์ด๋ธ์ ํฌ๊ธฐ๊ฐ ์ฆ๊ฐํ์ฌ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ญ๋น๋จ
- ํ์ด์ง ํฌ๊ธฐ๊ฐ ํด์๋ก ํ๋ก๊ทธ๋จ ์คํ ์ค ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ก์ ์
์ถ๋ ฅ ์ ์ก ํ์๋ฅผ ์ค์ผ ์ ์์
- ๊ทธ๋ฌ๋, ํ์ด์ง ํฌ๊ธฐ๊ฐ ํฌ๊ฒ ๋๋ฉด ์ฐธ์กฐ๋์ง ์์ ๋ง์ ์ ๋ณด๋ค๊น์ง ์ฃผ๊ธฐ์ต์ฅ์น๋ก ์ฎ๊ฒจ์ง๊ฒ ๋์ด ๋ฉ๋ชจ๋ฆฌ์ ๋ญ๋น๋ฅผ ์ด๋ํ ์ ์์
*working set : ์คํ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์์ฃผ ์ฐธ์กฐํ๋ ํ์ด์ง๋ค์ ์งํฉ
Page fetch(๋ฐ์ ) Method
- Demand Paging ๊ธฐ๋ฒ : ์คํ ์ค์ธ ํ๋ก์ธ์ค์ ์ํ์ฌ ๋ช ๋ฐฑํ ์ฐธ์กฐ๋๋ ํ๋ก์ธ์ค๋ง์ด ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ(์ฃผ๊ธฐ์ต์ฅ์น)๋ก ์ ์ฌ๋๋ค.
- anticipatory paging ๊ธฐ๋ฒ : OS๊ฐ ์์ธกํ์ฌ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ฌ์ ๊ฐ ์์ ๋ ์ฌ์ฉ๋ ๊ฒ์ด๋ผ๊ณ ์์๋๋ ํ์ด์ง๋ค์ ๋ฏธ๋ฆฌ ์ ์ฌํ๋ค.
(3) Segmentation
- ์๋ก ๋ค๋ฅธ ํฌ๊ธฐ์ ๋ธ๋ก์ ์ด์ฉํ์ฌ ์ด๋ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ๋ก๊ทธ๋จ์ ๊ณ ์ ํฌ๊ธฐ ๋จ์(Page)๋ก ๋ถํ ํ๋ ๊ฒ์ด ์๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ด๋ จ์ด ์๋ *๋จ์(Segment)๋ก ๋ถํ ํ๋ค.
- ์ด๋ค ๋ธ๋ก์ Segment๋ผ๊ณ ํ๊ณ Segment๋ค๋ก ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ๋ค.
- ๊ฐ์ ์ฃผ์๋ v=(s,d)๋ก ํํ๋๋ค.
- s๋ ์ธ๊ทธ๋จผํธ ๋ฒํธ์ด๊ณ d๋ ๋ณ์์ด๋ค.
*Segment : ๋ ผ๋ฆฌ์ ๋จ์๊ฐ ๋๋ ํ๋ก๊ทธ๋จ ๋ชจ๋์ด๋ ์๋ฃ ๊ตฌ์กฐ
1. Direct Mapping
- ํ์ด์ง ๊ธฐ๋ฒ๊ณผ ๋์ผํ๊ฒ ์ง์ , ์ฐ๊ด, ์ฐ๊ด/์ง์ ์ฌ์ ๋ฐฉ๋ฒ์ ๋ค ๊ฐ๋ค.

ํ์ด์ง ๊ธฐ๋ฒ๊ณผ ๋ค๋ฅธ ์ ์ ์ถ๊ฐ์ ์ผ๋ก ํฌ๊ธฐ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ ๊ฒ์ด๋ค.
2. Segment Mapping Table

- ์กด์ฌ ๋นํธ : ํด๋น ์ธ๊ทธ๋จผํธ๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น์ ์กด์ฌํ๋์ง ์ฌ๋ถ
- ๋ณด์กฐ๊ธฐ์ต ์ฅ์น ์ฃผ์ : ์ธ๊ทธ๋จผํธ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์
- ์ธ๊ทธ๋จผํธ ๊ธธ์ด : ์ธ๊ทธ๋จผํธ ๊ธฐ๋ฒ์๋ง ์๊ณ ํ์ด์ง ๊ธฐ๋ฒ์๋ ์๋ค.(์ด๊ฒ๋ง ๋ค๋ฅด๊ณ ๋ค ๋์ผํจ)
- ์ธ๊ทธ๋จผํธ์ ์์ ์ฃผ์ : ์ธ๊ทธ๋จผํธ์ ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์
3. Share Segment in Segmentation System
- ํ์ด์ง ์์คํ ๊ณผ ๋ค๋ฅด๊ฒ ์ธ๊ทธ๋ฉํ ์ด์ ์์คํ ์ ํ๋์ ์ธ๊ทธ๋จผํธ๋ง ๊ณต์ ํ๋ค.

(4) Segmentation/Paging ํผ์ฉ ๊ธฐ๋ฒ
- ๊ฐ๋ณ์ ์ธ ์ธ๊ทธ๋จผํธ๊ฐ ๋๋ฌด ์ปค์ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ ์ฌํ ์ ์๋ ๋ฌธ์ ๋ฐ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด๋ค.
- ๋๋ฌด ํฐ ์ธ๊ทธ๋จผํธ๋ฅผ ์ ์ ๋ฐฐ์ ํ์ด์ง๋ก ๋ค์ ๋ถํ ํ๋ค.
- ๊ฐ์ ์ฃผ์๋ v=(s,p,d)๋ก ํํํ๋ค.
- s๋ ์ธ๊ทธ๋จผํธ ๋ฒํธ, p๋ ํ์ด์ง ๋ฒํธ, d๋ ๋ณ์์ด๋ค.
- ์ฐ๊ด/์ง์ ์ฌ์์ ์ด์ฉํ ๋์ ์ฃผ์ ๋ณํ ๋ฐฉ๋ฒ์ด ์๋ค.

(5) Page Replacement Algorithm
์๋ก์ด ์ ์ฌ๋ ํ์ด์ง๋ฅผ ์ํ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋ณดํ๊ธฐ ์ํด ํ์ฌ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๊ณ ์๋ ํ์ด์ง๋ค ์ค ์ด๋ค ํ์ด์ง๋ฅผ ์ ํํ์ฌ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ผ๋ก ๋ณด๋ผ ๊ฒ์ธ๊ฐ๋ฅผ ๊ฒฐ์ ํ๋ ๊ธฐ๋ฒ์ด๋ค.
1. FIFO(First In First Out)
- ๊ฐ์ฅ ๋จผ์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋ค์ด์์๋ ํ์ด์ง๋ฅผ ๊ต์ฒด์ํค๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ์ฅ ๊ฐ๋จํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
- ํ์ง๋ง ๊ฐ์ฅ ์ ์ข์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ์ค์ ๋ก๋ ์ฐ์ด์ง ์๋๋ค.

ํ๋ก์ธ์ค์ ํ ๋น๋ ์ฃผ๊ธฐ์ต์ฅ์น ๋ด์ ํ์ด์ง ํ๋ ์ ์๋ฅผ 3๊ฐ๋ก ๊ฐ์ ํ๋ค.
์ฌ๊ธฐ์ ๋ฐ์ํ ์ด *Page Faultํ์๋ 15๋ฒ์ด๋ค.
*Page Fault(ํ์ด์ง ๋ถ์ฌ) : ํ์ด์ง๊ฐ ํธ์ถ๋์์ ๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ๋ปํ๋ค. ํ์ด์ง ๋ถ์ฌ๊ฐ ์ ์ ๊ฒ์ด ์ข๋ค.
โ FIFO anomaly(๋ชจ์) or Belady
- ์ด๋ค ํ์ด์ง ํธ์ถ์์๋ ํ๋ก์ธ์ค์ ํ ๋น๋ ํ์ด์ง ํ๋ ์์ ์๊ฐ ์ฆ๊ฐ๋ ๋ ํ์ค์ ์ผ๋ก ํ์ด์ง ๋ถ์ฌ๊ฐ ๋ ์ฆ๊ฐํ๋ ๋ชจ์์ด ๋ฐ์ํ๋ค.
- ์์์ ์ผ๋ก ํ๋ ์์ด ์ฆ๊ฐํ๋ฉด ํ์ด์ง ๋ถ์ฌ๊ฐ ๊ฐ์ํด์ผ ํ๋๋ฐ ์ค์ ๋ก๋ ํ๋ ์์ด ์ฆ๊ฐํ๋ฉด ํ์ด์ง ๋ถ์ฌ๋ ์ฆ๊ฐํ๋ค.
2. Optimal Replacement
- ์์ผ๋ก ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ ํ์ด์ง๋ฅผ ๊ต์ฒด์ํค๋ ๋ฐฉ๋ฒ์ด๋ค.
- ์ต์์ ํ์ด์ง ๋ถ์ฌ์จ์ ๊ฐ์ง๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก FIFO์ ๋ชจ์์ ํผํ ์ ์๋ค.
- ๊ทธ๋ฌ๋ ์ด ๋ฐฉ๋ฒ์ ํ์ด์ง ํธ์ถ ์์์ ๋ํ ๋ชจ๋ ์ํฉ์ ์ฌ์ ์ ๋ฏธ๋ฆฌ ํ์ ํ๊ณ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋นํ์ค์ ์ด๊ณ , ์ค์ ๊ตฌํ์ด ์ด๋ ค์ ์ฐ์ด์ง ์๋๋ค.

๋ฐ์๋ ์ด ํ์ด์ง ๋ถ์ฌ ํ์๋ 9๋ฒ์ด๋ค.
3. Least Recently Used(LRU)
- ํ ํ๋ก์ธ์ค์์ ์ฌ์ฉ๋๋ ๊ฐ ํ์ด์ง๋ง๋ค ํ์-์คํฌํ์ฉ ์นด์ดํฐ๋ ์คํ์ ๋์ด ํ์์ ์์ ๊ฐ์ฅ ์ค๋ ์ ์ ์ฌ์ฉ๋ ํ์ด์ง(CPU๊ฐ ์ํ๋ ๊ฒ)๋ฅผ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ด๋ค.('์ต๊ทผ์ ์ฌ์ฉ๋ ํ์ด์ง๋ ์ ๊ฑฐ ์ ํ๊ฒ ๋ค'๋ผ๋ ์๋ฏธ.)
- ํ์ด์ง ์ฌ์ฉ์๊ฐ์ ๊ธฐ๋กํ๊ธฐ ์ํด ์นด์ดํฐ๋ ์คํ์ ์ฌ์ฉ์ด ํ์ํ๋ค.
- ์ค์ ๋ก ๋ง์ด ์ฐ๊ณ ์์ง๋ง ๊ตฌํ์ด ์ด๋ ต๋ค.

๋ฐ์๋ ์ด ํ์ด์ง ๋ถ์ฌ ํ์๋ 12๋ฒ์ด๋ค.
4. Second Chance
- ์ค๋ซ๋์ ์ฃผ๊ธฐ์ต์ฅ์น์ ์๋ ํ์ด์ง ์ค์์ ์์ฃผ ์ฌ์ฉ๋๋ ํ์ด์ง์ ๊ต์ฒด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก FIFO ๊ธฐ๋ฒ ๋จ์ ์ ๋ณด์ํ๋ค.
- ๊ฐ ํ์ด์ง๋ง๋ค ์ฐธ์กฐ ๋นํธ๋ฅผ ๋๊ณ , FIFO ๊ธฐ๋ฒ์ ์ด์ฉํ์ฌ ํ์ด์ง ๊ต์ฒด๋ฅผ ์ํํ๋ค.
- ์ฐธ์กฐ ๋นํธ๊ฐ '0'์ผ ๊ฒฝ์ฐ ํด๋น ํ์ด์ง๋ฅผ ๊ต์ฒด(๊ฐ์๊ธฐ์ต์ฅ์น๋ก ์ด๋)ํ๋ค.
- ์ฐธ์กฐ ๋นํธ๊ฐ '1'์ผ ๊ฒฝ์ฐ ์ฐธ์กฐ ๋นํธ๋ฅผ '0'์ผ๋ก ๋ง๋ค๊ณ FIFO ๋ฆฌ์คํธ์ ๋งจ ๋ง์ง๋ง์ผ๋ก ์ด๋์ํจ๋ค.
- ๊ต์ฒด ๋์์ด ๋๊ธฐ ์ ์ ์ฐธ์กฐ ๋นํธ๋ฅผ ๊ฒ์ฌํ์ฌ 1์ผ ๊ฒฝ์ฐ์ ํ๋ฒ์ ๊ธฐํ๋ฅผ ๋ ๋ถ์ฌํ๊ธฐ ๋๋ฌธ์ '2์ฐจ ๊ธฐํ' ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ํ๋ค.

5. Least Frequently Used(LFU)
- LRU ์๊ณ ๋ฆฌ์ฆ๊ณผ ์ ์ฌํ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ ํ์ด์ง์ ์ฌ์ฉ์ด ์ผ๋ง๋ ์ง์ค์ ์ผ๋ก ๋์๋๊ฐ์ ๊ด์ฌ์ ๊ฐ์ง๊ณ , ๊ฐ์ฅ ์ ๊ฒ ์ฌ์ฉ๋๊ฑฐ๋ ์ง์ค์ ์ด ์๋ ํ์ด์ง๊ฐ ๋์ฒด๋๋ค.
- ๊ฐ์ฅ ์ฐธ์กฐ ํ์๊ฐ ์ ์ ํ์ด์ง๋ฅผ ๊ต์ฒดํ๋ค.(์ฌ์ฉํ ํ๋ฅ ์ด ์ ์ด์)
6. Not Recently Used(NRU=NUR)
- ์ต๊ทผ์ ์ฌ์ฉ๋์ง ์์ ํ์ด์ง๋ ๊ฐ๊น์ด ๋ฏธ๋์ ์ฌ์ฉ๋์ง ์๋ ๊ฒฝํฅ์ ๋ฐ๋ผ ๊ทธ๊ฒ๋ค์ ์ฐธ์กฐ๋๋ ํ์ด์ง์ ๊ต์ฒด์ํจ๋ค.
- LRU์ ์ ์ฌํ๋, ๊ตฌํ๋น์ฉ์ด ๋ฎ๋ค.(ํด๋ญ์ด๋ ์คํ ๊ตฌํ ํ์ ์์)
- ๋ ๊ฐ์ ๋นํธ๋ฅผ ์ด์ฉํ๋ค.(์ฐธ์กฐ ๋นํธ + ๋ณํ ๋นํธ) : 11, 10, 01, 00
- ๋นํธ์์ ์ซ์๊ฐ ํฐ ํ์ด์ง๋ฅผ ์ค๋ ์ ์งํ๋ค.
(6) Thrashing
๋ค์ค ํ๋ก๊ทธ๋๋ฐ์์ ํ๋์ ํ๋ก์ธ์ค๋ ์คํ์ ์ํด ๋ช ๊ฐ์ ํ์ด์ง ํ๋ ์์ ํ ๋น๋ฐ๋๋ค.(Ex:ํ๋ก์ธ์ค๋ณ ๊ท ๋ฑ ํ ๋น, ๋น๋ก ํ ๋น)
โถ Thrashing
ํ๋ก์ธ์ค๋ฅผ ์ํํ๋๋ฐ ์์ด์, ํ์ด์ง ๋ถ์ฌ๊ฐ ๊ณ์์ ์ผ๋ก ๋ฐ์๋์ด ํ๋ก์ธ์ค๊ฐ ์ํ๋๋ ์๊ฐ๋ณด๋ค ํ์ด์ง ๊ต์ฒด์ ์๋น๋๋ ์๊ฐ์ด ๋ ๋ง์์ง๋ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค. (๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํด์)

์ค๋์ฑ์ ๋ฐฉ์งํ๋ ค๋ฉด ํ ํ๋ก์ธ์ค๊ฐ ํจ์จ์ ์ธ ์ํ์ ์ํ์ฌ ์ ๊ณต ๋ฐ์์ผ ํ ํ์ด์ง ํ๋ ์์ ์๋ฅผ ์์์ผ ํ๋ค.
โ ํด๊ฒฐ๋ฐฉ๋ฒ
๊ตฌ์ญ์ฑ : 'ํ๋ก์ธ์ค๊ฐ ๊ธฐ์ต์ฅ์น ๋ด์ ๋ชจ๋ ์ ๋ณด๋ฅผ ๊ท ์ผํ๊ฒ ์ฐธ์กฐํ๋ ๊ฒ์ด ์๋๋ผ ๊ตญ๋ถ์ ์ธ ๋ถ๋ถ๋ง์ ์ง์ค์ ์ผ๋ก ์ฐธ์กฐํ๋ค'๋ผ๋ ์๋ฏธ์ด๋ค. ์ด๋ฌํ ๊ตฌ์ญ์ฑ์ ํตํ์ฌ ํ์ด์ง ํ๋ ์ ์๋ฅผ ์์ธกํ ์์๋ค.
- ์๊ฐ ๊ตฌ์ญ์ฑ(Temporal Locality) : ์ต๊ทผ์ ์ฐธ์กฐ๋ ๊ธฐ์ต์ฅ์๊ฐ ๊ฐ๊น์ด ์ฅ๋์๋ ๊ณ์ ์ฐธ์กฐ๋ ๊ฐ๋ฅ์ฑ์ด ๋์์ ์๋ฏธํ๋ค.
Ex) ์ํ(looping), ์๋ธ๋ฃจํด, ์คํ, counting & totaling์ ์ฌ์ฉ๋๋ ๋ณ์ - ๊ณต๊ฐ ๊ตฌ์ญ์ฑ(Spatial Locality) : ํ๋์ ๊ธฐ์ต์ฅ์๊ฐ ์ฐธ์กฐ๋๋ฉด ๊ทธ ๊ทผ์ฒ์ ๊ธฐ์ต์ฅ์๊ฐ ๊ณ์ ์ฐธ์กฐ๋๋ ๊ฒฝํฅ์ด ์์์ ์๋ฏธํ๋ค.
Ex) ๋ฐฐ์ด ์ํ, ์์ฐจ ์ฝ๋์ ์คํ(Sequential Code Execution), ํ๋ก๊ทธ๋๋จธ๋ค์ด ๊ด๋ จ๋ ๋ณ์๋ฅผ ๊ทผ์ฒ์ ์ ์ธํ๋ ๊ฒฝํฅ์ด ์๋ค.
โถ Working Set(์์ ์ธํธ)
- ํ๋ก์ธ์ค์ ์ํด ์์ฃผ ์ฐธ์กฐ๋๋ ํ์ด์ง๋ค์ ์งํฉ์ฒด๋ฅผ ์๋ฏธํ๋ค.
- ์ํ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น ๋ด์ ์์ ์ธํธ๋ฅผ ์ ์ ์งํ๊ณ ์๋ค๋ฉด, ํจ์จ์ ์ผ๋ก ์ํ๋๋ค.

โถ ํ์ด์ง ๋ถ์ฌ์จ
- ์ฃผ๊ธฐ์ต์ฅ์น์ ํ๋ก์ธ์ค์ ์ํ์ ํ์๋ก ํ๋ ํ์ด์ง๊ฐ ์๋ ๋น์จ์ ๋งํ๋ค.
- ๋ถ์ฌ์จ์ด ๋์ผ๋ฉด, ๊ทธ ํ๋ก์ธ์ค๊ฐ ๋ ๋ง์ ํ์ด์ง ํ๋ ์์ ํ์๋ก ํ๋ค.
- ๋ถ์ฌ์จ์ด ๋ฎ์ผ๋ฉด, ๊ทธ ํ๋ก์ธ์ค๊ฐ ๋๋ฌด ๋ง์ ํ์ด์ง ํ๋ ์์ ๊ฐ์ง๊ณ ์๋ค.
- ํ์ด์ง ๋ถ์ฌ์จ์ ์ํ๊ณผ ํํ์ ์ด์ฉํ์ฌ ํ์ด์ง ํ๋ ์์ ๋์ ์ผ๋ก ๋ณ๊ฒฝํ๋ค.

'๐ CS & Infra > Operating System' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [OS] 05. ๋์คํฌ ์ค์ผ์ค๋ง (0) | 2023.10.16 |
|---|---|
| [OS] 01. ์ด์์ฒด์ ์๊ฐ (2) (0) | 2023.10.16 |
| [OS] 03. ๊ธฐ์ต์ฅ์น ๊ด๋ฆฌ (0) | 2023.10.16 |
| [OS] 02. ํ๋ก์ธ์ค์ ์ค๋ ๋ ๊ด๋ฆฌ (0) | 2023.10.16 |
| [OS] 01. ์ด์์ฒด์ ์๊ฐ (1) (0) | 2023.10.16 |