이야기박스

운영체제) 메모리 관리5 (Memory Management) 본문

Computer & Data/Operating System

운영체제) 메모리 관리5 (Memory Management)

박스님 2017. 6. 7. 19:47
반응형

§ 세그먼테이션

- 1차원적 가상 메모리에서 서로 분리된 가상 주소 공간을 제공하기 위해

▣ 세그먼트 (Segment)

- 여러 개의 서로 완전히 독립된 주소 공간들

- 0부터 시스템에서 허용된 최대 크기까지 값을 갖는 선형 구조로 구성

- 서로 다른 세그먼트는 다른 크기를 갖음

- 가변 크기 ( 실행 중 변할 수 있음 )

- 주소 표현 ; 세그먼트 번호 + 세그먼트 내부 주소

- 장점

a. 증가하거나 감소하는 자료 구조의 관리를 간단하게 함

b. 서로 분리되어 컴파일된 함수들의 링킹 작업의 단순화

c. 함수나 데이터를 여러 프로세스들이 공유하기 쉬움

d. 1차원적인 페이징 시스템에 비해 보호 모드에 더 적합


- 페이징과 세그먼테이션의 차이

 고려사항

페이징 

세그먼테이션 

 프로그래머가 이 기술이 사용되는 것을 아는가?

 아니오

예 

얼마나 많은 선형 주소를 지원하는가? 

다수 

 전체 주소 공간의 크기가 물리 메모리보다 클 수 있는가? 

예 

예 

함수와 데이터가 구분되고 분리되어 보호 되는가? 

아니오 

예 

크기가 자주 변하는 테이블을 적절하게 지원하는가? 

아니오 

예 

공유 지원이 쉽게 구현되는가? 

아니오 

예 

이 기술이 발명된 이유는?

물리메모리를 더 구입하지 않고 더 큰 선형주소를 제공하기 위하여

프로그램을 논리적인 작은 주소 공간들로 구분, 공유/보호 하기 위하여 



▣  순수한 세그먼테이션의 구현

- 페이징은 고정 크기, 세그멘테이션은 가변 크기

- 압축(compaction)에 의한 외부 단편화 해결

* 페이징 ; 내부 단편화 --> 페이지 사이즈 줄임 --> 페이지가 많아짐

- 세그먼트 디스크립터로 관리

* 페이지 ; 페이지 테이블로 관리



▣  MULTICS

- 세그먼트를 페이지로 나눔



▣  메모리 관리 연구

- 페이징 + 세그먼테이션


반응형