감자튀김 공장🍟

[OS] 메모리 할당(Memory Allocation) 본문

Study/Operating System

[OS] 메모리 할당(Memory Allocation)

Potato potage 2022. 4. 10. 01:10
반응형

메모리 할당

  • 메모리 할당이란 운영체제가 새 응용프로그램을 실행시키거나 실행중인 프로세스가 메모리를 필요로 할 때 아래 그림과 같이 물리 메모리를 할당하는 정책이다.

  • 프로세스의 코드와 데이터를 적재하기 위해 물리 메모리 영역이 할당되고, 프로세스의 실행 중 동적으로 스택이나 힙이 늘어날 때 이에 필요한 물리 메모리 공간이 할당되는데, 메모리 할당은 전적으로 운영체제 커널에 의해 이루어진다.

 

 

연속 메모리 할당

  • 연속 메모리 할당은 각 프로세스에게 메모리 한 덩어리씩 할당하는 기법이다.
    • 여기서 연속의 뜻은 모든 프로세스들이 연속된다는 의미가 아니라 할당받은 메모리가 한 덩어리처럼 연속된 메모리라는 의미이다.
  • 연속 메모리 할당은 2가지로 구분된다.
    • 고정 크기 할당
      • 메모리를 파티션으로 불리는 고정 크기의 영역으로 나누고 프로세스마다 1개의 파티션을 할당
    • 가변 크기 할당
      • 프로세스 크기의 연속된 메모리 공간을 할당

 

분할 메모리 할당

  • 각 프로세스에게 필요한 메모리를 물리 메모리에서 여러 덩어리로 나누어 분산 할당하는 방법
  • 분할 메모리도 대표적인 2가지 방법이 있다.
    • 세그먼테이션(segmentation)
      • 프로세스를 코드, 데이터, 스택, 힙 등의 논리적인 블록들로 분할하고, 이 각 블록을 하나의 단위로 다루기 위해 하나의 연속적인 메모리 공간에 할당하는 기법이다.
      • 크기가 서로 다른 여러 개의 덩어리로 할당한다.
    • 페이징(paging)
      • 프로세스를 논리적인 단위로 분할하지 않고, 일률적으로 페이지(page)라고 부르는 고정 크기로 분할한다.
      • 크기가 동일한 여러 개의 덩어리로 할당한다.

 

출처

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

반응형
Comments