ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 22. 프레임 할당
    운영체제/운영체제 정리 2020. 2. 17. 18:28

    Main Memort Management

     

    1. Paging

    2. Virtual Memory

        - Demand paging

            - Page Replacement

                    -Algorithms

                         -FIFO, OPT, LRU

            - Allcation of frames : 각 프로세스에 얼마만큼의 프레임을 할당할 것인가

     

     

     

     

     

    메모리에 프로세스의 수는 CPU의 이용률과 비례할 거라 예상하지만 demand paging을

     

    적용해보니 그렇지 않다. 

    어느 순간까지는 비례하여 오르지만 일정 범위를 넘어선다면 메모리는 가득 차게 되고

     

    page in과 out으로 인한 빈번한 페이지 교체가 일어나게 된다. 그 결과 I/O 시간이 증가하기 때문

     

     

    I/O 시간이 증가한다는 것은 디스크에 write read 등을 한다는 것인데 이때 CPU는 아무런 일을 할 수가 없다.

     

    따라서 CPU 이용률이 급감하게 되고 이것을 이라고 부른다.

     

     

    쓰레싱 극복을 위해서는

     

    - Global replacement 보다는 local replacement를 택하자.

     

    - 프로세스당 적절한 수의 프레임을 할당하자.

     

    적절한 프레임을 할당하지 못하면 그만큼 page in/out이 자주 일어날 것

     

    이 적절하다는 것은 얼마를 적절하다고 할 수 있을까?

     

    적절한 수의 프레임을 할당하는 방법 즉 프레임 할당이다. 이는 크게 정적인 방법과 동적인 방법으로 나뉘는데

     

    1. 정적인 방법

     

    - 처음부터 프로세스 크기에 맞추어서 할당하는 방법 :

    1) 동일 할당 : 프로세스  수대로 나누어준다.

     

    2)  비례 할당 : 프로세스 크기에 비례하여 나누어준다.

     

    2. 동적인 방법

     

    1) Working Set 모델에 따라 프레임을 나누어 준다.

     

    2)  Page Fault Frequency ( PFF )

     

     

    1. Working Set

     

     

    Locality : CPU가  주소를 내는데 각 시간 때에는 어느 번지를 참조한 것인지 조사해 놓은 것

     

    Locality는 미래를 알 수 없기 때문에 예측해야 하는데 이게 Working Set이다.

     

    어느 시간에는 어느 페이지가 사용됐다 라는 걸 기록해서 미래 시간에는 과거를 보고 결정하게 된다.

     

    1,5, 7번째 페이지가 사용되었다고 한다면 Working set은 1, 5 ,7이 된다. 

     

    Woking set Window  ( WS ): 과거 시간으로 얼마만큼 참고할 것인지에 대한 범위

     

     

    결론적으로 우리는 locality 만큼 프레임을 할당해주면 좋지만 미래는 알 수 없기 때문에

     

    과거에 참조했던 페이지 그 과거는 working set window 만큼 참조하여 결정하게 되는데

     

    그때 사용됐던 페이지들을 Working Set이라고 한다. 3개의 페이지가 사용됐다면 t1에는 3개를

     

    할당해주는 것이다. 그러면 쓰레싱도 방지하며 메모리 낭비도 방지할 수 있다는 것

     

    Working set 크기만큼의 프레임을 할당

     

     

     

     

    2. Page Fault Frequency ( PFF )

    어떤 프로세스에 프레임을 할당해주지 않는다면 페이지 fault 부재비율은 굉장히 많아지고

     

    프레임 개수가 늘어갈수록 부재 비율이 적어지는 반비례 그래프가 나타날 것이다.

     

     

    OS는 이때 상한선과 하한선을 두어서 OS에 메모리 관리 부서로 하여금 page fault가 일어나는 횟수를

     

    감지하도록 한다.  그리고 상한선보다 페이지 fault가 더 일어나게 된다면 더 많이 나누어 주는 것

     

    혹은 하한선 아래로 fault가 일어난다면 너무 많이 할당한다고 여기고 회수하는 것.

     

     

    이런 식으로 page fault 발생 비율에 상한 하한을 정하여 프레임의 개수를 정하는 것을 PFF라고 한다.

     

     

     

     

    '운영체제 > 운영체제 정리' 카테고리의 다른 글

    23. 페이지 크기  (0) 2020.02.18
    21. 페이지 교체 알고리즘  (0) 2020.02.04
    20. 페이지 교체  (1) 2020.02.02
    19. 가상 메모리  (0) 2020.01.30
    18. 세그먼테이션 (Segmentation)  (0) 2020.01.27
Designed by Tistory.