본문 바로가기
Lecture/OS

스레싱과 프레임 할당

by YUNZEE 2023. 11. 23.
728x90

물리 메모리의 크기와 스레싱

스레싱은 메모리의 크기가 일정할 경우 프로그램의 수와 밀접한 관계가 있다. 동시에 실행하는 프로그램의 수를 멀티프로그래밍 정도degree of multiprogramming라고 하는데, 멀티프로그래밍 정도가 높으면 스레싱이 발생한다.

 

프로그램의 수가 적을 때는 CPU사용률이 계속 증가하다가 메모리가 꽉 차면 CPU가 작업하는 시간보다 스왑 영역으로 페이지를 보내고 새로운 페이지를 메모리로 가져오는 작업이 빈번해져서 CPU가 작업할 수 없는 상태에 이르게 된다. 이러한 시점을 스레싱 발생 지점 threshing point이라고 한다.

 

정적 할당

정적 할당 static allocation방식은 프로세스 실행 초기에 프레임을 나누어 준 후 그 크기를 고정하는 것으로, 균등 할당 방식과 비례 할당 방식이 있다.

균등 할당 

균등 할당 equal allocation방식에서는 프로세스의 크기와 상관없이 사용 가능한 프레임을 모든 프로세스에 동일하게 할당한다.

ex) 현재 사용 가능한 프레임이 12개이고 프로세스 A는 프레임 6개를 B는 프레임 3개를 , 프로세스 C는 프레임 9개를 필요로 한다. 균등 할당 방식에서는 12개의 가용 프레임을 3 등분하여 각 프로세스에 4개씩 나누어 준다. 균등 할당 방식에서는

크기가 큰 프로세스의 경우 필요한 만큼 프레임을 할당받지 못하기 때문에 페이지 부재가 빈번하게 발생하고, 크기가 작은 프로세스의 경우 메모리가 낭비된다. 프로세스 B는 프레임 3개만 있으면 되는데 4개가 할당되었고, 프로세스 C는 프레임 9개가 필요하지만 절반에도 못 미치는 4개가 할당되었다. 

 

동적할당

프로세스는 실행 중에 어떨 때는 많은 프레임이 필요하기도 하고 어떨 때는 적은 프레임만 작동하기도 한다. 시시각각 변하는 요청을 수용하는 방식이 동적 할당 dynamic allocation이다.

작업 집합 모델 working set model은 지역성 이론을 바탕으로 하며, 가장 최근에 접근한 프레임 이후에도 참조될 가능성이 높다는 가정에서 출발한다. 최근 일정 시간 동안 참조된 페이지들을 집합으로 만들고, 이 집합에 있는 페이지들을 물리 메모리에 유지하여 프로세스의 실행을 돕는다.

 

페이지 부재 빈도

페이지 부재 빈도 page fault frequency를 이용하는 방법이 있다. 이는 페이지 부재 횟수를 기록하여 페이지 부재 비율을 계산하는 방식으로 페이지 부재 비율의 상한선과 하한선을 설정한다. 페이지 부재 비율이 상한선을 초과하면 할당한 프레임이 적다는 의미이므로 프레임을 추가하여 늘린다. 반대로 페이지 부재 비율이 하한선 밑으로 내려가면 메모리가 낭비된다는 의미이므로 할당한 프레임을 회수한다. 

 

퀴즈

1. 동시에 실행하는 프로그램의 수를 무엇이라 하는가?

2. 프로그램의 수가 적을 때는 CPU사용률이 계속 증가하다가 메모리가 꽉 차면 CPU가 작업하는 시간보다 스왑 영역으로 페이지를 보내고 새로운 페이지를 메모리로 가져오는 작업이 빈번해져서 CPU가 작업할 수 없는 상태에 이르게 된다. 이러한 시점을 무엇이라 하는가?

3. 정적 할당 static allocation방식은 프로세스 실행 초기에 프레임을 나누어 준 후 그 크기를 고정하는 것으로, 두 가지 방식이 있는데 그 두가지 방식이 무엇인가?

4. 프로세스의 크기와 상관없이 사용 가능한 프레임을 모든 프로세스에 동일하게 할당하는 것은 어떤 방식인가?

5. 프로세스는 실행 중에 어떨 때는 많은 프레임이 필요하기도 하고 어떨 때는 적은 프레임만 작동하기도 한다. 시시각각 변하는 요청을 수용하는 방식을 무엇이라 하는가?

6. 이는 페이지 부재 횟수를 기록하여 페이지 부재 비율을 계산하는 방식으로 페이지 부재 비율의 상한선과 하한선을 설정한다. 이러한 빈도를 무엇이라고 하는가?

728x90

'Lecture > OS' 카테고리의 다른 글

저장장치  (0) 2023.11.29
입출력 시스템  (2) 2023.11.28
페이지 교체 알고리즘  (2) 2023.11.22
요구 페이징  (0) 2023.11.16
세그먼테이션 기법  (0) 2023.11.15