๐Ÿ“š Study/์šด์˜์ฒด์ œ

[Memory] ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ

์ ์ด 2022. 5. 25. 23:10
๋ฐ˜์‘ํ˜•

๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ

process ์ „์ฒด๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜ค์ง€ ์•Š๋”๋ผ๋„ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋Š” ๊ธฐ๋ฒ•

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ (virtual memory)

์‹ค์ œ์˜ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๊ฐœ๋…๊ณผ ๊ฐœ๋ฐœ์ž ์ž…์žฅ์˜ ๋…ผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๊ฐœ๋…์„ ๋ถ„๋ฆฌํ•œ ๊ฒƒ

  • ๊ฐœ๋ฐœ์ž๋Š” ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ์— ๊ด€๋ จํ•œ ๋ฌธ์ œ๋ฅผ ์—ผ๋ คํ•  ํ•„์š” ์—†์ด ์‰ฝ๊ฒŒ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Œ
  • ๋…ผ๋ฆฌ์  ์ฃผ์†Œ ์˜์—ญ์—์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๊ณ , ํ•„์š”ํ•˜์ง€ ์•Š์€ ๋ถ€๋ถ„์€ ๋””์Šคํฌ(Swap ์˜์—ญ)์— ์ €์žฅ

์š”๊ตฌ ํŽ˜์ด์ง•(demand paging)

๋‹น์žฅ ์‚ฌ์šฉ๋  ์ฃผ์†Œ ๊ณต๊ฐ„์„ page ๋‹จ์œ„๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ํŠน์ • page์— ๋Œ€ํ•ด cpu ์š”์ฒญ์ด ๋“ค์–ด์˜จ ํ›„์— ํ•ด๋‹น page๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ
  • ๋‹น์žฅ ์‹คํ–‰์— ํ•„์š”ํ•œ page๋งŒ์„ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ ์žฌ
    -> ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๊ฐ์†Œ & ํ”„๋กœ์„ธ์Šค ์ „์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๋Š” ์ž…์ถœ๋ ฅ ์˜ค๋ฒ„ํ—ค๋“œ ๊ฐ์†Œ
  • ์œ ํšจ / ๋ฌดํšจ ๋น„ํŠธ๋ฅผ ๋‘์–ด ๊ฐ page๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜๋Š”์ง€ ํ‘œ์‹œ

Page fault

CPU๊ฐ€ ๋ฌดํšจ ๋น„ํŠธ๋กœ ํ‘œ์‹œ๋œ page์— ์—‘์„ธ์Šค ํ•˜๋Š” ์ƒํ™ฉ

๋ฐœ์ƒ ์ˆœ์„œ

  1. CPU๊ฐ€ ํŽ˜์ด์ง€ N์„ ์ฐธ์กฐ
  2. Page table์—์„œ ํŽ˜์ด์ง€ N์ด ๋ฌดํšจ ๋น„ํŠธ(invalid bit)์ž„์„ ํ™•์ธ
  3. MMU์—์„œ page fault๋ฅผ ๋ฐœ์ƒ์‹œํ‚ด
  4. ๋””์Šคํฌ์—์„œ ํŽ˜์ด์ง€ N์„ ๋นˆ ํ”„๋ ˆ์ž„์— ์ ์žฌํ•˜๊ณ  page table ์—…๋ฐ์ดํŠธ(invalid -> valid)

page ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•  ๋•Œ, ์–ด๋–ค page๋ฅผ ๊ต์ฒดํ•  ๊ฒƒ์ด๋ƒ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๋ช…
FIFO ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜จ์ง€ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ page๋ฅผ ๊ต์ฒด
์ตœ์  ํŽ˜์ด์ง€ ๊ต์ฒด ์•ž์œผ๋กœ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ page ๊ต์ฒด -> ์‹ค์ œ ๊ตฌํ˜„์˜ ์–ด๋ ค์›€
LRU ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ page ๊ต์ฒด ( Least Recently Used )
LFU ์ฐธ์กฐ ํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ page ๊ต์ฒด ( Least Frequently Used ) -> ๋น„์šฉ๋Œ€๋น„ ์„ฑ๋Šฅ์ด ์ข‹์ง€ ์•Š์•„ ์ž˜ ์“ฐ์ด์ง€ ์•Š์Œ

์ฐธ์กฐ

Inflearn - ๊ธฐ์ถœ๋กœ ๋Œ€๋น„ํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์ „๊ณต๋ฉด์ ‘

๋ฐ˜์‘ํ˜•