본문 바로가기

SYSTEM

가상 메모리와 물리 메모리

728x90
반응형

 

▶가상 메모리 

  • 방식 : 각 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소를 주는 방식
  • 실제로 프로그램 수행에 필요한 부분만 메모리에 올려놓음 

→ 주기억장치의 용량보다 큰 프로그램 파일도 사용자가 메모리에 올려놓을 수 있음 (주기억장치의 크기보다 더 큰 공간 사용 가능)

  • 메모리 관리 기능을 통해 물리 주소로 변환되어 실제 물리 메모리에 매핑됨
  • 프로세스간 공간 불리로 프로세스 이슈가 전체 시스템에 영향 X

 

+ 메모리 매핑이란?

파일코드 또는 개체를 시스템 메모리로 가져오도록 요청하는 컴퓨터 프로그래밍의 프로세스 또는 명령

 

가상 메모리 시스템을 사용하기 위해선 가상 주소 / 물리 주소가 필요

가상 주소 : 프로세스가 참조하는 주소

물리 주소 : 실제 메모리 주소

MMU : 가장 주소 메모리 접근이 필요할 때, 해당 주소를 물리 주소 값으로 변환해주는 하드웨어 장치 

 

▶물리 메모리 

  • 접근 방식) CPU가 논리 주소를 읽음, 논리 주소를 통해 물리 주소를 읽고 물리 메모리에 접근

(논리 메모리의 순서와 크기를 따름)

  • CPU는 물리 메모리에 적재된 코드만 실행 가능
  • 논리 주소와 물리 주소간 주소 변환 과정의 주체 = MMU

<분할 방식>

1. 고정 분할 방식

물리적 메모리를 몇 개의 부분으로 분할함 (분할의 크기는 동일할 수도 있고 아닐 수도 있음)

분할 당 하나의 프로그램을 적재시킴 

→ 단편화 발생

 

2. 가변 분할 방식

프로그램의 크기대로 메모리를 분할해서 할당함 (분할의 크기, 개수가 동적으로 변함)

프로세스를 순서대로 메모리에 쌓음 

→ 프로그램이 실행되고 종료되는 과정에서 외부 단편화가 발생 할 수도 있음

 

외부 단편화 : 프로그램 크기보다 분할의 크기가 작아 현재 대기중인 프로그램이 올라갈 수 없는 작은 분할

내부 단편화 : 프로그램 크기보다 분할의 크기가 커서 하나의 프로그램이 올라간 분할에 사용되지 않는 공간이 발생

 
728x90
반응형

'SYSTEM' 카테고리의 다른 글

PE  (0) 2023.01.03
VA, RVA, RAW  (0) 2023.01.03
커널영역, 유저영역 차이  (0) 2023.01.03
함수 프롤로그, 에필로그  (0) 2022.12.30
공유 라이브러리 생성  (0) 2022.12.30