0611 OS 수업노트 (ch9.2)

Ji·2021년 6월 11일
post-thumbnail

기말고사 -> 정의 쓰는 것 물어볼 것.

  • tlb가 무엇인지
  • 메카니즘이 무엇인지

Demand Paging

  • 기말 나올 듯.
  • TLB 보다는 오래 걸림.

Page Replacement Algorithms


  • 컴퓨터 느리면 램 늘리라는 것과 똑같은 개념.

FIFO Algorithm


  • 9 page faults (empty 때 채우는 것 3개 + 6개 수정)

Optimal Algorithm

  • 앞으로 가장 오랫동안 사용되지 않을 페이지 교체
  • 미래에 어떤 페이지가 오게 될지 아는 것은 불가능 (구현 불가능 알고리즘)

Least Recently Used (LRU) Algorithm

  • 가장 오래 사용되지 않은 (least recently used) 페이지를 교체
  • 많은 OS가 채택하고 있음. 가장 효율적이라고 평가 받음

Counting Algorithms

Thrashing

  • 메모리 영역에 접근할때, 메모리에 페이지 부재(=페이지 폴트(Page fault)율이 높은 것을 의미 => CPU의 효율성을 떨어지게 함.
  • 과도한 페이징 작업이 일어나는 경우를 의미

Thrashing의 원인

  • 멀티 프로세싱을 계속 발생시키면 각각의 프로세스는 page fault가 발생함.
  • 멀티 프로그래밍 정도가 과도하게 높아지면 ? -> 프로세스 프레임 개수 감소, page fault 증가/ CPU 이용률 감소 (효율성 떨어짐)
  • 따라서 멀티프로그래밍을 감소시키는게 솔루션이 될 것.

Thrashing 해결의 solution

  • 각 프로세스가 필요로 하는 최소한의 프레임 갯수를 보장해주어야 함.
  • CPU의 효율성을 높이고 ,Thrashing 방지를 위해서는 degree of multiprogramming 을 낮춰야 함.
    1. 각 프로세스들에게 충분한 페이지 프레임을 할당하도록 해줘야 함.
    2. 주기억장치 내의 working set을 유지 ( 집중적으로 참조되는 페이지들을 모두 주기억 장치에 적재. page fault를 줄임)
    3. locality 이용.

Prepaging

TLB Reach

profile
공부방

0개의 댓글