본문 바로가기

운영체제(OS)

메모리관리

메모리 관리

메모리 관리

  • 메모리 관리 필요성

    • 여러 프로세스가 한정된 자원을 사용 하기 때문
    • 메모리 자원을 효율적으로 사용하기 위해
  • 고정 분할 방식 (Fixed Partition Multi-programming, FPM)

    • 물리적 메모리를 정해진 개수만큼의 영구적인 분할로 나누어 두고 각 분할에 하나의 프로세스를 적재하는 방식.
    • 분할의 크기는 같을수도, 다를수도 있다.
    • 비연속 메모리 분할 : 한 프로세스가 분산 배치됨
    • 고정분할 방식에는 외부 단편화(external fragmentation), 내부단편화(internal fragmentation) 문제가 발생할 수 있다.

      • 단편화 : 메모리 공간의 빈 공간 또는 자료가 여러개의 조각으로 나뉘는 현상
      • 내부 단편화 : 남는 메모리 공간 발생
      • 외부 단편화 : 맞는 메모리 공간이 없다
  • 가변 분할 방식 (Variable partition multi-programming, VPM)

    • 메모리에 적재되는 프로그램의 크기에 따라 분할의 크기, 개수가 동적으로 변하는 방식.

    • 연속 메모리 분할 : 한 프로세스가 연속된 공간에 배치

    • 프로세스에 딱 맞게 메모리 공간을 사용하기에 내부단편화 문제는 발생하지 않는다.

    • 사용중인 프로세스가 종료되어 메모리에 새로운 프로세스를 올릴 메모리 공간이 충분하지 않을 경우 외부 단편화 문제가 발생

    • 가변 분할 방식은 어디 메모리 공간에 프로세스를 올려야 할지 결정해야하는 문제가 있다. 이를 해결하기 위한 기술적 방법 3가지

      1. 최초 적합 : 가장 먼저 나오는 가용 가능한 메모리공간에 적재
      2. 최적 적합 : 가장 딱 맞는 메모리 공간을 찾아 적재
      3. 최악 적합 : 가장큰 메모리 공간에 적재
      • 최초 == 최적 > 최악 (랜덤하게 넣나 최적으로 넣나 비슷하다는 결론)
    • 가변 분할 방식에서 발생하는 외부 단편화 문제를 해결하기 위한 방법으로는 컴팩션(Compaction) 방법이 있다.

      • 컴팩션 : 물리적 메모리 중에서 사용중인 메모리 공간을 한쪽으로 몰고 가용 공간을 확보하는 방법. 메모리를 효율적으로 사용 할수 있으나, 수행중인 프로세스의 메모리 주소 공간을 이동 시켜야하므로 비용이 많이든다

'운영체제(OS)' 카테고리의 다른 글

가상메모리관리  (0) 2023.02.17
가상 메모리 개요  (0) 2023.02.16
교착상태(Deadlock)  (0) 2023.02.15
동기화 문제  (0) 2023.02.15
인터럽트  (0) 2023.02.09