내 잡다한 노트

챕터7. 2. 메모리 주소 본문

운영체제

챕터7. 2. 메모리 주소

peanutwalnut 2022. 9. 9. 15:44

CPU의 비트는 데이터가 한 번 이동할때 다룰 수 있는 최대 크기를 의미한다. 그래서 CPU와 관련된 부품들은 이 비트와

연관이 깊다. 레지스터나 ALU도 32비트라면 32비트를 처리할 수 있도록 설계가 된다.

32비트 CPU의 경우 메모리 주소 레지스터도 32비트까지 다룰 수 있기 때문에 CPU가 다룰 수 있는 메모리의 최대 크기가 2^32인 4GB가 된다.

 

물리 주소 공간 : 하드웨어 입장에서 바라본 주소 공간

논리 주소 공간 : 사용자 입장에서 바라본 주소 공간

 

메모리 영역의 구분

0번 주소부터 ~번 주소까지가 운영체제의 영역이고 그 이후부터는 응용 프로그램의 영역이다. 

절대주소는 실제 메모리 주소를 뜻하고 상대주소는 어떤 기준이 되는 주소가 있고 그 주소에서 상대적인 위치 차이를 나타낸다. 

운영체제의 영역은 건들면 안되기 때문에 운영체제의 영역까지를 경계레지스터가 정보를 가지고 있고 메모리 관리자는 경계레지스터의 값을 가지고 침범하는지 검사하고 벗어난다면 종료시킨다.

 

상대 주소를 절대 주소로 변환하는 과정

메모리 관리자는 프로세스가 상대 주소를 사용하여 메모리에 접근할 때 재배치 레지스터에 상대 주소를 더해

절대주소를 구한다. 

재배치 레지스터는 주소 변환의 기본이 되는 주소값을 가지는 레지스터이다.