@ Memory Management Unit (이하 MMU)
// Logical Address 는 일반적으로 시작이 0
// Physical Address 는 일반적으로 시작이 Base register
// 이는 60's 시절의 solution이었습니다.
? Q. Logical Address to Physical Address 하는 것은 S/W OR H/W 매커니즘?
// 답은 H/W입니다.
// S/W일 경우에는 문제가 두가지 생깁니다.
> 어떤 instruction 주소가 생성될 때, S/W MMU일 경우에 자신의 활동을 수행하기 위해서 다른 instruction을 불러와 수행시킵니다. 이는 시스템 성능 저하로 이어집니다.
> MMU가 S/W 구성이면 MMU 주소 역시 Mapping해야하며 이는 재귀적으로 MMU를 부르는 현상이 생깁니다 (무한루프)
? Q. MMU가 새로운 H/W로서 등장한 것이 OS의 관점에서 transparent 한가요? ( 신경쓰지 않아도 괜찮나요?)
// 결론적으로 transparent하지 않습니다.
> job에 따라 OS는 계속해서 base register 를 설정해 주어야 합니다.
> 위의 내용으로 MMU 는 OS에 의해서 programable한 entity라는 것을 알 수 있습니다.
> 또한 위의 작업은 privileged instruction으로 OS의 고유 권한입니다. (추후 설명 예정)