공부, 기록

메모리 관리 기법 본문

공부/CS 영역

메모리 관리 기법

무는빼주세요 2022. 1. 29. 21:57

페이징 : 페이지(가상메모리를 일정한 크기로 나눈 블록)를 관리하는 기법

프로세스에 할당된 메모리를 조각화.

논리 메모리를 조각화하고 이와 동일하게 물리 메모리를 조각화 한 후 맵핑하면 낭비되는 공간을 줄일 수 있음.

 

페이지 테이블은 논리주소의 페이지를 물리주소의 프레임으로 매핑시켜주는 정보를 담고 있는 테이블이다. 

페이지 테이블은 다음과 같은 특징들을 갖고 있다.

  • 페이지 테이블은 per-process 데이터 구조이다. 즉, 모든 프로세스가 페이지 테이블을 가지고 있다.
  • 페이지 테이블은 메인 메모리에 저장된다.
  • Page Table Base Register(PTBR)가 페이지 테이블을 가리키고 있다.
  • Page Table Length Register(PTLR)가 페이지 테이블의 사이즈를 가리키고 있다.
  • 이러한 레지스터들의 내용은 PCB에 저장되어 있다. 따라서 문맥교환(context switching)이 일어날 때 교체된다.
  • 모든 data/instruction 접근은 두 번의 메모리 접근이 필요하다 -> 페이지 테이블에 접근하는 overhead가 존재한다.

세그멘테이션

페이징과 다르게 여러개로 나누어진 논리 메모리를 프로세스에 할당한다.

세그먼트 테이블의 각 항목은 Segment Base와 Segment Limit을 갖는다. Base는 물리 주소의 시작점을 나타내고, Limit은 세그먼트의 길이를 나타낸다.

 

 

 

참조

https://4legs-study.tistory.com/50?category=890285
https://code-lab1.tistory.com/55 

'공부 > CS 영역' 카테고리의 다른 글

storage  (0) 2023.07.22
가상메모리  (0) 2022.02.05
프로세스, 쓰레드  (0) 2022.01.16
SSL/TLS  (0) 2021.12.18
핸드셰이킹  (0) 2021.11.13