[Computer Science]/[운영체제(OS)]

[운영체제(OS)] 10-3) Thrashing

극꼼 2023. 3. 24. 10:19
반응형


프로세스에 page frame을 할당하는 방식은 프로세스마다 균일하게 할당하거나 특정 기준에 따라 할당하는 방법으로 나뉘는데, 기본적으로는 사용할 수 있는 frame의 총 양보다 적게, 최소한의 frame보다 많게 할당해야 합니다.

* 균일하게 할당 : (frame 수 / 프로세스의 수) 만큼 프로세스마다 할당합니다.

* 특정 기준으로 할당 : 프로세스, 우선순위에 따라 할당하며, 크기가 클수록 또는 우선순위가 높을수록 더 많은 frame을 할당합니다.

  • Global Replacement : 대체될 때 다른 프로세스에 할당된 frame을 뺏어올 수 있습니다. 가장 흔하게 사용되는 방법입니다.
    • 장점 : 프로세스별로 frame 할당량을 조절할 수 있습니다.
    • 단점 : 자신의 page fault rate를 조절할 수 없습니다.
  • Local Replacement : 자신에게 할당된 frame 내에서 교체하는 방법입니다.
    • 장점 : 알고리즘을 프로세스마다 독자적으로 운영할 수 있습니다.
    • 단점 : 쉬고 있는 메모리를 사용할 수 없습니다.

<Thrashing>

: 프로세스가 최소한의 page frame을 할당받지 못해서 실행보다 Swapping에 더 많은 시간을 소모하는 현상입니다. page fault rate가 매우 높아지고, CPU 효율성이 낮아집니다.

Thrashing이 일어나는 과정은 아래와 같습니다.

1. page가 부족하여 page fault가 증가합니다.

2. Swapping(I/O) 작업이 증가하여 CPU 효율성이 감소합니다.

3. 운영체제는 degree of Multiprogramming을 높여야 한다고 판단하고, 또 다른 프로세스를 시스템에 추가합니다.

4. 프로세스당 할당되는 page frame이 더욱 감소하여 page fault가 더 증가합니다.

5. 프로세스는 Swapping때문에 바빠지고, CPU는 한가해집니다.


<Thrashing 예방>

: 프로세스에게 frame을 필요한 만큼 제공할 수 있어야 합니다. Thrahing 예방 모델들은 아래와 같습니다.

 

1. Working-Set Model

: 최대한의 degree of Multiprogramming을 유지하면서 Thrashing을 막는 방법입니다. 운영체제는 지속적으로 각 프로세스의 Working set을 확인하면서 충분한 frame을 할당해줍니다. Working-Set 집합들이 차지하는 frame의 총 수가 사용 가능한 frame 수보다 클 경우, 프로세스 중 하나를 종료시키고, 다른 프로세스들에게 할당해줍니다.

 

* Lacality of reference(참조 지역성의 원리) : 프로세스가 특정 시간 동안 일정 장소를 집중적으로 참조하는 성질입니다.

* Working set : 참조 지역성의 원리에 기반하여 프로세스가 일정 시간 동안 원활하게 수행되기 위해 메모리에 한번에 올라와야 하는 page 집합입니다.

 

2. PFF(Page-Fault Frequency) Scheme

: page fault의 상한 값과 하한 값을 두고, 상한 값을 넘을 경우 frame을 더 할당하고 하한 값보다 낮아지면 할당된 frame 수를 줄입니다.

 

 

반응형