Address
- Logical address
- 프로세스마다 독립적으로 가지는 주소 공간
- 각 프로세스마다 0번지부터 시작
- CPU가 보는 주소
- Physical address
- 주소 바인딩 : 주소를 결정하는 것
Memory-Management Unit(MMU)
- logical address를 physical address로 매핑해주는 Hardware device
- 레지스터 두개로 주소 변환
- Relocation register(=base register)
: 프로세스의 시작위치를 저장
- Limit register
: 프로세스의 사이즈를 저장
- 접근 가능한 메모리 영역 x : base <= x <= base + limit
이 영역 밖의 메모리를 요구하면 trap 발생
Dynamic Loading
: 프로세스 전체를 메모리에 미리 올리는 것이 아니라 해당 루틴이 불려질 때 메모리에 load하는 것
Swapping
: 프로세스를 일시적으로 메모리에서 디스크로 쫓아내는 것
Allocation of Physical Memory
- 메모리는 일반적으로 OS 영역과 사용자 프로세스 영역으로 나뉘어 사용
- 사용자 프로세스 영역의 할당 방법
- Contiguous allocation : 각각의 프로세스가 메모리의 연속적인 공간에 적재
- Fixed partition
- Variable partition
- Noncontiguous allocation : 하나의 프로세스가 메모리의 여러 영역에 분산
- Paging
- Segmentation
- Paged Segmentation