단순 메모리 구조
- 한 번에 한 가지 일만 처리하는 일괄 처리 시스템에서 볼 수 있음
- 메모리를 운영체제 영역과 사용자 영역으로 나누어 관리
단순 메모리 구조에서 사용자 프로세스 적재
- 사용자 프로세스는 운영체제 영역을 피하여 메모리에 적재
- 사용자 프로세스가 운영체제의 크기에 따라 매번 적재되는 주소가 달라지는 것은 번거로움
- 메모리의 최상위부터 사용
경계 레지스터
- 운영체제 영역과 사용자 영역 경계 지점의 주소를 가진 레지스터
- CPU 내에 있는 경계 레지스터가 사용자 영역이 운영체제 영역으로 침범하는 것을 막음
- 메모리 관리자는 사용자가 작업을 요청할 때마다 경계 레지스터의 값을 벗어나는지 검사하고, 만약 경계 레지스터를 벗어나는 작업을 요청하는 프로세스가 있으면 그 프로세스를 종료
절대주소
- 실제 물리 주소를 가리키는 주소
- 메모리 주소 레지스터가 사용하는 주소
- 컴퓨터에 꽂힌 램 메모리의 실제 주소
상대 주소
- 사용자 영역이 시작되는 번지를 0번지로 변경하여 사용하는 주소
- 사용자 프로세스 입장에서 바라본 주소
- 절대 주소와 관계없이 항상 0번지 부터 시작
상대 주소를 절대 주소로 변환하는 과정
- 메모리 접근 시 상대 주소를 사용하면 절대 주소로 변환해야 함
- 메모리 관리자는 사용자 프로세스가 상대 주소를 사용하여 메모리에 접근할 때마다 상대 주소값에 재배치 레지스터 값을 더하여 절대 주소를 구함
- 재배치 레지스터는 주소 변환의 기본이 되는 주소값을 가진 레지스터로, 메모리에서 사용자 영역의 시작 주소값이 저장
'Operating system' 카테고리의 다른 글
메모리 분할 방식 (0) | 2023.09.19 |
---|---|
스왑 swap (0) | 2023.09.18 |
메모리 관리와 소스코드의 번역 & 실행 (0) | 2023.09.18 |
System Calls (0) | 2023.07.31 |
교착 상태 (0) | 2023.06.05 |