• 33. 프레임 관련 이슈

    2021. 9. 23.

    by. ahntree

    728x90

    1. 전역 교체와 지역 교체

    페이지를 교체할 때 교체하는 범위에 따라 전역 교체지역 교체로 나눌 수 있다.

     

     

    전역 교체

    스왑 영역으로 보낼 페이지를 결정할 때 모든 프레임을 검사한 후 결정한다.

     

     

    지역 교체

    프로세스 A가 페이지를 요청한 경우, 메모리에 있는 프레임 중 프로세스 A에게 할당된 프레임만 검사한 후 결정한다.

     

    페이지 교체 시 다른 프로세스들에게 영향을 주지 않는다는 장점이 있지만, 자주 사용되는 페이지가 교체되어 성능이 저하되거나 스레싱에 빠질 수 있다. 그래서 전체 시스템의 입장에서는 전역 교체 방식이 더 효율적이다.

     

     

     

    2. 쓰기 시점 복사

    동일한 프로그램을 기반으로 한 여러 프로세스가 각각 모든 페이지를 생산하는 건 비효율적이다. 공유할 수 있는 페이지는 공유하는 게 낫다. 실제로도 그렇다. 데이터 영역만 각각 생성하고 다른 영역들은 공유한다.

     

    그러면 기반이 되는 프로그램도, 변수도 모두 같은 프로세스가 있다고 하자. 둘은 다른 프로세스니까 데이터 영역을 각각 생성해 주는 게 좋을까? 그렇게 생각할 수 있지만 운영체제는 다른 방식으로 동작한다.

     

    복사된 프로세스가 데이터 영역의 변수를 사용하지도 않았는데 새로운 영역을 만들어서 할당하는 건 공간 낭비다. 그래서 운영체제는 복사된 프로세스의 변수값이 변할 때까지 기다리고 변하면 그제서야 새로운 영역을 복사된 프로세스에게 할당한다.

     

    이와 같이 데이터의 변화가 있을 때까지 복사를 미루는 방식을 쓰기 시점 복사(copy on write)라고 한다. 요구 페이징과 많이 닮았다.

     

    728x90

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

    35. 디스크 장치  (0) 2021.09.23
    34. 입출력 시스템  (0) 2021.09.23
    32. 스레싱과 프레임 할당  (0) 2021.09.23
    31. 페이지 교체 알고리즘  (0) 2021.09.23
    30. 요구 페이징  (0) 2021.09.23

    댓글