Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- logstash
- nextjs
- 카카오로그인
- MongoDB
- 로그스태시
- Map
- 위크맵
- context switch
- nestjs
- TypeScript
- 객체
- nodemailer
- 구조 분해 할당
- javacript
- 자바스크립트
- 위크셋
- 참조에 의한 객체 복사
- Mongoose
- DB
- 중첩 구조 분해
- nest
- 캐러셀
- 카카오 소셜로그인
- JSON.stringify
- 이메일 전송
- AGGREGATE
- 화살표 함수
- react-slick
- JavaScript
- JSON.parse
Archives
- Today
- Total
뚜sh뚜sh
메모리의 주소 공간 본문
CPU와 실행 중인 프로그램은 메모리 몇 번지에 무엇이 저장되어 있는지 다 알지 못함
-> 메모리에 저장된 값들은 시시각각 변하기 떄문임
- 새롭게 실행되는 프로그램은 새롭게 메모리에 적재
- 실행이 끝난 프로그램은 메모리에서 삭제
- 같은 프로그램을 실행하더라도 실행할 때마다 적재되는 주소는 달라짐
물리 주소와 논리 주소
물리 주소
- 메모리 입장에서 바라본 주소
- 말 그대로 정보가 실제로 저장된 하드웨어상의 주소
논리 주소
- CPU와 실행 중인 프로그램 입장에서 바라본 주소
- 실행 중인 프로그램 각각에게 부여된 0번지부터 시작하는 주소
물리 주소와 논리 주소의 변환
- MMU(메모리 관리 장치)라는 하드웨어에 의해 변환
- MMU는 노리 주소와 베이스 레지스터(프로그램의 기준주소) 값을 더하여 논리 주소를 물리 주소로 변환
베이스 레지스터 : 프로그램의 가장 작은 물리 주소(프로그램의 첫 물리 주소)를 저장하는 셈
논리 주소 : 프로그램의 시작점으로부터 떨어진 거리인 셈
메모리 보호
한계 레지스터
- 프로그램의 영역을 침범할 수 있는 명령어의 실행을 막음
- 베이스 레지스터가 실행 중인 프로그램의 가장 작은 물리 주소를 저장한다면, 한계 레지스터는 논리 주소의 최대 크기를 저장
- 베이스 레지스터 값 <= 프로그램의 물리 주소 범위 < 베이스 레지스터 + 한계 레지스터 값
이처럼 CPU는 메모리에 접근하기 전 접근하고자 하는 논리 주소가 한계 레지스터보다 작은 지를 항상 검사해서 실행 중인 프로그램의 독립적인 실행 공간을 확보 & 하나의 프로그램이 다른 프로그램을 침범하지 못하게 보호함
'컴퓨터 공학(컴퓨터 구조 + 운영체제)' 카테고리의 다른 글
다양한 보조기억장치 (0) | 2023.05.18 |
---|---|
캐시 메모리 (0) | 2023.05.17 |
RAM의 특징과 종류 (0) | 2023.05.17 |
명령어 집합 구조, CISC와 RISC (0) | 2023.05.17 |
명령어 병렬 처리 기법 (0) | 2023.04.28 |
Comments