1) 블록 사상 시스템 (block mapping system)
- [ 그림 4-4 ] 참고 ( 블록 사상(mapping)을 통한 가상 주소 변환 )
2) 페이징 (paging)
(1) 용어 정리
→ 페이지 (page) : 일정 크기의 블록
→ 페이지 프레임 (page frame) : 주기억장치의 페이지
→ 가상 주소 : 가상 메모리 내에서의 항목 참조 주소 (그림 4-5 참고)
→ 페이지 사상 테이블 (page mapping table) : 가상 주소를 실제 주소로 변환하기 위해 페이지를 페이지 프레임으로 연결함
- 직접 사상 (direct mapping) : 그림 4-6 / 직접 사상에 의한 페이지 주소 변환 참고
→ 페이지 사상 테이블을 주기억장치에 유지, 관리
→ 프로그램 수행 시간을 지연시킬 수 있음
- 연관 사상 (associative mapping) : 페이지 사상 테이블을 연관기억장치(associative memory)에 저장 관리
→ 주기억장치보다 훨씬 빠르게 변환하기 위해
→ 그림 4-7 / 순수 연관 사상을 통한 주소 변환 참고
→ 내용 주소화 메모리(CAM : Content Addressable Memory) 활용
→ 고가의 비용을 필요로 함
- 연관/직접 사상 : 직접 사상과 연관 사상의 장점을 적절히 살린 절충 방안 / [그림 4-8] 연관/직접 사상을 통한 페이지 주소 변환 참고
3) 페이징 시스템에서의 페이지 공유
- 여러 사용자가 동일한 프로그램을 동시에 수행하는 경우
- 그림 4-9 / 순수 페이징 시스템에서의 공유 참고
▶ 페이지 크기
① 페이지 크기가 작을수록
→ 페이지와 페이지 프레임이 많아지고
→ 페이지 사상 테이블의 크기가 증가
→ 기억공간 낭비
→ 작업세트 (working set) 확보에 도움
→ 내부 단편화 감소
② 페이지 크기가 클수록
→ 당장 필요하지 않은 정보까지 주기억장치로 옮겨져 기억공간 낭비 초래
→ 내부 단편화 비율 증가
→ 디스크와의 입출력 회수 감소로 전송시간 감소
4) 페이지 인출 기법
- 요구 페이징 (demand paging) 기법
→
- 예상 페이징 (anticipatory paging) 기법
→ CPU가 필요로 할 페이지를 운영체제가 예상하여 주기억장치로 이동
5) 세그먼테이션 (segmentation)
- 세그먼트 (segment) : 논리적으로 서로 관련있는 정보의 단위
→ 분류 방식, 세그먼트의 크기 등은 프로그램에 따라 변함 (예 : 프로그램 모듈, 자료구조)
- 용어 정리 : [가상 주소 : 그림 4-11 참고]
- 세그먼트 사상 테이블 (segment mapping table) : 가상 주소를 실제 주소로 변환하기 위해 페이지를 페이지 프레임으로 연결함