CS/운영체제

메모리 관리 방식 - 연속 메모리 할당

Ski_ 2025. 7. 6. 23:23

유튜브에 공개된 『혼자 공부하는 컴퓨터 구조+운영체제』 강의를 보고 정리한 내용입니다.

 

출처 : 유튜브 - 혼자 공부하는 컴퓨터 구조+운영체제


연속 메모리 할당

프로세스에 연속적인 메모리 공간을 할당

스와핑

  • 현재 사용되지 않는 프로세스들을 보조기억장치의 일부 영역으로 쫓아냄
  • 그렇게 생긴 빈 공간에 새 프로세스 적재

불필요하게 지금 당장 사용되지 않는 프로세스들을 스왑 영역(보조기억장치)에 할당

스왑 인 : 메모리 → 보조기억장치

스왑 아웃 : 보조기억장치 → 메모리

 

스와핑의 이점

프로세스들이 요구하는 메모리 공간 크기 > 실제 메모리 크기여도 실행 가능


메모리 할당

 

 

프로세스는 메모리의 빈 공간에 할당되어야 한다.

 

 

→ 빈 공간이 여러 개 있다면?

⇒ 최초 적합, 최적 적합, 최악 적합

 

 

 

최초 적합

 

 

 

  • first fit
  • 운영체제가 메모리 내의 빈 공간을 순서대로 검색하다 적재할 수 있는 공간을 발견하면 그 공간에 프로세스를 배치하는 방식
  • 빈 공간 검색 최소화, 빠른 할당

 

 

 

최적 적합

 

 

  • best fit
  • 운영체제가 빈 공간을 모두 검색해본 뒤, 적재 가능한 가장 작은 공간에 할당

 

 

 

 

 

최악 적합

 

 

  • worst fit
  • 운영체제가 빈 공간을 모두 검색해본 뒤 적재 가능한 가장 큰 공간에 할당

 

 

 

 

 

 

 

 


외부 단편화

프로세스를 연속적으로 메모리에 할당하는 방식은 메모리를 효율적으로 사용하는 방법이 아니다.

외부 단편화(external fragmentation)이라는 문제가 발생하기 때문

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

해결방안

  • 메모리 압축(compaction)프로세스들을 적당히 재배치시켜 흩어진 빈 공간들을 하나의 큰 빈 공간으로 만드는 방법
  • 단점 : 합치고 재배치하는 과정에서 많은 오버헤드 발생
  • 여기저기 흩어져 있는 빈 공간들을 하나로 모으는 방식
  • 가상 메모리 기법, 페이징

출처 : 유튜브 - 혼자 공부하는 컴퓨터 구조+운영체제

반응형