물리적 메모리를 관리하는 방법에 대해 알아보자
메모리는 일반적으로 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 |
댓글