๋ฐ์ํ
๊ฐ์๋ฉ๋ชจ๋ฆฌ
process ์ ์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ค์ง ์๋๋ผ๋ ์คํ์ด ๊ฐ๋ฅํ๋๋ก ํ๋ ๊ธฐ๋ฒ
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ (virtual memory)
์ค์ ์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๊ฐ๋ ๊ณผ ๊ฐ๋ฐ์ ์ ์ฅ์ ๋ ผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๊ฐ๋ ์ ๋ถ๋ฆฌํ ๊ฒ
- ๊ฐ๋ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ์ ๊ด๋ จํ ๋ฌธ์ ๋ฅผ ์ผ๋ คํ ํ์ ์์ด ์ฝ๊ฒ ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์์
- ๋ ผ๋ฆฌ์ ์ฃผ์ ์์ญ์์ ํ์ํ ๋ถ๋ถ๋ง ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๊ณ , ํ์ํ์ง ์์ ๋ถ๋ถ์ ๋์คํฌ(Swap ์์ญ)์ ์ ์ฅ
์๊ตฌ ํ์ด์ง(demand paging)
๋น์ฅ ์ฌ์ฉ๋ ์ฃผ์ ๊ณต๊ฐ์ page ๋จ์๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ๋ฐฉ๋ฒ
- ํน์ page์ ๋ํด cpu ์์ฒญ์ด ๋ค์ด์จ ํ์ ํด๋น page๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ
- ๋น์ฅ ์คํ์ ํ์ํ page๋ง์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ
-> ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ๊ฐ์ & ํ๋ก์ธ์ค ์ ์ฒด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ์ ์ถ๋ ฅ ์ค๋ฒํค๋ ๊ฐ์ - ์ ํจ / ๋ฌดํจ ๋นํธ๋ฅผ ๋์ด ๊ฐ page๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ๋์ง ํ์
Page fault
CPU๊ฐ ๋ฌดํจ ๋นํธ๋ก ํ์๋ page์ ์์ธ์ค ํ๋ ์ํฉ
๋ฐ์ ์์
- CPU๊ฐ ํ์ด์ง N์ ์ฐธ์กฐ
- Page table์์ ํ์ด์ง N์ด ๋ฌดํจ ๋นํธ(invalid bit)์์ ํ์ธ
- MMU์์ page fault๋ฅผ ๋ฐ์์ํด
- ๋์คํฌ์์ ํ์ด์ง N์ ๋น ํ๋ ์์ ์ ์ฌํ๊ณ page table ์ ๋ฐ์ดํธ(invalid -> valid)
page ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ
๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋ถ์กฑํ ๋, ์ด๋ค page๋ฅผ ๊ต์ฒดํ ๊ฒ์ด๋๋ฅผ ๊ฒฐ์ ํ๋ ์๊ณ ๋ฆฌ์ฆ
์๊ณ ๋ฆฌ์ฆ | ์ค๋ช |
---|---|
FIFO | ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์จ์ง ๊ฐ์ฅ ์ค๋๋ page๋ฅผ ๊ต์ฒด |
์ต์ ํ์ด์ง ๊ต์ฒด | ์์ผ๋ก ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ page ๊ต์ฒด -> ์ค์ ๊ตฌํ์ ์ด๋ ค์ |
LRU | ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ page ๊ต์ฒด ( Least Recently Used ) |
LFU | ์ฐธ์กฐ ํ์๊ฐ ๊ฐ์ฅ ์ ์ page ๊ต์ฒด ( Least Frequently Used ) -> ๋น์ฉ๋๋น ์ฑ๋ฅ์ด ์ข์ง ์์ ์ ์ฐ์ด์ง ์์ |
์ฐธ์กฐ
๋ฐ์ํ
'๐ Study > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Memory] Paging VS Segmentation (0) | 2022.05.25 |
---|---|
๋ฐ์ดํฐ ํต์ ๊ณผ ๋๊ธฐํ ๋ฌธ์ (0) | 2022.05.25 |
Multi process VS Multi thread (0) | 2022.05.25 |
Thread์ Multi Thread (0) | 2022.05.09 |
Process์ Multi Process (0) | 2022.04.26 |