Allocate continuous memory(연속 메모리 할당)

  • 부팅 직후에는 os만 적재되어 있으므로 나머지는 빈공간(big single hole)
  • 이를 여러 가지의 프로그램이 동시에 올라와 스케줄링에 의해 CPU나 I/O를 할당받아 여러 위치에 적재된다.(scattered holes)
  • 프로세스가 순서대로 쌓이더라도 작업이 끝나는 순서는 정해져 있지 않고 다시 들어오는 프로세스와도 메모리 공간 차지 사이즈가 달라 메모리 중간중간 빈공간이 생성될 것

scattered holes가 계속 발생하면 hole들이 불연속하게 흩어져 있게 되어 메모리 단편화 현상 발생

(메모리의 빈 공간) < (프로세스 크기) : "외부 단편화"

"외부 단편화를 없애기 위해 연속 메모리 할당 방식을 사용!"

 

최초 적합(First-fit)

메모리를 순차적으로 탐색해 제일 먼저 발견한 적절하게 들어갈 수 있는 곳을 찾아 적재

 

최적 적합(Best-fit)

메모리를 탐색하여 메모리 공간 중에서 제일 적절하게 들어갈 수 있는 곳을 찾아 적재

 

최악적합(Worst-fit)

메모리를 넣는데 크기와 제일 안 맞는 공간(프로세스보다 큰 메모리 공간 중)에 적재

 

  • 속도 : 최초 적합
  • 이용률 : 최적 적합

연속 메모리 할당의 방식을 사용하더라도 외부 단편화로 인한 메모리 낭비가 1/3정도 발생

 

Compaction

 

  • hole들을 한 곳으로 모으겠다는 방식
  • 메모리 계산에 대한 부담이 큼
  • 최적의 알고리즘은 존재하지 않음
  • 이것을 해결한 방법이 "Paging"

 

❗ paging은 다음 3 포스팅에서~ ❗

'Computer Science > Operating System' 카테고리의 다른 글

[개념] Memory Management 4(Segmentation)  (0) 2021.08.12
[개념] Memory Management 3(Paging)  (0) 2021.08.12
[개념] Memory Management 1  (0) 2021.08.12
[개념] Virtualization  (0) 2021.08.12
[개념] IPC  (0) 2021.08.12

+ Recent posts