๐ป OS ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ(Virtual Memory) ๊ฐ๋ ๋ฐ ์๋ ์๋ฆฌ
๋ชฉ์ฐจ
1. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋?
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ก์ธ์ค ์ ์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ(RAM)์ ์ฌ๋ผ์ค์ง ์๋๋ผ๋ ์คํ์ด ๊ฐ๋ฅํ๋๋ก ํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ๋๋ค. ์ค์ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ณด๋ค ๋ ํฐ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๊ฒ ํด์ฃผ๋ ์์ฃผ ๋๋ํ ๊ธฐ์ ์ด์ฃ .
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ํต์ฌ ์ฅ์
- ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ ๊ทน๋ณต: ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ค์ RAM ์ฉ๋์ ์ ๊ฒฝ ์ฐ์ง ์๊ณ ์ค๊ณ๋ ์ ์์ต๋๋ค.
- ๋์ ์ํ ๋ฅ๋ ฅ ํฅ์: ๊ฐ ํ๋ก๊ทธ๋จ์ด ๋น์ฅ ํ์ํ ๋ถ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ฏ๋ก, ๋ ๋ง์ ํ๋ก๊ทธ๋จ์ ๋์์ ์ฌ๋ฆด ์ ์์ต๋๋ค.
- ํจ์จ์ ์ธ I/O: ํ๋ก๊ทธ๋จ ์ ์ฒด๋ฅผ ํ๊บผ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๊ณ ๋ด๋ฆฌ๋(Swap) ๋์ , ํ์ํ ๋ถ๋ถ๋ง ๊ต์ฒดํ๋ฏ๋ก ์ ์ถ๋ ฅ ํ์๊ฐ ์ต์ ํ๋ฉ๋๋ค.
2. ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ค๋ ๊ฒ์ ์๋ฏธ
๋จ์ํ ํ์ผ์ ๋๋ธ ํด๋ฆญํ๋ ๊ฒ์ ๋์ด, ์ปดํจํฐ ๋ด๋ถ์์๋ ๋ค์๊ณผ ๊ฐ์ ์ผ์ด ์ผ์ด๋ฉ๋๋ค.
์ฃผ์ ๋ฐ์ธ๋ฉ (Address Binding)
ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉํ๋ ๊ฐ์ ์ฃผ์(๋ ผ๋ฆฌ ์ฃผ์)๋ฅผ ์ค์ ๋ฐ์ดํฐ๊ฐ ๋ด๊ธด ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก ์ฐ๊ฒฐํ๋ ๊ณผ์ ์ ๋๋ค. CPU๋ ๊ฐ์ ์ฃผ์๋ฅผ ๋ณด๊ณ ์ผํ์ง๋ง, ์ค์ ๋ฐ์ดํฐ๋ ๋ฌผ๋ฆฌ ์ฃผ์์ ์์ผ๋ฏ๋ก ์ด '๋ฒ์ญ'์ด ํ์์ ๋๋ค.
์ค์ ์์ญ (Swap Area)
๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ(RAM)๊ฐ ๊ฐ๋ ์ฐผ์ ๋, ๋น์ฅ ์ฐ์ง ์๋ ๋ฐ์ดํฐ๋ค์ ์ ์ ๋ณด๊ดํด๋๋ ํ๋๋์คํฌ์ ์ผ๋ถ ์์ญ์ ๋๋ค.
- Swap-out: ๋ฉ๋ชจ๋ฆฌ์์ ๋์คํฌ(์ค์ ์์ญ)๋ก ์ซ๊ฒจ๋จ.
- Swap-in: ๋์คํฌ์์ ๋ค์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ถ๋ฌ์ด.
3. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ์๋ฆฌ: ์๊ตฌ ํ์ด์ง
ํ๋ก๊ทธ๋จ ์คํ ์ ๋ชจ๋ ํ์ด์ง๋ฅผ ์ฌ๋ฆฌ์ง ์๊ณ , 'ํ์ํ ๋(On-Demand)'๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ ๋ฐฉ์์ ๋๋ค.
ํ์ด์ง ํดํธ (Page Fault)
CPU๊ฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋๋ฐ ๋ฉ๋ชจ๋ฆฌ์ ์์ ๋ ๋ฐ์ํ๋ ํ์์ ๋๋ค. ์ด๋ ์ด์์ฒด์ ๋ ์ค์ ์์ญ์์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ฐ์ ธ์ต๋๋ค.
๐ ํต์ฌ ์์ฝ: ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ์์
'๐ CS & Infra > Operating System' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [OS] ํ๋ก์ธ์ค์ ์ค๋ ๋ (1) | 2026.04.02 |
|---|---|
| [OS] ๋ฆฌ๋ ์ค ๊ตฌ์กฐ - ์ปค๋(Kernel), ์(Shell), ํฐ๋ฏธ๋(Terminal) (0) | 2026.03.12 |
| [OS] 11. ๋ถ์ฐ ์ฒ๋ฆฌ ์์คํ (0) | 2023.10.16 |
| [OS] 10. ๋ค์ค ์ฒ๋ฆฌ ์์คํ (0) | 2023.10.16 |
| [OS] 09. ์ ๋ณด ๋ณดํธ ๋ฐ ๋ณด์ (0) | 2023.10.16 |