๐Ÿ‘€ Demain Paging

  • ์‹ค์ œ๋กœ ํ•„์š”ํ•  ๋•Œ page๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ
  • ์™œ๋ƒ๋ฉด ํ”„๋กœ๊ทธ๋žจ์˜ ๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋“œ๋Š” (๊ฑฐ์˜ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ์น˜๋ช…์ ์ธ) ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋ผ ํ‰์†Œ์—๋Š” ์“ฐ์ง€์ง€ ์•Š๋Š” ๋ถ€๋ถ„์ด ๋Œ€๋‹ค์ˆ˜๋‹ค. ๊ทธ๋ž˜์„œ ์ด๊ฑธ ๋‹ค ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค ๋†“์œผ๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„๋งŒ ์ฐจ์ง€ํ•˜๊ณ  ๋น„ํšจ์œจ์ ์ด๋‹ค.
  • ๊ทธ๋ž˜์„œ ํ”„๋กœ์„ธ์Šค ๋™์ž‘์— ์‹ค์ œ๋กœ ํ•„์š”ํ•œ page๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ด๋‹ค.
  • ์žฅ์ 
    • I/O ์–‘์˜ ๊ฐ์†Œ
    • ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๊ฐ์†Œ
    • ๋น ๋ฅธ ์‘๋‹ต ์‹œ๊ฐ„
    • ๋” ๋งŽ์€ ์‚ฌ์šฉ์ž ์ˆ˜์šฉ

  • ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์— page๊ฐ€ ์˜ฌ๋ ค์งˆ page entry์—์„œ Valid/Invalid bit๋ฅผ ์‚ฌ์šฉํ•ด ํ˜„์žฌ ๋ฉ”๋ชจ๋ฆฌ์— page๊ฐ€ ์˜ฌ๋ ค์ ธ ํ™•์ธํ•œ๋‹ค. ๋งŒ์•ฝ ์–ด๋–ค ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ์ ‘๊ทผํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์œ„์น˜๊ฐ€ Invalid bit๋กœ ์„ธํŒ…๋˜์–ด ์žˆ์œผ๋ฉด page fault๊ฐ€ ์ผ์–ด๋‚ฌ๋‹ค๊ณ  ํ•œ๋‹ค.
  • page fault๊ฐ€ ์ผ์–ด๋‚˜๋ฉด ๋””์Šคํฌ์— ์ง์ ‘ ์ ‘๊ทผํ•ด์„œ ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋Š”๋ฐ ์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•ด์„œ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์— ๋น„ํ•ด ์‹œ๊ฐ„์ด ์•„์ฃผ ๋งŽ์ด ๊ฑธ๋ฆฐ๋‹ค.

Replacement Algorithm

Page replacement

  • ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋ฅผ ์˜ฌ๋ฆด ๊ณต๊ฐ„์ด ์—†์œผ๋ฉด ์˜ฌ๋ ค์ ธ ์žˆ๋Š” ํŽ˜์ด์ง€ ์ค‘ ์–ด๋–ค ๊ฒƒ์„ ์ซ“์•„๋‚ผ ์ง€ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.
  • ์ด๋ฅผ ์œ„ํ•œ ์—ฌ๋Ÿฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ๋Š”๋ฐ ๋Œ€์ฒด๋กœ page fault๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ณง๋ฐ”๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ํŽ˜์ด์ง€๋ฅผ ์ซ“์•„๋‚ด๋Š” ํ˜•ํƒœ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค.

Optimal Algorithm

  • ๊ฐ€์žฅ ๋จผ ๋ฏธ๋ž˜์— ์‚ฌ์šฉ๋ (๋‹น์žฅ ์‚ฌ์šฉ๋˜์ง€ ์•Š์„) ํŽ˜์ด์ง€๋ฅผ ์ซ“์•„๋‚ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๋ฏธ๋ž˜์— ์ฐธ์กฐ๋  ํŽ˜์ด์ง€๋ฅผ ๋ฏธ๋ฆฌ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ํ•˜์ง€๋งŒ ๋ฏธ๋ž˜๋ฅผ ์•„๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ์‹œ์Šคํ…œ์— ์‚ฌ์šฉ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

FIFO (First In First Out) Algorithm

  • ๋จผ์ € ๋“ค์–ด์˜จ ๊ฒƒ์„ ๋จผ์ € ๋‚ด์ซ“๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์‹ค์ œ ์‹œ์Šคํ…œ์— ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.
  • ๋จผ์ € ๋“ค์–ด์˜จ ๊ฒƒ์„ ๋‚ด์ซ“๋Š” ๊ณผ์ •์—์„œ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ ธ๋Š”๋ฐ ์˜คํžˆ๋ ค page fault๊ฐ€ ๋Š˜์–ด๋‚˜ ์„ฑ๋Šฅ์ด ํ•˜๋ฝํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.

LRU (Least Recently Used) Algorithm

  • ๊ฐ€์žฅ ์˜ค๋ž˜ ์ „์— ์ฐธ์กฐ๋œ ๊ฒƒ์„ ์ง€์šฐ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์‹ค์ œ ์‹œ์Šคํ…œ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.
  • ์–ด๋–ค ํŽ˜์ด์ง€๊ฐ€ ์ฐธ์กฐ๋˜๋ฉด ๊ทธ๊ฒƒ์˜ ์ˆœ์„œ๋ฅผ ๋งจ ์•ž์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ(Linked list) ํ˜•ํƒœ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(1)

LFU (Least Frequently Used) Algorithm

  • ์ฐธ์กฐ ํšŸ์ˆ˜(reference count)๊ฐ€ ๊ฐ€์žฅ ์ ์€ ํŽ˜์ด์ง€๋ฅผ ์ง€์šฐ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ์ตœ์ € ์ฐธ์กฐ ํšŸ์ˆ˜ ํŽ˜์ด์ง€๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ๋Š” ๊ฒฝ์šฐ
      • ๋‚ด์ซ“์„ ํŽ˜์ด์ง€๋ฅผ ์ž„์˜๋กœ ์„ ์ •ํ•œ๋‹ค.
      • ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ๊ฐ€์žฅ ์˜ค๋ž˜ ์ „์— ์ฐธ์กฐ๋œ ํŽ˜์ด์ง€๋ฅผ ์ง€์šฐ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
    • ์žฅ๋‹จ์ 
      • LRU์ฒ˜๋Ÿผ ์ง์ „ ์ฐธ์กฐ ์‹œ์ ๋งŒ ๋ณด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์žฅ๊ธฐ์ ์ธ ์‹œ๊ฐ„ ๊ทœ๋ชจ๋ฅผ ๋ณด๊ธฐ ๋•Œ๋ฌธ์— ํŽ˜์ด์ง€์˜ ์ธ๊ธฐ๋„๋ฅผ ์ข€ ๋” ์ •ํ™•ํžˆ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
      • ์ฐธ์กฐ ์‹œ์ ์˜ ์ตœ๊ทผ์„ฑ์„ ๋ฐ˜์˜ํ•˜์ง€ ๋ชป ํ•œ๋‹ค.(๋งŒ์•ฝ 1์ดˆ ์ „์— ์ฒ˜์Œ์œผ๋กœ ์ฐธ์กฐ ๋˜์—ˆ๋‹ค๋ฉด ์ธ๊ธฐ๋„๊ฐ€ ๋‚ฎ์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ณ  ๋‚ด์ซ“๊ฒŒ ๋œ๋‹ค)
      • LRU๋ณด๋‹ค ๊ตฌํ˜„์ด ๋ณต์žกํ•˜๋‹ค.
  • ์–ด๋–ค ํŽ˜์ด์ง€๊ฐ€ ์ฐธ์กฐ๋˜๋ฉด ์ด์ „์— ์ฐธ์กฐ๋œ ํŽ˜์ด์ง€๋“ค์˜ ์ฐธ์กฐ ํšŸ์ˆ˜์™€ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•ด์„œ ์ˆœ์„œ๋ฅผ ์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ LRU์ฒ˜๋Ÿผ ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ์ˆœ์„œ๋ฅผ ์žฌ์„ค์ • ํ•˜๋Š” ๋ฐ ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค. ๊ทธ๋ž˜์„œ ์ตœ์†Œํž™(Min heap) ํ˜•ํƒœ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค. ์ฐธ์กฐ ํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ํŽ˜์ด์ง€๊ฐ€ ํž™์˜ ์ตœ์ƒ๋‹จ์— ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(log n)

์บ์Š ๊ธฐ๋ฒ•

  • ํ•œ์ •๋œ ๋น ๋ฅธ ๊ณต๊ฐ„(=์บ์‰ฌ)์— ์š”์ฒญ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด ๋‘์—ˆ๋‹ค๊ฐ€ ํ›„์† ์š”์ฒญ์‹œ ์บ์‰ฌ๋กœ๋ถ€ํ„ฐ ์ง์ ‘ ์„œ๋น„์Šคํ•˜๋Š” ๋ฐฉ์‹
  • paging system ์™ธ์—๋„ cache memory, buffer caching, Web caching ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.
  • ๊ทธ๋Ÿฐ๋ฐ paging system์—์„œ๋Š” page fault๊ฐ€ ์ƒ๊ฒจ์„œ ๋””์Šคํฌ์—์„œ ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•  ๋•Œ์—๋งŒ OS๊ฐ€ ๊ด€์—ฌํ•˜๊ณ  ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ์–ด์„œ ๋””์Šคํฌ๊นŒ์ง€ ๊ฐˆ ํ•„์š”๊ฐ€ ์—†์„ ๋•Œ์—” OS๊ฐ€ ๊ด€์—ฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ OS๋Š” ํŽ˜์ด์ง€์˜ ๋ฉ”๋ชจ๋ฆฌ ์ž…์žฅ ์‹œ๊ฐ„ ์ •๋„๋งŒ ์•Œ๊ณ  ์žˆ์ง€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ„ ์ดํ›„์˜ ์ฐธ์กฐ ์‹œ๊ฐ„๊ณผ ๋นˆ๋„ ๊ฐ™์€ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ์‚ฌ์‹ค ์œ„์—์„œ ์„ค๋ช…ํ–ˆ๋˜ LRU์™€ LFU ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ OS์˜ paging system์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

Clock Algorithm

  • ๊ทธ ๋Œ€์‹  ๋น„์Šทํ•œ ํšจ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๋Š” Clock Algorithm์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์‹œ๊ณ„์—์„œ ์ดˆ์นจ์ด ๋Œ์•„๊ฐ€๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ํฌ์ธํ„ฐ๊ฐ€ page entry๋ฅผ ๋Œ๋ฉด์„œ ๊ต์ฒดํ•  ํŽ˜์ด์ง€๋ฅผ ์„ ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
  • ํ•œ ๋ฐ”ํ€ด ๋Œ๋ฉด์„œ Reference bit๊ฐ€ 1์ด๋ฉด ๊ทธ๋™์•ˆ ์‚ฌ์šฉ๋œ ๊ฒƒ์œผ๋กœ ๋ณด๊ณ  0์œผ๋กœ ๋ฐ”๊พธ๊ณ  ๋„˜์–ด๊ฐ€๊ณ  0์ด๋ฉด ๊ทธ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•ด ์ซ“์•„๋‚ธ๋‹ค.

Page Frame์˜ Allocation

  • ๋ฉ”๋ชจ๋ฆฌ ์ฐธ์กฐ ๋ช…๋ น์–ด ์ˆ˜ํ–‰์‹œ ๋ช…๋ น์–ด, ๋ฐ์ดํ„ฐ ๋“ฑ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ๋™์‹œ์— ์ฐธ์กฐํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ๋ช…๋ น์–ด ์ˆ˜ํ–‰์„ ์œ„ํ•ด ์ตœ์†Œํ•œ ํ• ๋‹น๋˜์–ด์•ผ ํ•˜๋Š” ํ”„๋ ˆ์ž„์˜ ์ˆ˜๊ฐ€ ์žˆ๋Š”๋ฐ ์ด ๋™์ž‘ Loop๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํŽ˜์ด์ง€๋“ค์€ ํ•œ๊บผ๋ฒˆ์— allocate๋˜๋Š” ๊ฒƒ์ด ์œ ๋ฆฌํ•˜๋‹ค. ๋งŒ์•ฝ ํ•˜์ง€ ์•Š์œผ๋ฉด ๋งค Loop๋งˆ๋‹ค page fault๊ฐ€ ์ƒ๊ฒจ ๋งค๋ฒˆ ๋””์Šคํฌ์— ํŽ˜์ด์ง€๋ฅผ ์ฐพ์œผ๋Ÿฌ ๊ฐ€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น„ํšจ์œจ์ ์ด๊ณ  ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ๊ฒƒ์ด๋‹ค.

Allocation Scheme

  • Equal allocation : ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์— ๋˜‘๊ฐ™์€ ๊ฐœ์ˆ˜ ํ• ๋‹น
  • Proportional allocation : ํ”„๋กœ์„ธ์Šค ํฌ๊ธฐ์— ๋น„๋ก€ํ•˜์—ฌ ํ• ๋‹น
  • Priority allocation : ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ํ• ๋‹น

Global replacement

  • ํ”„๋ ˆ์ž„์„ ์–ป๊ธฐ ์œ„ํ•ด ๊ฒฝ์Ÿํ•˜๋Š” ํ˜•ํƒœ๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • replace์‹œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ ํ”„๋ ˆ์ž„์„ ๋นผ์•—์•„ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
  • FIFO, LRU, LFU ๋“ฑ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ global replacement๋กœ ์‚ฌ์šฉ์‹œ์— ํ•ด๋‹น
  • Working set, PFF ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ

Local replacement

  • ๋ฏธ๋ฆฌ ํ• ๋‹นํ•ด ๋†“๋Š” ํ˜•ํƒœ์ด๋‹ค.
  • ์ž์‹ ์—๊ฒŒ ํ• ๋‹น๋œ ํ”„๋ ˆ์ž„ ๋‚ด์—์„œ๋งŒ ๊ต์ฒด
  • FIFO, LRU, LFU ๋“ฑ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ”„๋กœ์„ธ์Šค๋ณ„๋กœ ์šด์˜์‹œ ํ•ด๋‹น

Thrashing

  • ํ”„๋กœ์„ธ์Šค์˜ ์›ํ™œํ•œ ์ˆ˜ํ–‰์— ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ page frame์ˆ˜๋ฅผ ํ• ๋‹น ๋ฐ›์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ ๋ฐœ์ƒ
  • page fault rate์ด ๋งค์šฐ ๋†’์•„์ง„๋‹ค.
  • CPU ์‚ฌ์šฉ๋ฅ ์ด ๋‚ฎ์•„์ง
  • OS๋Š” MPD (Multiprogramming degree)๋ฅผ ๋†’์—ฌ์•ผ ํ•œ๋‹ค๊ณ  ํŒ๋‹จ
  • ๋˜ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์Šคํ…œ์— ์ถ”๊ฐ€๋จ(higher MPD)
  • ํ”„๋กœ์„ธ์Šค ๋‹น ํ• ๋‹น๋œ ํ”„๋ ˆ์ž„ ์ˆ˜๊ฐ€ ๋”์šฑ ๊ฐ์†Œ๋œ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค๋Š” ํŽ˜์ด์ง€์˜ swap in / swap out์œผ๋กœ ๋ฐ”์˜๋‹ค. ๊ทธ๋ž˜์„œ ๋ฉˆ์ถฐ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค. (์ •์ƒ์ ์ธ ๋™์ž‘ ๋ถˆ๊ฐ€)
  • ๊ทธ๋ž˜์„œ ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๊ฐ„์— CPU๋Š” ํ•œ๊ฐ€ํ•˜๋‹ค.(log throughput)
  • ๋™์‹œ์— ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์ˆ˜ ์กฐ์ ˆ์ด ํ•„์š”ํ•˜๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด Working-set model์ด๋‹ค.

Working-Set Model

  • ํ”„๋กœ์„ธ์Šค๋Š” ํŠน์ • ์‹œ๊ฐ„ ๋™์•ˆ ์ผ์ • ์žฅ์†Œ๋งŒ์„ ์ง‘์ค‘์ ์œผ๋กœ ์ฐธ์กฐํ•œ๋‹ค.
  • ์ง‘์ค‘์ ์œผ๋กœ ์ฐธ์กฐ๋˜๋Š” ํ•ด๋‹น ํŽ˜์ด์ง€๋“ค์˜ ์ง‘ํ•ฉ์„ localityy set์ด๋ผ ํ•œ๋‹ค.
  • locality์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ์›ํ™œํ•˜๊ฒŒ ์ˆ˜ํ–‰๋˜๊ธฐ ์œ„ํ•ด ํ•œ๊บผ๋ฒˆ์— ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์žˆ์–ด์•ผ ํ•˜๋Š” ํŽ˜์ด์ง€๋“ค์˜ ์ง‘ํ•ฉ์„ Working Set์ด๋ผ ์ •์˜ํ•œ๋‹ค.
  • Working Set ๋ชจ๋ธ์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค์˜ Working Set ์ „์ฒด๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์žˆ์–ด์•ผ ์ˆ˜ํ–‰๋˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š๊ณ  ๋ถ€๋ถ„์ ์œผ๋กœ ์žˆ์œผ๋ฉด ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ํ”„๋ ˆ์ž„๋„ ๋ชจ๋‘ ๋ฐ˜๋‚ฉ ํ›„ swap out(suspend)๋œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด thrashing์„ ์–ด๋Š ์ •๋„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Working Set์„ ์ œ๋Œ€๋กœ ํƒ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” window size๋ฅผ ์ž˜ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด localiry set์„ ๋ชจ๋‘ ์ˆ˜์šฉํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ๊ณ , ๋„ˆ๋ฌด ํฌ๋ฉด ์—ฌ๋Ÿฌ ๊ทœ๋ชจ์˜ locality set์„ ์ˆ˜์šฉํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

PFF (Page-Fault Frequency) Scheme

  • page fault rate์˜ ์ƒํ•œ๊ฐ’๊ณผ ํ•˜ํ•œ๊ฐ’์„ ๋‘”๋‹ค.
  • page fault๊ฐ€ ๋งŽ์„์ˆ˜๋ก ๋งŽ์€ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์„ ํ• ๋‹นํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ• ๋‹น๋œ ํ”„๋ ˆ์ž„ ์ˆ˜๋ฅผ ์ค„์ธ๋‹ค.
  • ๋นˆ ํ”„๋ ˆ์ž„์ด ์—†์œผ๋ฉด ์ผ๋ถ€ ํ”„๋กœ์„ธ์Šค๋ฅผ swap out ์‹œํ‚จ๋‹ค.

Page Size์˜ ๊ฒฐ์ •

  • ํŽ˜์ด์ง€์˜ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ํŽ˜์ด์ง€ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋˜์–ด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•  ๊ฒƒ์ด๋‹ค.
  • ์ž‘๊ฒŒ ์ชผ๊ฐœ์ง„๋งŒํผ ๋„ˆ๋ฌด ํ•„์š”ํ•œ ์ •๋ณด๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์žˆ๊ฒŒ ๋˜์–ด page fault์˜ ๋นˆ๋„์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜ ๋””์Šคํฌ์— ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š” ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚  ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ์ธก๋ฉด์—์„œ ๋ณผ ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์ด์šฉ์€ ํšจ์œจ์ ์ด์ง€๋งŒ locality ํ™œ์šฉ ์ธก๋ฉด์—์„œ๋Š” ์ข‹์ง€ ์•Š๋‹ค.


์ถœ์ฒ˜