- 스레싱
- 스레싱의 개념
하드디스크의 입출력이 너무 많아져서 잦은 페이지 부재로 작업이 멈춘 것 같은 상태
- 물리 메모리의 크기와 스레싱
멀티프로그래밍 정도가 증가할 수록 CPU 사용률은 증가되고 스레싱 발생할 확률이 높아짐
물리 메모리를 늘릴 수록 스레싱 발생 지점에 늦게 도달함
- 스레싱과 프레임 할당
스레싱은 각 프로세스에 프레임을 할당하는 문제와 연관됨
- 정적 할당
프로세스 실행 초기에 프레임을 나누어준 후 그 크기를 고정하는 방식
- 균등 할당
프로세스의 크기와 상관없이 사용 가능한 프레임을 모든 프로세스와 동일하게 할당
프로세스의 프레임 요구 수에 따라 페이지 부재가 빈번히 발생하거나 메모리 낭비가 발생할 수 있음
- 비례 할당
프로세스의 크기에 비례하여 프레임을 할당하는 방식
프로세스가 실행 중에 필요로 하는 프레임을 유동적을 반영하지 못 함
사용하지 않을 메모리를 처음부터 미리 확보하여 메모리 낭비
- 동적 할당
프로세스를 실행하는 중에 프레임을 나누어주기도 하고 회수하기도 하는 방식
- 작업집합 모델
최근 일정 시간 동안 참조된 페이지들을 집합으로 만들고 이 집합에 있는 페이지들을 물리 메모리에 유지하여 프로세스의 실행을 돕는 방식
시간적 지역성 이론을 바탕으로 함
어떤 프레임을 물리 메모리에 유지해야 하는 지는 알 수 있지만 프로세스에 프레임을 얼마나 할당해야 하는지는 알 수 없어 스레싱 문제 해결 못 함
- 작업집합 크기
물리 메모리에 유지하는 페이지의 크기
작업집합에 들어갈 최대 페이지 수
얼마나 자주 작업집합을 갱신할 것인지도 의미함
- 작업집합 윈도우
작업집합에 포함되는 페이지의 범위
현재 시점에 최대 어느 범위까지의 페이지를 살펴볼 것인가를 결정하는 것
크기에 따라 프로세스의 실행 성능이 달라짐
너무 크게 잡으면 필요없는 페이지가 메모리에 남음
너무 작게 잡으면 필요한 페이지가 스왑 영역으로 옮겨져서 프로세스의 성능이 떨어짐
- 페이지 부재 빈도
페이지 부재 횟수를 기록하여 페이지 부재 비율을 계산하는 방식
페이지 부재 비율의 상한선과 하한선을 설정하여 프레임을 추가하거나 회수함
할당량 예측이 힘들기 때문에 프로세스를 실행하면서 조절함