관리 메뉴

100세까지 코딩

[운영체제] 페이징의 이점과 계층적 페이징 본문

CS/운영체제

[운영체제] 페이징의 이점과 계층적 페이징

100세까지 코딩 2024. 3. 14. 12:08
혼공컴운 강의를 참고했습니다.

1. 이론적인 fork()

  • 프로세스는 기본적으로 자원 공유 X.
    부모 프로세스가 적재된 공간에 자식 프로세스가 복제되어 적재.
    -> 프로세스 생성 시간 지연, 메모리 낭비.

2. 쓰기 시 복사 

  • (부모 or 자식 프로세스)가 페이지에 쓰기 작업 수행 시 해당 페이지 복제
    -> 프로세스 생성 시간 절약, 메모리 절약

3. 계층적 페이징

- 페이지 테이블을 페이징하는 것. (여러 개의 페이지를 두는 것)

why??

  • 프로세스 테이블의 크기는 작지 않다.
  • (프로세스를 이루는) 모든 페이지 테이블 엔트리를 메모리에 두는 것은 낭비.

- 단, CPU와 가장 가까운 Outer 페이지 테이블항상 메모리에 유지해야 한다.

4. 계층적 페이징 작동 방식

계층적 페이지 테이블을  사용할 때 논리 주소의 구조
주소 변환 과정

  1. 바깥 페이지 번호를 통해 페이지 테이블의 페이지 찾기
  2. 페이지 테이블의 페이지를 통해 프레임 번호 찾고 변위 더해 물리 주소 얻기

계층을 잘게 나누면??

   페이지 테이블의 크기 ↓   개수 ↑.
   -> 페이지 폴트가 발생했을 경우, 메모리 참조 횟수 증가. (반드시 좋진 않다.)

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

[운영체제] 파일과 디렉터리  (0) 2024.03.14
[운영체제] 프로세스 상태와 계층 구조  (0) 2024.03.04
[운영체제] 프로세스 개요  (0) 2024.03.03