본문 바로가기
CS(Computer Science)/운영체제

[운영체제] 메모리 관리

by whdgus928 2023. 2. 20.

물리적 메모리를 관리하는 방법에 대해 알아보자

메모리는 일반적으로 os상주영역과 사용자 프로세스 영역이 있다. 사용자 프로세스 영역은 연속할당과 불연속할당이 방법이 있다

 

연속할당

1. 고정분할 방식

- 프로그램이 들어갈 사용자 영역을 미리 파티션으로 나누어 놓음

- 물리적 메모리를 몇 개의 영구적 분할로 나눔

- 분할의 크기가 모두 동일한 방식과 서로 다른 방식이 존재

외부조각: 빈 공간인데 프로그램이 올라갈 수 없는 작은 분할

내부조각: 프로그램크기가 분할크기보다 작을 때 남는 메모리공간

 

2. 가변분할 방식

- 사용자 프로 미리 나눠놓지 않고 실행될때마다 순서대로 쌓는 것

- 프로그램 B가 끝나면 D는 공간이 안 맞아서 안 들어가고 외부조각으로 채움

- 프로그램의 크기를 고려해서 할당

Hole 발생

가용 메모리 공간

다양한 크기의 hole들이 메모리 여러 곳에 흩어져 있음

운영체제는 할당공간과 가용공간을 관리한다

 

Dynamic Storage Allocation Probiem

1. First fit

- size가 n 이상인 것 중 최초로 찾아지는 hole에 할당

2. Best fit

- size가 n 이상인 가장 작은 hole을 찾아서 할당

- 모든 리스트를 탐색

3. Worst fit

- 가장 큰 hole에 할당

- 모든 리스트를 탐색

 

compaction

- hole들을 한 곳으로 모아 큰 block을 만드는 것

- 외부조각 문제를 해결하는 방법

- 큰 비용이 발생

- 최소한의 메모리 이동으로 compaction 하는 방법

 

비연속적 할당

Paging

Segamentation

Paged Segamentation

반응형

'CS(Computer Science) > 운영체제' 카테고리의 다른 글

[운영체제] Segmentation  (0) 2023.04.28
[운영체제] Paging  (1) 2023.03.13
[운영체제] 메모리  (0) 2023.02.20
[운영체제] 교착상태(deadlock)  (0) 2023.02.18
[운영체제] Concurrency Control 병행 제어  (0) 2023.02.15

댓글