- Base Register: 프로세스의 프로그램 코드 시작 주소로 PCB의 시작 주소가 아니다. |
- Relocation: Base Register + Relative address -> Physical address |
- Bounds Register: 프로그램 코드 및 데이터의 마지막 주소 |
-> Protection에 사용된다. |
-> Relocation으로 얻은 Physical address가 Bounds Register 값보다 작거나 같으면 액세스가 가능하고, 크다면 Program interrupt가 발생한다. |
|
- Fixed Partitioning, Dynamic Partitioning, Buddy System에 대해서 Relocation, Protection 문제의 해결이 가능하다. |
- 프로세스를 실행하면서 한 명령씩 주소를 변환하는 방법이다. |
-> 프로세스가 메인 메모리에 적재되는 시점에 모든 Relative address가 Physical address로 변환되어야 하는 것이 아니다. |
|
- 메인 메모리에 여러 프로세스가 존재하더라도 한 번에 하나씩만 실행하기 때문에 Base Register와 Bounds Register는 하나씩만 필요하다. (Multiprogramming system) |
-> 각 레지스터 값은 실행하는 프로세스가 교체될 때 바뀌는 것으로 메인 메모리에 적재될 때 바뀌는 것이 아니다. |