페이징 세그먼테이션 혼용기법
* 페이징 기법의 메모리 관리 측면에서의 장점과 세그먼테이션 기법의 논리적 장점을 활용하기 위한 기법
* 여러 개의 페이지가 모여 하나의 세그먼트를 구성
* 하나의 세그먼트에 속한 페이지 모두가 주기억공간에 위치할 필요는 없다
가상주소와 실제주소의 형식
가상주소
3차원의 요소, 즉 V=(s, p, d)로 표현
세그먼트 번호 | 페이지 번호 | 변위값 |
---|---|---|
s | p | d |
실제주소
세그먼트 s에 속한 가상 페이지 p에 사상하는 프레임 p' + 변위 d
페이지 프레임 | 변위값 |
---|---|
p' | d |
페이징 / 세그먼트 혼용기법의 동적 주소변환
* 가상주소의 세그먼트 번호 s를 이용해서 세그먼트 테이블의 페이지 주소 p와 세그먼트 길이 l을 구한 후 가상주소의 변위값 d와 세그먼트 테이블에서 얻은 세그먼트 길이 l을 비교하여 길이가 더 큰 경우 실주소에 변위를 사용하고 세그먼트 길이가 더 작은 경우에는 세그먼트 오버플로우 발생
* 변위 d가 세그먼트 길이 l보다 작은 경우 페이지 테이블 주소 p를 이용해 페이지 테이블을 참고해서 실주소에 사용할 페이지 프레임 p'을 얻은 후 이를 변위값 d와 더해서 실주소를 구하게 된다
- 최근에 참조된 페이지들은 부분적인 연관장치에 있다
- 실행 중인 프로세스는 가상주소 V=(s, p, d)를 참조한다
- 우선 연관장치에서 (s, p)위치를 찾기 위한 탐색이 수행됨
- (s, p) 발견 시 세그먼트의 s의 페이지 p에 대응하는 주기억장소에 위치하는 페이지 프레임 p'가 변위 d와 합쳐져 가상주소 V=(s, p, d)에 사상하는 실제주소 r을 형성함으로써 주소변환이 종료된다
* s가 주기억장치에 없을 경우 세그먼트 결함오류라 하고 원하는 페이지가 주기억장치 내에 없는 경우를 페이지 결함오류라 한다
* 가상주소가 세그먼트의 경계를 넘어서는 경우를 세그먼트 오버플로우라 한다
* 부호 비트가 참조되는 가상주소에 대해 요구하는 작업이 허용되지 않는 데 이를 세그먼트 보호 예외라 한다
'cs' 카테고리의 다른 글
OS - 페이지 교체 기법 (0) | 2022.05.13 |
---|---|
OS - 페이지 호출기법 (0) | 2022.05.13 |
OS - 세그먼테이션 기법 (segmentation) (0) | 2022.05.12 |
OS - 페이징 기법 (0) | 2022.05.11 |
OS - 블록사상 (0) | 2022.05.10 |