Computer Science
์ด์์ฒด์ ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ 5 - Virtual Memory Concept
3/29/2025


Virtual Memory Introduction
์ด์ ๊ธ์์๋ ํ์ด์ง์ ๋ํด ์์๋ณด์์ต๋๋ค. ํ์ด์ง์ ๋ํ ๋ด์ฉ์ ์ด์์ฒด์ ๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ ๋ ์ฌ์ฉํ๋ ๋ ๊ฐ์ง์ ์ฑ์ง์ ํ์ ํ ์ ์๊ฒ ํด์ค๋๋ค.
1. ํ๋ก์ธ์ค์ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ๋ ๋ ผ๋ฆฌ ์ฃผ์๋ก ์์๋์ด ์คํ ์๊ฐ์ ๋ฌผ๋ฆฌ ์ฃผ์๋ก ๋ณํ๋๋ค.
์ด๋ ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ ์ดํ ์ค์ํ์ด๋ ์์ถ์ด ๋ฐ์ํ๋๋ผ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๊ฒ ํด์ฃผ์์ต๋๋ค.
2. ํ๋ก์ธ์ค๋ ์ฌ๋ฌ ๊ฐ์ ์กฐ๊ฐ์ผ๋ก ๋๋ ๋ค ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ด์ง ์์ ๊ณณ์ ํ ๋น๋ ์ ์๋ค.
์ด๋ฅผ ํตํด ์ธ๋ถ ํํธํ๋ฅผ ์์ ๊ณ ๋ด๋ถ ํํธํ๋ฅผ ์ต์ํ ํ ์ ์์์ต๋๋ค.
์ด ๋ ์ฑ์ง์ด ์กด์ฌํ๋ค๋ฉด, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ์์ด์ ํ ๋จ๊ณ ๋ ๊ธฐ์ ์ ๋ฐ์ ์ ์ด๋ค๋ผ ์ ์์ต๋๋ค. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌVirtual Memory๋ผ๋ ๊ธฐ์ ์ '๋ง์ฝ ์ ๋ ์ฑ์ง์ด ์กด์ฌํ๋ค๋ฉด, ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ ๋์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋ชจ๋ ํ์ด์ง๊ฐ ์กด์ฌํ ํ์๋ ์์ง ์๋?'๋ผ๋ ์ฌ๊ณ ์์ ์์ํฉ๋๋ค. ํ์ฌ ์ํ๋๋ ๋ช ๋ น์ด๊ฐ ์ ๊ทผํ๊ณ ์ ํ๋ ์ฝ๋ ์์ญ๊ณผ ๋ฐ์ดํฐ ์์ญ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ๋ค๋ฉด, ๋น๋ก ๋ค๋ฅธ ํ์ด์ง๊ฐ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์๋ค ํ๋๋ผ๋ ํด๋น ๋ช ๋ น์ด๋ ์ํ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์์ ๊ฐ์ ์ฌ๊ณ ๊ฐ ์ค์ ๋ก ์ด๋ป๊ฒ ๋์ํ ์ ์๋์ง ์ฒ์ฒํ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ํ ๋นํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ด ๋ ์ด์์ฒด์ ๋ ํ๋ก์ธ์ค์ ๋ชจ๋ ์กฐ๊ฐ๋ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ๊ฒ ๋์ ์, ํ๋ก๊ทธ๋จ์ ์ด๊ธฐํ์ ํ์ํ ์ผ๋ถ ์กฐ๊ฐ๋ค๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํฉ๋๋ค. ์ง๊ธ ํ ๋น๋ ํ๋ก์ธ์ค ์กฐ๊ฐ๋ค, ์ฆ ์ค์ ๋ก ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ๋ ํ๋ก์ธ์ค ์กฐ๊ฐ๋ค์ ์งํฉ์ ์ฃผ๊ธฐ์ต ์งํฉresident set์ด๋ผ๊ณ ํฉ๋๋ค.
ํ๋ก์ธ์ค๊ฐ ์คํ๋ ๋, ๋ง์ฝ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ๊ฐ ์ฃผ๊ธฐ์ต ์งํฉ ๋ด์ ์๋ค๋ฉด ํ๋ก๊ทธ๋จ์ ๋ฌธ์ ์์ด ์คํ๋ฉ๋๋ค. ํ์ด์ง ํ ์ด๋ธ์๋ ํ๋ก์ธ์ค ์กฐ๊ฐ๊ณผ ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ๋งคํ๋์ด ์๊ธฐ ๋๋ฌธ์, ์ด์์ฒด์ ๋ ์ฐธ์กฐํ๊ณ ์ ํ๋ ์ฃผ์๊ฐ ์ ์ฌ๋์ด์๋์ง ์ฌ๋ถ(์ฃผ๊ธฐ์ต ์งํฉ ๋ด์ ์๋์ง์ ๋ํ ์ฌ๋ถ)๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๋ง์ฝ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ์ง ์๋ ๋ ผ๋ฆฌ ์ฃผ์์ ์ ๊ทผํ๋ค๋ฉด, ์ด์์ฒด์ ๋ ํ๋ก์ธ์ค๋ฅผ Block ์ํ๋ก ๋ง๋ค๊ณ ๋์คํฌ I/O๋ฅผ ํตํด ๋ ผ๋ฆฌ ์ฃผ์๊ฐ ํฌํจ๋์ด์๋ ํ๋ก์ธ์ค ์กฐ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํฉ๋๋ค. ์ด ๋ ์ ์ฅ๋ ์กฐ๊ฐ์ ์์น๋ ํ์ด์ง ํ ์ด๋ธ์ ๊ธฐ๋ก๋ ๊ฒ์ ๋๋ค. ์ดํ OS๋ ํ๋ก์ธ์ค๋ฅผ Ready ์ํ๋ก ๋ง๋ค์ด ํ๋ก์ธ์ค๊ฐ ํด๋น ๋ ผ๋ฆฌ ์ฃผ์์ ์ ๊ทผํ๋ ๋ช ๋ น์ ์ํํ ์ ์๊ฒ ๋ง๋ง๋๋ค.
์ด ๋ฐฉ์์์ ํ๋ก์ธ์ค์ ์กฐ๊ฐ๋ค์ ์ค์ ๋ก ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ๊ฑฐ๋, ์๋๋ฉด ๋์คํฌ์ ์ค์๋์ด ์กด์ฌํฉ๋๋ค. ํ๋ก๊ทธ๋๋จธ๋ ์ฌ์ฉ์๋ ์ค์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋ฌด์์ด ์ ์ฌ๋์ด์๋์ง ์ ์ง ๋ชปํ๋ฉฐ, ๋ ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ๋ฏฟ๊ฒ ๋ฉ๋๋ค. ์ด๋ฌํ ๊ด์ ์์ ์ด ๊ธฐ์ ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌVirtual Memory๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ๊ธฐ์กด ๋ฐฉ์๊ณผ๋ ๋ค๋ฅด๊ฒ ํ๋ก์ธ์ค๊ฐ ๋์คํฌ I/O๋ฅผ ์ํด Block ๋์ด์๋ ์ํฉ์ ์ฆ๊ฐ์ํค๊ธฐ ๋๋ฌธ์ ๊ทธ ํจ์จ์ฑ์ ์์ฌ์ด ์๊ธธ์ง๋ ๋ชจ๋ฆ ๋๋ค. ๊ณผ์ฐ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ค์ฉ์ ์ผ๊น์?
๊ณผ์ฐ ์ด ๋ฐฉ๋ฒ์ ์ค์ฉ์ ์ผ๊น?
ํ ๋๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ค์ฉ์ ์ธ์ง ์๋์ง๋ฅผ ๋๊ณ ๋ง์ ๋ ผ์์ด ์ค๊ฐ์ผ๋, ํ๋์๋ ์ ๋ง์ ๊ฒฝํ๊ณผ ์ฐ๊ตฌ๋ฅผ ํตํด ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์จ์ ์ด๋ผ๋ ๊ฒ์ด ์์ฌ์๋ ์ฌ์ค๋ก ์๋ฆฌ์ก์์ต๋๋ค. ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. ๋ ๋ง์ ํ๋ก์ธ์ค๊ฐ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ง๋ ์ ์๋ค.
ํ๋ก์ธ์ค์ ์ ์ฒด๊ฐ ์๋ ์ผ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ๋ฐฉ์์, ํ์ ๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋ ๋ง์ ํ๋ก์ธ์ค๋ฅผ ๋์์ ์ฌ๋ฆด ์ ์๊ฒ ํด์ค๋๋ค. ์ด๋ ๊ฒ ๋๋ฉด ํ ํ๋ก์ธ์ค๊ฐ I/O ์์ ์ผ๋ก ์ธํด ๋ธ๋กํน๋ ๊ฒฝ์ฐ, CPU๋ ๋๊ธฐํ์ง ์๊ณ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋์ด ์๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์ฆ์ ์คํํ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด CPU๊ฐ ์ ํด ์ํ๋ก ๋จธ๋ฌด๋ ์๊ฐ์ด ์ค์ด๋ค๊ณ , ์ ์ฒด ์์คํ ์ CPU ํ์ฉ๋ฅ ์ด ์ฆ๊ฐํ๊ฒ ๋ฉ๋๋ค.
2. ํ๋ก์ธ์ค์ ํฌ๊ธฐ๊ฐ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋ฌผ๋ฆฌ์ ํฌ๊ธฐ๋ณด๋ค ์ปค์ง ์ ์๋ค.
์ด๋ฅผ ํตํด ์ปดํจํฐ ์์คํ ์์ ๊ฐ์ฅ ์ค์ํ ๋ฌธ์ ํ๋๋ฅผ ํด๊ฒฐํ ์ ์ ๋๋ค. ๋ง์ฝ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ฐฉ์์ด ์์๋ค๋ฉด, ๊ฐ ํ๋ก๊ทธ๋จ์ ๊ทธ๊ฒ์ด ์คํ๋๋ ์ปดํจํฐ์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๊ฐ๋ฐ๋์ด์ผ ํ ์ง๋ ๋ชจ๋ฆ ๋๋ค. ๋ง์ฝ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์์ ์ด๋ฅผ ๋ค ์ ์ฌํ ์ ์๋ค๋ฉด, ํ๋ก๊ทธ๋๋จธ๋ ํ๋ก๊ทธ๋จ ๋ด ํ์ ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ฒน์ณ ์ฌ์ฉํ๋overlaying ๋ฐฉ์์ผ๋ก ๊ฐ๋ฐํด์ผํฉ๋๋ค. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋์ ์ ์ด๋ฌํ ์ผ๋ค์ ์ด์์ฒด์ ์ ํ๋์จ์ด์ ์์ํจ์ผ๋ก์จ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๋ถ๋ด์ ๋์ด์ค๋๋ค.
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ , ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ก์ธ์ค๋ฅผ ๋ ๋ง์ด Block ์ํ๋ก ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๋นํจ์จ์ ์ผ์ง๋ ๋ชจ๋ฆ ๋๋ค. ๋ค์ ์ํฉ์ ๊ฐ์ ํด๋ณด๋ฉด ์ด๋จ๊น์?
๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ ์ ๋ง์ ํ๋ก์ธ์ค ์กฐ๊ฐ๋ค๋ก ๊ฐ๋ ์ฐจ ์์ต๋๋ค. ํ๋ก์ธ์ค ์ํ ์ค ํ์ด์ง ํ ์ด๋ธ์ ์กด์ฌํ์ง ์๋ ๋ ผ๋ฆฌ ์ฃผ์๋ฅผ ๋ง๋ ๋์คํฌ์์ ๋ฉ๋ชจ๋ฆฌ ์กฐ๊ฐ์ ๊ฐ์ ธ์์ผํ ๋, ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์์ ์กด์ฌํ๋ ํ์ด์ง ์ค ํ๋๋ ๋์คํฌ๋ก ๋ด๋ณด๋ด์ผ ํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ฌธ๋งฅ ๊ตํ์ด ๋ฐ์ํ๊ณ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์ํ๋ ๋, ๋ง์ฝ ์ ๊ทผํด์ผํ๋ ํ์ด์ง๊ฐ ๋ฐฉ๊ธ ๋ด์ซ์๋ ํ์ด์ง๋ผ๋ฉด ๋ ๋ค์ ๋์คํฌ I/O๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด์ฒ๋ผ ์ง๋์น์ ์ฆ์ ํ์ด์ง ๊ต์ฒด์ ๋์คํฌ I/O๋ก ์ธํด CPU ํจ์จ์ด ๊ธ๊ฒฉํ ๋จ์ด์ง๋ ํ์์ ์ฐ๋์ฑThrashing์ด๋ผ๊ณ ํฉ๋๋ค.

์ฐ๋์ฑ์ ํด๊ฒฐํ๋ ๊ฒ์ 1970๋ ๋์ ๊ฐ์ฅ ํฐ ์ฐ๊ตฌ ์ค ํ๋์๊ณ , ์ด๋ฅผ ์ํ ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ์ด ๋ฑ์ฅํ์ต๋๋ค. ํ๋ ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ ๋ฐฉ์์ ๊ณผ๊ฑฐ ํ์ด์ง ์ฐธ์กฐ ๊ธฐ๋ก์ ๊ธฐ๋ฐ์ผ๋ก, ์์ผ๋ก ์ฌ์ฉ๋์ง ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ ํ์ด์ง๋ฅผ ์์ธกํ์ฌ ์ฐ์ ์ ์ผ๋ก ๊ต์ฒดํ๋ ๋ฐฉ์์ ๋๋ค.
์ด๋ฌํ ์ฌ๊ณ ๋ ์ง์ญ์ฑ ์์นPrinciple of Locality์ ๊ทผ๊ฐํฉ๋๋ค. ์ง์ญ์ฑ ์์น์ ํ๋ก์ธ์ค์ ๋ฐ์ดํฐ ์ฐธ์กฐ๊ฐ ๊ตฐ์ง์ ์ด๋ฃจ๋ ๊ฒฝํฅ์ด ์์์ ๋งํฉ๋๋ค. ๋ฐ๋ผ์, ํ๋ก์ธ์ค๊ฐ ์ต๊ทผ์ ์ ๊ทผํ ํ์ด์ง์ ๋ค์ ์ ๊ทผํ ํ๋ฅ ์ ๋งค์ฐ ๋๊ณ , ๊ฐ์ฅ ๊ณผ๊ฑฐ์ ์ฐธ์กฐํ ํ์ด์ง์ ์ ๊ทผํ ํ๋ฅ ์ด ๋ฎ๋ค๋ ๊ฒ์ ํฉ๋ฆฌ์ ์ธ ์ถ๋ก ์ ๋๋ค. ์ด๋ ์ด๋ค ํ์ด์ง๋ฅผ ๋ด์ซ์์ผ ํ ์ง์ ๋ํ ๊ธธ์ก์ด๊ฐ ๋์ด ์ ์ฒด ์์คํ ์ ํจ์จ์ ์ผ๋ก ๋์์ํค๋ ๊ธฐ๋ฐ์ด ๋ฉ๋๋ค. ์ด์์ฒด์ ๋ ์ต๋ํ ์ฌ์ฉ๋์ง ์์ ํ์ด์ง๋ค์ ๊ณจ๋ผ ๋์คํฌ์ ๋ณด๊ดํ๊ณ , ํ์ฌ ์ฌ์ฉ๋ ๋ฒํ ํ์ด์ง๋ค๋ง ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋จ๊ฒจ ํ๋ก์ธ์ค๊ฐ ๋ธ๋ก ์ํ๊ฐ ๋๋ ๊ฒ์ ์ต์ํ ํฉ๋๋ค.
์ง์ญ์ฑ ์์น์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํจ์จ์ ์ผ๋ก ๋์ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค. ๋ํ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํจ๊ณผ์ ์ผ ์ ์๊ธฐ ์ํด์๋ ๋ ๊ฐ์ง ์กฐ๊ฑด์ด ๋ ํ์ํฉ๋๋ค. ์ฒซ ๋ฒ์งธ๋ก๋ ํ๋์จ์ด์ ์ง์์ด ํ์ํฉ๋๋ค. ๋ ๋ฒ์งธ๋ก๋ ํ์ด์ง๊ฐ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋์คํฌ๋ฅผ ์ฎ๊ฒจ ๋ค๋ ๋ ์ด๋ฅผ ๊ด๋ฆฌํ ์ ์๋ ํจ์จ์ ์ธ ์ํํธ์จ์ด์ ๋๋ค.
๋ค์ ๊ธ์์๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋์ ํ๊ธฐ ์ํ ํ๋์จ์ด์ ์ธก๋ฉด์ ๊ธฐ์ ๋ค์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.