CS/운영체제

[운영체제] 쓰기 시 복사와 계층적 페이징

초오오이 2025. 1. 24. 22:57

 


 

1. 쓰기 시 복사

이론적인 fork()

  • 프로세스는 기본적으로 자원을 공유하지 않는다.
  • 부모 프로세스가 적재된 별도의 공간에 자식 프로세스가 통째로 복제되어 적재된다.
    -> 프로세스 생성 시간 지연, 메모리 낭비 등의 문제가 있을 수 있다.

쓰기 시 복사

  • 부모 프로세스와 동일한 자식 프로세스가 복제되어 생성되면 자식 프로세스는 부모 프로세스와 동일한 프레임을 가리킴
  • 둘 중 하나라도 페이지에 쓰기 작업 수행 시 해당 페이지는 별도의 공간에 복제된다.
  • 프로세스 생성 시간을 절약하고 메모리를 절약한다.

 

2. 계층적 페이징

  • 프로세스 테이블의 크기는 작지 않다. 때문에 프로세스를 이루는 모든 페이지 테이블 엔트리를 메모리에 두는 것은 낭비이다.
  • 페이지 테이블을 페이징하여 여러 단계의 페이지를 두는 방식이다.
  • CPU와 가장 가까이 위치한 테이블(Outer 페이지 테이블)은 항상 메모리에 유지한다.
  • 계층적 페이지를 이용하는 환경에서의 논리 주소는 [바깥 페이지 번호, 안쪽 페이지 번호, 변위]로 이루어 질 수 있다.