CH14-2) 페이징의 이점 ( 쓰기시 복사), 계층적 페이징

Jobmania·2023년 8월 12일
0

운영체제

목록 보기
13/13
post-thumbnail

페이징의 이점

페이징을 통해 외부단편화를 해결함.
이외에도 페이징의 장점은 다음과 같다.

쓰기시 복사

기본적으로는 프로세스는 자원을 공유하지 않는다.
그래서 일반적인 fork 시스템을 호출하면

  • 부모시스템이 자식시스템에 복사하여 메모리에 적재된다.
    -> 부모 프로세스가 적재된 별도의 공간에 자식 프로세스가 통째로 복제되어 복사.


하지만 이러한 복사 작업은 프로세스 생성시간을 늦츨뿐만 아니라, 불필요한 메모리 낭비가 된다.

그래서 쓰기 시 복사에서는 부모 프로세스와 동일한 자식 프로세스가 생성되면,

부모프로세스와 자식 프로세스는 동일한 프레임을 가리킨다(쓰기 작업이 없다면 이 상태를 유지), 메모리 공간을 복사하지 않는다.

하지만, 프로세스는 기본적으로 자원을 공유하지 않는다.

그래서 둘 중 하나라도 쓰기 작업을 수행하면 별도의 공간을 할당한다.
그래서 프로세스 생성시간도 줄이며, 메모리 공간도 절약한다.

계층적 페이징.

  • 프로세스 테이블의 크기는 생각보다 작지 않다.
    ( 프로세스가 커지면 테이블의 크기도 비례적으로 증가.)

  • 프로세스를 이루는 모든 페이지 테이블 엔트리를 메모리에 두는 것은 큰 낭비이다.

  • 프로세스를 이루는 모든 페이지 테이블 엔트리를 항상 메모리에 유지 하지 않을 방법이 바로 계층적 페이징이다.

계층적 페이징 : 위와 같은 페이지 테이블을 페이징하여 여러 단계의 페이지를 두는 방식

out 페이지 테이블은 반드시 메모리에 있고 나머지 페이지 테이블은 보조기억장치에 보관되고 필요한 것들만 메모리에 적재.

그래서 계층적 페이지 테이블을 사용하는 경우 CPU 논리주소도 달라지게 된다.

계층적 테이블을 사용하지 않는 CPU 주소

계층적 테이블을 사용하는 CPU 주소

  • 바깥 페이지 번호 : CPU와 근접한 곳에 위치한 페이지 테이블 엔트리(OUTER 테이블)
  • 안쪽 페이지 번호 : 첫번째 페이지 테이블 바깥에 위치한 두번째 페이지 테이블


위는 두개의 계층으로 이루어진 페이지 테이블이다.
3,4 등 그 이상의 계층으로도 구성될수도 있지만, 그만큼 페이지 폴트가 발생할 경우 메모리 참조 횟수가 많아지므로.
게층이 많다고해서 좋다고 볼수는 없다. !

페이지 폴트 : 내가 참조하고자 하는 페이지가 메모리에 없는 에러

profile
HelloWorld에서 RealWorld로

0개의 댓글