메모리 주소
목차
01. 운영체제의 개요
02. 컴퓨터의 구조와 성능 향상
03. 프로세스와 스레드
04. CPU 스케줄링
05. 프로세스 동기화
06. 교착 상태
07. 물리 메모리 관리
08. 가상 메모리의 기초
09. 가상 메모리 관리
10. 입출력 시스템과 저장장치
11. 파일 시스템
12. 네트워크와 분산 시스템
메모리 주소
CPU 비트
- 한번에 다룰 수 있는 데이터의 최대 크기
- 32bit CPU는 한번에 다룰 수 있는 데이터 최대 크기가 32비트다. 그러면 레지스터도, ALU도 32비트.
(32비트랑 64비트는 단순히 2배 차이가 아니다. 1byte = 8bit)
CPU는 64bit을 가진다. 레지스터 크기, 버스의 대역폭, 한 번에 처리되는 데이터의 초디ㅐ 크기 등이 32bit CPU의 2배가 되는 것이다. 따라서 32bit CPU보다 처리 속도가 빠르고 사용할 수 있는 메모리도 크다. 32bit CPU는 0~2^32-1 번지의 주소 공간을 제공하지만 64bit CPU는 0~2^64-1번지의 주소 공간을 제공한다. 또한, 32bit CPU의 메모리는 4GB로 제한되지만 64bit의 CPU는 메모리 약 2^64 byte를 가져올 수 있는데 이는 거의 무한대에 가까운 메모리를 사용할 수 있다는 것이다.
물리 주소 공간과 논리 주소공간
물리 주소 공간 : 하드웨어 입장에서 바라본 주소공간, 컴퓨터마다 다름
논리 주소 공간 : 사용자 입장에서 바라본 공간
단순 메모리 구조
한번에 한가지 일만 처리하는 일괄 처리 시스템에서 볼 수 있음
메모리를 운영체제 영역과 사용자 영역으로 나누어 관리
(400~999 사용자, 0~400 운영체제)
단순 메모리 구조 - 사용자 프로세스 적재
사용자 프로세스는 운영체제 영역을 피해 메모리에 적재.
사용자 프로세스가 운영체제의 크기에 따라 매번 적재되는 주소가 달라지는 것은 번거로움.
이를 개선해 사용자 프로세스를 메모리의 최상위부터 사용
(사용자를 999부터 사용하도록) 그러나 복잡하다.
경계 레지스터
운영체제 영역과 사용자 영역 경계 지점의 주소를 가진 레지스터
CPU내에 있는 경계 레지스터가 사용자 영역이 운영체제 영역으로 침범하는 것을 막아줌
경계 레지스터 값을 벗어나면 작업 종료
절대 주소
- 실제 물리 주소
- 메모리 주소 레지스터가 사용하는 주소
- 컴퓨터에 꽂힌 램 메모리의 실제 주소
- 물리 주소 공간
상대 주소
- 사용자 영역이 시작되는 번지를 0번지로 변경하여 사용하는 주소
- 사용자 프로세스 입장에서 바라본 주소
- 절대 주소와 상관없이 항상 0번지 부터 시작
- 편리함
- 논리주소 공간
상대 주소를 절대 주소로 변환하는 과정
- 메모리 접근 시 상대 주소를 사용하면 절대 주소로 변환 해야함
- 메모리 관리자는 사용자 프로세스가 상대 주소를 사용하여 메모리에 접근할 때마다 상대 주소값에 재배치 레지스터 값을 더하여 절대 주소를 구함
- 재배치 레지스터는 주소 변환의 기본이 되는 주속밧을 가진 레지스터로, 메모리에서 사용자 영역의 시작 주소 값이 저장
'Operating System' 카테고리의 다른 글
다중 프로그래밍 환경에서의 메모리 할당 (0) | 2022.05.27 |
---|---|
단일 프로그래밍 환경에서의 메모리 할당 (0) | 2022.05.26 |
메모리의 관리 개요 (0) | 2022.05.24 |
교착 상태 해결 방법 (0) | 2022.05.23 |
교착 상태 필요조건 (0) | 2022.05.18 |
댓글
이 글 공유하기
다른 글
-
다중 프로그래밍 환경에서의 메모리 할당
다중 프로그래밍 환경에서의 메모리 할당
2022.05.27 -
단일 프로그래밍 환경에서의 메모리 할당
단일 프로그래밍 환경에서의 메모리 할당
2022.05.26 -
메모리의 관리 개요
메모리의 관리 개요
2022.05.24 -
교착 상태 해결 방법
교착 상태 해결 방법
2022.05.23