Post

[운영체제-양희재 교수님]27강 프레임 할당

경성대학교 양희재 교수님의 운영체제 27강

프레임 할당(Allocation of Frames)

쓰레싱(Thrashing)

  • CPU utilization vs. Degree of multiprogramming(메모리에 올라간 프로세스 개수)

    Thrashing

    • 일반적으로 프로세스 개수 증가 ⇒ CPU 이용률 증가
    • 일정 범위를 넘어선 프로세스 개수 증가 ⇒ CPU 이용률 감소
    • 일정 범위를 넘어서면 프로세스 개수가 증가할수록 더 빈번하게 page in/out 필요
      ⇒ IO 시간 증가 ⇒ CPU utilization 감소
      • 이러한 현상을 Thrashing이라 한다.
  • 쓰레싱 극복

    • Global replacement보다는 local replacement 사용
    • 프로세스 당 충분한, 적절한 수의 메모리(프레임) 할당

적절한 수의 프레임 할당 방법

정적 할당(static allocation)

  • 균등 할당(Equal allocation)
    • 모든 프로세스에 일정한 메모리를 나누어 할당
  • 비례 할당(Proportional allocation)
    • 프로세스 크기에 비례하도록 메모리를 할당
  • 실제로 실행시킬 때의 상태를 고려하지 않고 크기만 기준으로 잡아 할당하므로 정적 할당은 현실적으로 잘 쓰이지 않는다.

동적 할당(dynamic allocation)

  • Working set model
    • 배경
      • 이상) Locality를 포함할 수 있는 만큼만 할당
      • 현실) 미래에 필요한 locality를 알 수 없기 때문에 불가능 ⇒ Working set model 사용
    • Working set model: 과거를 통해 미래의 시점에 어떻게 프레임을 할당할지 결정
      • Working set: 미래 예측을 위해 지켜보는 시간에 메모리에 올라가 있던 페이지
      • Working set window: 미래 예측을 위해 사용할 과거 시간
    • Woking set 크기만큼의 프레임을 할당
  • Page-Fault Frequency(PFF)
    • Page fault 발생 비율의 상한선과 하한선을 둠
    • 상한선 초과 프로세스 ⇒ 더 많은 프레임 할당
    • 하한선 이하 프로세스 ⇒ 프레임 회수

페이지 크기(Page Size)

  • 페이지 크기
    • 일반적 크기는 4KB → 4MB로 점차 커지는 경향을 가짐
      • 프로세스의 크기가 점차 커지는 경향을 가지기 때문
  • 페이지 크기 영향
    • 페이지 크기가 작을수록 내부 단편화 감소
    • 페이지 크기가 클수록 Page-in/out 시간 감소
      • 한 번에 많은 데이터를 읽어와야 seek time 감소
      • 페이지 크기가 크면 읽는 데 시간이 좀 더 걸리기는 하지만 무시할 정도
    • 페이지 크기가 클수록 페이지 테이블 크기 감소
      • 페이지 테이블 엔트리가 적을수록 더 저렴
    • 페이지 크기가 작을수록 Memory resolution 증가
      • 높은 memory resolution = 실제로 필요한 내용만 메모리에 존재
    • 페이지 크기가 클수록 Page fault 발생 확률 감소

기술 동향

  • 페이지 테이블
    • 원래는 별도의 chip(TLB 캐시)으로 만듦
    • 기술 발달에 따라 캐시 메모리는 CPU 안에 on-chip 형태로 넣는다.
    • 따라서 TLB 역시 on-chip 내장
This post is licensed under CC BY 4.0 by the author.