본문 바로가기

Operating system

절대 주소와 상대 주소

단순 메모리 구조

  • 한 번에 한 가지 일만 처리하는 일괄 처리 시스템에서 볼 수 있음
  • 메모리를 운영체제 영역과 사용자 영역으로 나누어 관리

 

 

단순 메모리 구조에서 사용자 프로세스 적재

  • 사용자 프로세스는 운영체제 영역을 피하여 메모리에 적재
  • 사용자 프로세스가 운영체제의 크기에 따라 매번 적재되는 주소가 달라지는 것은 번거로움
  • 메모리의 최상위부터 사용

 

 

경계 레지스터

  • 운영체제 영역과 사용자 영역 경계 지점의 주소를 가진 레지스터
  • 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