paging ์ด๋?
paging์ด๋ process๊ฐ ํ ๋น๋ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ผ์ ํ page๋จ์๋ก ๋๋์ด, ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ฐ์๋์ง ์๋ ์๋ก ๋ค๋ฅธ ์์น์ ์ ์ฅํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ด๋ค.
๋ฉด์ ์์ ์์ฃผ ๋์ค์ง ์์ง๋ง, ์ค์ํ ๋ด์ฉ๋ค์ด ๋ง์ด ์์ด์ ์์๋๋ฉด ๊น์ด์๋ ์ง๋ฌธ์ด ๋์ฌ ๋ ์ ๋ต๋ณํ ์ ์๋ค.
ํนํ ๋ ผ๋ฆฌ์ ์ฃผ์์ ๋ฌผ๋ฆฌ์ ์ฃผ์์ ์ฐจ์ด๋ฅผ ์ดํดํด์ผํ๊ณ , ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์๋์ง ์๋ ์๋ก ๋ค๋ฅธ ์์น์ page๋จ์๋งํผ ์ ์ฅํ๋ค๋ ์ ์ ์ค๋ช ํ ์ ์์ด์ผ ํ๋ค.
๋ ผ๋ฆฌ์ ์ฃผ์ (logical address) ๋?
process๊ฐ memory์ ์ ์ฌ๋๊ธฐ ์ํ ๋ ์์ ์ธ ์ฃผ์ ๊ณต๊ฐ์ธ ๋ ผ๋ฆฌ์ ์ฃผ์(logical address)๊ฐ ์์ฑ๋๋ค.
๋ ผ๋ฆฌ์ ์ฃผ์๋ ๊ฐ process๋ง๋ค ๋ ๋ฆฝ์ ์ผ๋ก ํ ๋น๋๋ฉฐ, 0๋ฒ์ง๋ถํฐ ์์๋๋ค.
๋ฌผ๋ฆฌ์ ์ฃผ์ (physical address) ๋?
๋ฌผ๋ฆฌ์ ์ฃผ์(physical address)๋ process๊ฐ ์ค์ ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋๋ ์์น๋ฅผ ๋งํ๋ค.
์ฃผ์ ๋ฐ์ธ๋ฉ(address binding) ์ด๋?
CPU๊ฐ ๊ธฐ๊ณ์ด ๋ช ๋ น์ ์ํํ๊ธฐ ์ํด process์ ๋ ผ๋ฆฌ์ ์ฃผ์๊ฐ ์ค์ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์ด๋ ์์น์ ๋งคํ๋๋์ง ํ์ธํ๋ ๊ณผ์ ์ ์ฃผ์ ๋ฐ์ธ๋ฉ(address binding)์ด๋ผ๊ณ ํ๋ค.
Paging ์๋ฆฌ
paging ๊ธฐ๋ฒ์ process์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋์ผํ ํฌ๊ธฐ์ page๋จ์๋ก ๋๋์ด ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ก ๋ค๋ฅธ ์์น์ page๋ค์ ์ ์ฅํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ด๋ค. paging ๊ธฐ๋ฒ์์๋ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ page์ ๊ฐ์ ํฌ๊ธฐ์ frame์ผ๋ก ๋ฏธ๋ฆฌ ๋๋์ด๋๋ค.
paging ๊ธฐ๋ฒ์์๋ ์ฃผ์ ๋ฐ์ธ๋ฉ(address binding)์ ์ํ ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ๊ฐ์ ์ฃผ์ ๋ณํ์ ์ํ page table์ ๊ฐ๋๋ค.
paging ๊ธฐ๋ฒ ์ฌ์ฉ์ ๋ฐ์ํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ๋จํธํ(Memory fragmentation) ๋ฌธ์ ์ค๋ช
๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ์์ ์กฐ๊ฐ์ผ๋ก ๋๋ ์ ธ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ถฉ๋ถํ ์กด์ฌํจ์๋ ํ ๋น์ด ๋ถ๊ฐ๋ฅํ ์ํ๋ฅผ ๋ณด๊ณ ๋ฉ๋ชจ๋ฆฌ ๋จํธํ๊ฐ ๋ฐ์ํ๋ค๊ณ ๋งํ๋ค.
paging ๊ธฐ๋ฒ์์๋ process์ ๋ ผ๋ฆฌ์ ์ฃผ์ ๊ณต๊ฐ๊ณผ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ฐ์ ํฌ๊ธฐ์ page ๋จ์๋ก ๋๋์ด์ง๊ธฐ ๋๋ฌธ์ ์ธ๋ถ ๋จํธํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋๋ค. ํ์ง๋ง process ์ฃผ์ ๊ณต๊ฐ์ ํฌ๊ธฐ๊ฐ page ํฌ๊ธฐ์ ๋ฐฐ์๋ผ๋ ๋ณด์ฅ์ด ์๊ธฐ ๋๋ฌธ์, ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ ์ค ๋ง์ง๋ง์ ์์นํ page์์๋ ๋ด๋ถ ๋จํธํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ์๋ค.
segmentation ์ด๋?
segmentation์ด๋ process๊ฐ ํ ๋น๋ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ ผ๋ฆฌ์ ์๋ฏธ ๋จ์(segment)๋ก ๋๋์ด, ์ฐ์๋์ง ์๋ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋น๋ ์ ์๋๋ก ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ด๋ค.
page์ ๊ฐ์ด ๋ฉด์ ์์ ์์ฃผ ๋์ค์ง ์์ง๋ง, ๋ฉ๋ชจ๋ฆฌ์ ๋ํด์ ์ดํดํ๋๋ฐ ์ค์ํ ๋ด์ฉ์ด ๋ง์ด ๋ด๊ฒจ์ ธ ์๋ค.
์ผ์ ํ ํฌ๊ธฐ์ ๋จ์๋ก ๋๋์ด ํ ๋น์ ํ๋ page์ ๋ค๋ฅด๊ฒ, segmentation์ ์๋ฏธ ๋จ์๋ก ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น์ ํ๋ ๊ธฐ๋ฒ์์ ์ค๋ช ํ ์ ์์ด์ผ ํ๋ค. ํนํ code, data, heap, stack ๋ฑ์ ๊ธฐ๋ฅ(์๋ฏธ) ๋จ์๋ก ๋๋๋ค๋ ์ ์ ๊ธฐ์ตํ์๊ธธ ๋ฐ๋๋ค.
Segmentation
segmentation ๊ธฐ๋ฒ์ process๊ฐ ํ ๋น๋ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ ผ๋ฆฌ์ ์๋ฏธ ๋จ์(segment)๋ก ๋๋์ด, ์ฐ์๋์ง ์๋ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋น๋ ์ ์๋๋ก ํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ด๋ค.
์ผ๋ฐ์ ์ผ๋ก process์ ๋ฉ๋ชจ๋ฆฌ ์์ญ ์ค Code, Data, Heap, Stack ๋ฑ์ ๊ธฐ๋ฅ ๋จ์๋ก segment๋ฅผ ์ ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
segmentation ๊ธฐ๋ฒ์์๋ ์ฃผ์ ๋ฐ์ธ๋ฉ(address binding)์ ์ํด ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ๊ฐ์ ์ฃผ์ ๋ณํ์ ์ํ segment table์ ๊ฐ๋๋ค.
segment๋ ๊ทธ ํฌ๊ธฐ๊ฐ ๊ท ์ผํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ ผ๋ฆฌ์ ์ฃผ์๊ฐ <segment ๋ฒํธ, offset>์ผ๋ก ํํ๋๋ค.
์ด ๋ offset ๊ฐ์ด table์ limit ๊ฐ๋ณด๋ค ํฌ๋ฉด, ํด๋น segment๋ฅผ ๋์ด๊ฐ๋ฏ๋ก segmentation fault ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
segmentation์ ๋ฉ๋ชจ๋ฆฌ ๋จํธํ(Memory fragmentation) ๋ฌธ์ ์ค๋ช
segmentation ๊ธฐ๋ฒ์์ segment์ ํฌ๊ธฐ๋งํผ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ฏ๋ก ๋ด๋ถ ๋จํธํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋๋ค. ํ์ง๋ง ์๋ก ๋ค๋ฅธ ํฌ๊ธฐ์ segment๋ค์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋๊ณ ์ ๊ฑฐ๋๋ ์ผ์ด ๋ฐ๋ณต๋๋ฉด, ์ธ๋ถ ๋จํธํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ์๋ค.
paging๊ณผ segmentation์ ์ฐจ์ด
paging | ์ผ์ ํ ํฌ๊ธฐ์ ๋จ์๋ก ๋๋์ด ํ ๋นํ๋ฉฐ, ๋ด๋ถ ๋จํธํ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. |
segmentation | code, data, heap, stack๋ฑ์ ๊ธฐ๋ฅ(์๋ฏธ)๋จ์๋ก ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ๋ฉฐ, segmentation์ ์ธ๋ถ ๋จํธํ์ ๋ฌธ์ ๊ฐ ๋ฐ์ |
paged segmentation ๊ธฐ๋ฒ ์ค๋ช
paged segmentation์ด๋ segmentation์ ๊ธฐ๋ณธ์ผ๋ก ํ๋ ์ด๋ฅผ ๋ค์ ๋์ผ ํฌ๊ธฐ์ page๋ก ๋๋์ด ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ด๋ค. ์ฆ, ํ๋ก๊ทธ๋จ์ ์๋ฏธ ๋จ์์ segment๋ก ๋๋๊ณ ๊ฐ๋ณ segment์ ํฌ๊ธฐ๋ฅผ page์ ๋ฐฐ์๊ฐ ๋๋๋ก ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ด๋ฅผ ํตํด segmentation ๊ธฐ๋ฒ์์ ๋ฐ์ํ๋ ์ธ๋ถ ๋จํธํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ๋์์ segment ๋จ์๋ก process ๊ฐ์ ๊ณต์ ๋ process ๋ด์ ์ ๊ทผ ๊ถํ ๋ณดํธ๊ฐ ์ด๋ฃจ์ด์ง๋๋ก ํด์ paging ๊ธฐ๋ฒ์ ๋จ์ ์ ํด๊ฒฐํ๋ค.
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋?
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ(virtual memory)๋ process ์ ์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ค์ง ์๋๋ผ๋ ์คํ์ด ๊ฐ๋ฅํ๋๋ก ํ๋ ๊ธฐ๋ฒ์ด๋ค. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฒ์ ํตํด ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ์ปค์ ธ๋ ์คํ์ด ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ด ์๋ค.
์ด์์ฒด์ ์์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ จ๋ ๋ฉด์ ๋ฌธ์ ๋ ์ด ์์์ ๋ค ๋์จ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์ค์ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๊ณ ์๋ ์ด์์ฒด์ ์์๋ ๊ฐ์๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ดํดํ๋ ๊ฒ์ ๊ฐ๋ฐ์์๊ฒ ์ค์ํ๋ค.
์ด์์ฒด์ ์ ์ํด์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๊ฐ ์ด๋ป๊ฒ ์ด๋ค์ง๊ณ ์๋์ง, ๊ฐ์๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ฌด์์ธ์ง, page fault๋ ๋ฌด์์ด๊ณ page ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์๋ ์ด๋ค ๊ฒ๋ค์ด ์๋์ง๊ฐ ํฌ์ธํธ์ด๋ค.
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ (virtual memroy)
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ค์ ์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๊ฐ๋ ๊ณผ ๊ฐ๋ฐ์ ์ ์ฅ์ ๋ ผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๊ฐ๋ ์ ๋ถ๋ฆฌํ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ํจ์ผ๋ก์จ ๊ฐ๋ฐ์๊ฐ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ์ ๊ด๋ จํ ๋ฌธ์ ๋ฅผ ์ผ๋ คํ ํ์ ์์ด ์ฝ๊ฒ ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์๊ฒ ํด์ค๋ค.
์ด์์ฒด์ ๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฒ์ ํตํด ํ๋ก๊ทธ๋จ์ ๋ ผ๋ฆฌ์ ์ฃผ์ ์์ญ์์ ํ์ํ ๋ถ๋ถ๋ง ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๊ณ , ์ง์ ์ ์ผ๋ก ํ์ํ์ง ์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋์คํฌ(Swap ์์ญ)์ ์ ์ฅํ๊ฒ ๋๋ค.
์๊ตฌ ํ์ด์ง(demand paging)
๋น์ฅ ์ฌ์ฉ๋ ์ฃผ์ ๊ณต๊ฐ์ page ๋จ์๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ๋ฐฉ๋ฒ์ ์๊ตฌ ํ์ด์ง(demand paging)์ด๋ผ๊ณ ํ๋ค.
์๊ตฌ ํ์ด์ง ๊ธฐ๋ฒ์์๋ ํน์ page์ ๋ํด cpu์ ์์ฒญ์ด ๋ค์ด์จ ํ์ ํด๋น page๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ค. ๋น์ฅ ์คํ์ ํ์ํ page๋ง์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๊ฐ์ํ๊ณ , ํ๋ก์ธ์ค ์ ์ฒด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ์ ์ถ๋ ฅ ์ค๋ฒํค๋๋ ๊ฐ์ํ๋ ์ฅ์ ์ด ์๋ค.
์๊ตฌ ํ์ด์ง ๊ธฐ๋ฒ์์๋ ์ ํจ/๋ฌดํจ ๋นํธ(valid/invalid bit)๋ฅผ ๋์ด ๊ฐ page๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ๋์ง ํ์ํ๊ฒ ๋๋ค.
Page fault
CPU๊ฐ ๋ฌดํจ ๋นํธ(invalid bit)๋ก ํ์๋ page์ ์์ธ์คํ๋ ์ํฉ์ page fault๋ผ๊ณ ํ๋ค.
CPU๊ฐ ๋ฌดํจ page์ ์ ๊ทผํ๋ฉด ์ฃผ์ ๋ณํ์ ๋ด๋นํ๋ ํ๋์จ์ด์ธ MMU๊ฐ page fault trap์ ๋ฐ์์ํค๊ฒ ๋๊ณ , ๋ค์๊ณผ ๊ฐ์ ์์๋ก page fault๋ฅผ ์ฒ๋ฆฌํ๊ฒ ๋๋ค.
- CPU๊ฐ ํ์ด์ง N์ ์ฐธ์กฐํ๋ค.
- Page table์์ ํ์ด์ง N์ด ๋ฌดํจ์ํ์์ ํ์ธํ๋ค.
- MMU์์ Page fault trap์ด ๋ฐ์์ํจ๋ค.
- ๋์คํฌ์์ ํ์ด์ง N์ ํ๋ ์์ ์ ์ฌํ๊ณ page table์ ์ ๋ฐ์ดํธํ๋ค.(invalid -> valid)
page ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ (replacement algorithm)
page fault๊ฐ ๋ฐ์ํ๋ฉด, ์์ฒญ๋ page๋ฅผ ๋์คํฌ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ฐ์ ธ์จ๋ค. ์ด ๋, ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ณต๊ฐ์ด ๋ถ์กฑํ ์ ์๋ค. ๊ทธ๋ด ๊ฒฝ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์๋ page๋ฅผ ๋์คํฌ๋ก ์ฎ๊ฒจ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋ณดํด์ผ ํ๋ค. ์ด๊ฒ์ ํ์ด์ง ๊ต์ฒด(page replacement)๋ผ๊ณ ํ๊ณ , ์ด๋ค page๋ฅผ ๊ต์ฒดํ ๊ฒ์ด๋๋ฅผ ๊ฒฐ์ ํ๋ ์๊ณ ๋ฆฌ์ฆ์ด page๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ(replacement algorithm)์ด๋ค.
๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ ์ต๋ํ page fault๊ฐ ์ ๊ฒ ์ผ์ด๋๋๋ก ๋์์ค์ผ ํ๋ค. ๋ฐ๋ผ์ ์์ผ๋ก ์ฐธ์กฐ๋ ๊ฐ๋ฅ์ฑ์ด ์ ์ page๋ฅผ ์ ํํด์ ๊ต์ฒดํ๋ ๊ฒ์ด ์ฑ๋ฅ์ ํฅ์์ํค๋ ๋ฐฉ๋ฒ์ด๋ค.
์๊ณ ๋ฆฌ์ฆ | ์ค๋ช |
FIFO(First In First Out) | ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์จ์ง ๊ฐ์ฅ ์ค๋๋ page๋ฅผ ๊ต์ฒดํ๋ค. |
์ต์ ํ์ด์ง ๊ต์ฒด | ์์ผ๋ก ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ page๋ฅผ ์ฐพ์ ๊ต์ฒดํ๋ค. ์ค์ ๊ตฌํ์ ์ด๋ ต๋ค. |
LRU(Least Recently Used) | ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ page๋ฅผ ๊ต์ฒดํ๋ค. |
LFU(Least Frequently Used) | ์ฐธ์กฐ ํ์๊ฐ ๊ฐ์ฅ ์ ์ page๋ฅผ ๊ต์ฒดํ๋ค. ๋น์ฉ๋๋น ์ฑ๋ฅ์ด ์ข์ง ์์ ์ ์ฐ์ด์ง ์๋๋ค. |
์๊ตฌํ์ด์ง(demand paging) ์ด๋?
์๊ตฌ ํ์ด์ง ๊ธฐ๋ฒ์ ํน์ page์ ๋ํด cpu์ ์์ฒญ์ด ๋ค์ด ์์ ๋ ํด๋น page๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ค. ๋ค์ฅ ์คํ์ ํ์ํ page๋ง์ ํ๋ชจ๋ฆฌ์ ์ ์ฌํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๊ฐ์ํ๊ณ , ํ๋ก์ธ์ค ์ ์ฒด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ์ ์ถ๋ ฅ ์ค๋ฒํค๋๋ ๊ฐ์ํ๋ ์ฅ์ ์ด ์๋ค.
ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ(replacement agorithm)์ ์๋๋๋ก ์ค๋ช
FIFO, ์ต์ ํ์ด์ง ๊ต์ฒด, LRU, LFU ๋ฑ์ด ์๋ค.
LRU ์๊ณ ๋ฆฌ์ฆ๊ณผ LFU ์๊ณ ๋ฆฌ์ฆ์ ๋น๊ต ์ค๋ช
LRU๋ Least Recently Used์ ์์๋ก, ๊ฐ์ฅ ์ค๋์ ์ ์ฐธ์กฐ๊ฐ ์ด๋ฃจ์ด์ง page๋ฅผ ๊ต์ฒดํ๋ค.
LFU๋ Least Frequently Used์ ์ฝ์๋ก, ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์กด์ฌํ๋ page ์ค์์ ์ง๊ธ๊น์ง์ ์ฐธ์กฐ ํ์๊ฐ ๊ฐ์ฅ ์ ์ page๋ฅผ ๊ต์ฒดํ๋ค.
์ฐธ๊ณ
'๐ป Computer Science > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํฌ๋ ์(Forensic)์ด๋ ? ๋์งํธ ํฌ๋ ์์ด๋? ์๋ฆฌ (0) | 2023.08.11 |
---|---|
compile(์ปดํ์ผ)๊ณผ runtime(๋ฐํ์) ์ฐจ์ด (0) | 2023.05.27 |
Process & Thread ๋? (multi process & multi thread & Deadlock ์ ๋ฆฌ) (0) | 2023.05.23 |
๋์์ฑ (Concurrency)๊ณผ ๋ณ๋ ฌ์ฑ (Parallelism) (0) | 2023.05.22 |