연속 메모리 할당

song·2023년 5월 8일

스와핑

: 메모리에서 현재 사용되지 않는 프로세스들을 보조기억장치의 일부 영역(스왑 영역)으로 내보내고 메모리에 생긴 빈 공간에 실행할 프로세스를 적재하는 메모리 관리 기법

장점

  • 프로세스들이 요구하는 메모리 주소 공간의 크기가 실제 메모리 크기보다 커도 실행 가능
    프로세스들이 요구하는 메모리 공간 크기 > 실제 메모리 크기

메모리 할당 방식


최초 적합

  • 운영체제가 메모리 내의 빈 공간을 순서대로 검색 후 공간 발견하면 바로 할당
  • 검색 최소화, 빠른 할당


최적 적합

  • 운영체제가 빈 공간을 모두 검색 후, 가능한 가장 작은 공간에 할당


최악 적합

  • 운영체제가 빈 공간을 모두 검색 후, 가능한 가장 큰 공간에 할당


연속 메모리 할당은 효율적으로 메모리를 사용하는 방법이 아님❗❗

'외부 단편화'가 발생하기 때문

외부 단편화(external fragmentation)

  • 프로세스들이 실행, 종료를 반복하며 생기는 메모리 사이 사이에 빈 공간
  • 프로세스를 할당하기 작은 메모리 공간들로 인해 메모리가 낭비되는 현상

해결법

  • 메모리 압축 (Compaction)
    • 여기저기 흩어진 빈 공간들을 하나로 모으는 방식
    • 프로세스를 적당히 재배치시켜 작은 빈 공간들을 하나의 큰 빈 공간으로 만드는 방법
    • 단점
      • 압축하는 동안 시스템은 하던 일을 중지해야 함
      • 메모리에 있던 내용을 옯기는 작업은 많은 오버헤드를 발생시킴
      • 최소한의 피해로 압축하는 명확한 방법을 결정하기 어려움


      그래서 '페이징 기법'을 사용한다 ❗❗

      👋 다음 글에서 계속...

<출처>
"혼자 공부하는 컴퓨터구조+운영체제".강민철.https://www.youtube.com/playlist?list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl (2023.05.08)


책과 강의를 통해 학습한 내용을 요약 정리했습니다.
profile
인간은 적응의 동물

0개의 댓글