감자튀김 공장🍟

[OS] 연속 메모리 할당 본문

Study/Operating System

[OS] 연속 메모리 할당

Potato potage 2022. 4. 11. 13:23
반응형

고정 크기 할당

  • 고정 크기 할당은 메모리를 파티션(partition)이라는 동일한 크기로 나누고, 각 프로세스가 실행될 때 1개의 파티션을 할당하는 기법이다.
  • 예시
    • 메모리 전체를 n개의 파티션으로 분할하고 프로세스가 실행을 시작할 때 각 프로세스에게 1개의 파티션을 할당한다.
    • 동시에 실행시킬 수 있는 프로세스의 개수는 n개로 제한되어, n개의 프로세스가 실행 중일 경우 새로운 프로세스가 도착하면 프로세스 중 하나가 종료될 때까지 큐에서 대기한다.

  • 문제점
    • 프로세스가 파티션의 크기보다 작은 경우 메모리의 일부가 낭비된다.
    • 프로세스가 파티션의 크기보다 큰 경우 처음부터 실행할 수 없다는 문제가 있다.

 

가변 크기 할당

  • 프로세스의 크기가 모두 다른 것을 고려하여, 각 프로세스에게 프로세스와 동일한 크기의 메모리를 할당하는 기법이다.
  • 예시
    • 할당되는 메모리 공간을 region (리전)이라고 불렀다.
    • 가변 크기 할당을 사용하면 수용 가능한 프로세스의 개수는 가변적이다.
    • 프로세스가 도착했을 때 가용 메모리가 부족하면 실행 중인 프로세스가 종료되어 필요한 가용 공간이 생길 때까지 큐에서 대기한다.



단편화(fragmentation)

  • 단편화란 프로세스에게 할당할 수 없는 조각난 메모리들이 생기는 형상을 뜻한다.
  • 조각 메모리를 홀(hole)이라고 부르며 홀이 너무 작아 프로세스에게 할당할 수 없을 때 단편화가 발생한다.
  • 홀이 생기는 위치에 따라 내부 단편화와 외부 단편화로 나뉜다.
  • 내부 단편화(internal fragmentation)
    • 프로세스에게 할당된 메모리 내부에 작은 홀이 생기는 경우이다.
    • 고정 크기 파티션의 경우에서 볼 수 있다.

 

  • 외부 단편화(external fragmentation)
    • 할당된 메모리들 사이에 작은 메모리 홀이 생기는 경우이다.
    • 가변 크기의 경우 외부 단편화가 나타나는데, 크기가 다른 리전이 할당되고 반환되면서 리전과 리전 사이의 홀이 발생한다.

출처

운영체제(Operating system), 황기태 지음

반응형
Comments