반응형

안녕하세요.

이번 포스팅에서는 메모리 주소 변환에 대해 다뤄보려고 합니다.





1. 메모리 가상화

- 메모리 가상화는 CPU 가상화의 LDE (Limited Direct Execution, 제한적 직접 실행) 기법과 유사하게 수행 됨.

- 하드웨어 기반 주소 변환 사용 : 가상 메모리 주소를 물리 메모리 주소로 변환


2. 동적 재배치 (Dynamic Relocation)

- 물리 주소 = 가상 주소 + 베이스

- 바운드 : 가용 메모리 범위 확인을 위해 사용


3. 하드웨어 요구 조건

- 커널 모드 : 사용자 모드 프로세스가 커널 연산을 실행하는 것을 방지 하기 위해 사용

- 베이스/바운드 레지스터 : 주소 변환과 범위 검사를 지원하기 위하여 CPU 당 한 쌍의 레지스터가 필요

- 가상 주소를 변환하고 범위 안에 잇는지 검사

- 베이스/바운드를 갱신하기 위한 커널 명령어 : 프로그램 시작 전 운영체제가 베이스와 바운드 레지스터 값을 지정할 수 있어야 함

- 예외 핸들러 등록을 위한 커널 명령어 : 운영체제가 예외 처리 코드를 하드웨어에게 알려줄 수 있어야 함

- 예외 발생 기능 : 프로세스가 커널 명령어 실행을 시도하거나 범위를 벗어난 메모리의 접근을 시도할 때 예외를 발생시킬 수 있어야 함


4. 운영체제 요구 조건

4-1. 메모리 관리

- 새 프로세스의 메모리 할당에 필요

- 종료 프로세스로부터 메모리 회수

- 빈 공간 리스트를 통한 일반적인 메모리 관리

4-2. 베이스/바운드 관리 : Context Switch 시 올바르게 베이스/바운드 설정

4-3. 예외 처리 : 예외가 발생할 때 실행 할 코드

반응형
Posted by 해리팍
BLOG main image

Chanhyun Park (해리팍)
Software Engineer @ SK hynix

Contact Info.
parkch0708@hanmail.net
chanhyun0708@gmail.com
chanhyun.park@sk.com

카테고리

All (1502)
Profile (2)
Park's Life (600)
Computer System (165)
Computer Programming (39)
Computer Study (54)
Computer Etc. (189)
Scuba Diving (137)
Golf (8)
Traveling (245)
생활 정보 (12)
Pokemon GO (50)