본문 바로가기

Operating system

메모리 분할 방식

  • 가변 분할 방식 : 프로세스의 크기에 따라 메모리를 분할
    • 메모리의 영역이 각각 다름
    • 연속 메모리 할당
  • 고정 분할 방식 : 프로세스의 크기와 상관없이 메모리를 같은 크기로 나눔
    • 큰 프로세스가 메모리에 올라오면 여러 조각으로 나누어 배치
    • 비연속 메모리 할당

 

가변 분할 방식과 고정 분할 방식의 장단점

  • 가변 분할 방식
    • 장점 : 프로세스를 한 덩어리로 처리하여 하나의 프로세스를 연속된 공간에 배치
    • 단점 : 비어 있는 공간을 하나로 합쳐야 하며, 이 과정에서 다른 프로세스의 자리도 옮겨야 하므로 메모리 관리가 복잡
  • 고정 분할 방식
    • 장점  메모리를 일정한 크기로 나누어 관리하기 때문에 메모리 관리가 수월
    • 단점 : 쓸모없는 공간으로 인해 메모리 낭비가 발생할 수 있음

 

 

가변 분할 방식과 외부 단편화

  • 프로세스 A,B,C,D,E를 순서대로 배치했을 때 프로세스 B와 D가 종료되면 18KB와 17KB의 빈 공간이 생김
  • 이후 18KB보다 큰 프로세스가 들어오면 적당한 공간이 없어 메모리를 배정하지 못하는데, 가변 분할 방식에서 발생하는 이러한 작은 빈 공간을 외부 단편화라고 함

 

외부 단편화 해결

  • 메모리 배치 방식 : 작은 조각이 발생하지 않도록 프로세스를 배치
  • 조각 모음 : 조각이 발생했을 때 작은 조각들을 모아 하나의 큰 덩어리로 만드는 작업

메모리 배치 방식

  • 최초 배치
    • 프로세스를 메모리의 빈 공간에 배치할 때 메모리에서 적재 가능한 공간을 순서대로 찾다가 첫 번째로 발견한 공간에 프로세스를 배치 
  • 최적 배치
    • 메모리의 빈 공간을 모두 확인한 후 적당한 크기 가운데 가장 작은 공간에 프로세스를 배치
  • 최악 배치
    • 빈 공간을 모두 확인한 후 가장 큰 공간에 프로세스를 배치

'Operating system' 카테고리의 다른 글

페이징 기법 (paging)  (1) 2023.11.03
가상 메모리 (가상 메모리, 매핑 테이블)  (0) 2023.11.02
스왑 swap  (0) 2023.09.18
절대 주소와 상대 주소  (0) 2023.09.18
메모리 관리와 소스코드의 번역 & 실행  (0) 2023.09.18