[OS] 10-2. 프레임 할당

KYJ의 Tech Velog·2023년 4월 18일
0

OS

목록 보기
21/23
post-thumbnail

Global Replacement VS Local Replacement

  • Global Replacement
    교체할 때 다른 프로세스에 할당된 프레임을 빼앗아올 수 있습니다. 일반적으로 메모리 효율이 좋기 때문에 주로 사용하는 방법입니다.
  • Local Replacement
    자신에게 할당된 프레임 내에서만 교체하는 방식입니다. 쉬고 있는 메모리를 사용할 수 없기 때문에 비교적으로 비효율적입니다.

Thrashing

Page fault가 증가하여 CPU 이용률이 급격하게 떨어지는 현상입니다. 프로세스를 처리하는 시간보다 메모리에 적재되지 못한 페이지로 인해 페이지 교체에 드는 시간이 증가하게 되고 그로 인해 CPU 이용률이 떨어지는 것입니다.

해결방법

Working Set

지역성의 원리를 이용해서 지역성 집합이 메모리에 동시에 올라갈 수 있도록 보장하는 방식입니다. 프로세스가 일정 시간 동안 원활히 수행되기 위해 한꺼번에 메모리에 올라와있어야 하는 페이지들의 집합을 Working Set이라고 합니다.

해당 Working Set의 크기가 총 사용 가능한 프레임의 수보다 더 크다면 Thrashing이 발생하게 됩니다. 따라서 운영체제가 지속적으로 각 프로세스의 Working Set을 확인하면서 충분한 프레임을 할당해주고 Working Set의 크기가 총 사용 가능한 프레임의 수보다 크다면 프로세스 중에서 하나를 종료시키고 해당 프로세스의 프레임을 다른 프로세스들에게 할당해줍니다.

PFF(Page-Fault Frequency) Scheme

PFF는 page fault의 상한 값과 하한 값을 두고, page fault rate가 상한 값을 넘으면 frame을 더 할당하고, 하한 값보다 낮아지면 할당된 frame 수를 줄이는 방법입니다.


페이지 크기

현재 페이지의 일반적인 크기는 4KB ~ 4MB 입니다. 과거에서부터 점점 켜저왔고 현재에도 계속 커지고 있습니다.

페이즈 크기에 따라 성능에 미치는 영향은 다음과 같습니다.

페이지 크기 증가

  • Page-in, Page-out 시간
    in/out 시간은 대부분 디스크의 헤더가 이동하는 시간입니다. 페이지가 클수록 한 번 이동해서 많은 데이터를 읽어올 수 있습니다.
  • 페이지 테이블 크기
    페이지 크기가 클수록 페이지의 개수는 줄어들고 그만큼 페이지 테이블의 크기도 줄일 수 있습니다.
  • Page Fault
    페이지가 클수록 한 페이지에 많은 내용을 담고 있기 때문에 재사용 가능성이 높게 되고 지역성의 원리로 인해 page fault가 덜 발생합니다.

페이지 크기 감소

  • 내부 단편화
    페이지가 작을수록 버려지는 메모리의 내부 공간도 작아집니다.
  • 메모리 해상도
    페이지가 작을수록 필요한 부분만 메모리에 적재되는 정밀도가 증가합니다.

0개의 댓글