15. 주소 변환의 원리

이주희·2022년 10월 27일
0

OS

목록 보기
9/17

하드웨어 기반 주소 변환

제한적 직접 실행방식(LDE)에 부가적으로 사용되는 기능
가상주소가 실제로 사용하는 물리주소로 변환됨
하드웨어가 주소를 변환해주지만 젇확한 변환을 위해서는 OS가 메모리의 빈 공간과 사용중인 공간을 알고 있어야 하고 메모리 사용을 제어해야함

동적 재배치

두개의 레지스터 사용 ( base, bound)
두 레지스터가 원하는 위치에 주소공간을 배치할 수 있게 해준다.

운영체제가 프로그램이 탑재될 물리 메모리의 위치를 결정하고 베이스 레지스터의 위치를 그 주소로 지정
프로세스 실핻되면서
physical addr = virtual addr + base 로 변환됨

가상주소에 베이스 레지스터 값 더해서 물리주소로 변환

프로세스가 실행한 이후에도 주소공간이 이동될 수 있음
-> 동적 재배치!

바운드 레지스터는 보호 차원에서 사용
가상 주소가 바운드 안에 있는지 확인하게 됨

위와 같은 주소변환은 CPU 칩 안의 memory management unit(MMU)가 하게 된다.

단점

stack과 heap 사이의 공간이 비어 단편화가 발생한다
-> 내부단편화!

해결
base-and-bound를 일반화함 -> 세그멘테이션!

0개의 댓글