100세까지 코딩
[운영체제] 페이징의 이점과 계층적 페이징 본문
혼공컴운 강의를 참고했습니다.
1. 이론적인 fork()
- 프로세스는 기본적으로 자원 공유 X.
부모 프로세스가 적재된 공간에 자식 프로세스가 복제되어 적재.
-> 프로세스 생성 시간 지연, 메모리 낭비.
2. 쓰기 시 복사
- (부모 or 자식 프로세스)가 페이지에 쓰기 작업 수행 시 해당 페이지 복제
-> 프로세스 생성 시간 절약, 메모리 절약
3. 계층적 페이징
- 페이지 테이블을 페이징하는 것. (여러 개의 페이지를 두는 것)
why??
- 프로세스 테이블의 크기는 작지 않다.
- (프로세스를 이루는) 모든 페이지 테이블 엔트리를 메모리에 두는 것은 낭비.
- 단, CPU와 가장 가까운 Outer 페이지 테이블은 항상 메모리에 유지해야 한다.
4. 계층적 페이징 작동 방식
- 바깥 페이지 번호를 통해 페이지 테이블의 페이지 찾기
- 페이지 테이블의 페이지를 통해 프레임 번호 찾고 변위 더해 물리 주소 얻기
계층을 잘게 나누면??
페이지 테이블의 크기 ↓ 개수 ↑.
-> 페이지 폴트가 발생했을 경우, 메모리 참조 횟수 증가. (반드시 좋진 않다.)
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 파일과 디렉터리 (0) | 2024.03.14 |
---|---|
[운영체제] 프로세스 상태와 계층 구조 (0) | 2024.03.04 |
[운영체제] 프로세스 개요 (0) | 2024.03.03 |