본문 바로가기
OS/쉽게 배우는 운영체제

메모리 관리 (2)

by re-hwi 2022. 3. 11.

전 단원에서는 메모리의 기초적인 개념,용어를 배웠다면 이번 단원에는 '메모리를 어떻게 하면 효율적으로 관리 할 수 있을까'에 대해 다룬다. 

 

이건 우리의 일상생활에서도 흔히 마주칠 수 있는 문제인데 식당에 갔을 때 손님의 수에 맞게 테이블을 제공하는 식당이 있을 수 있고, 4명이 앉을 수 있는 테이블로만 구성하는 방법도 있을 것이다. 

 

이러한 방법은 여러 장단점이 있는데 이번 내용에서 소개하겠다. 


4. 다중 프로그래밍 환경에서의 메모리 할당

 

4-1 메모리 분할 방식

 

  • 가변 분할 방식 : 프로세스의 크기에 따라 메모리를 나누는 방식. 한 프로세스가 연속적인 메모리에 배치되기 때문에 연속 메모리 할당이라고도 한다.

장점 : 프로세스 측면에서 봤을 때 매우 편리함

단점 : 관리가 불편함/ 프로세스가 작업을 마친 후 다른 프로세스가 사용할 수 없는 여러 데이터 조각들이 생길 수 있음

  • 고정 분할 방식 : 프로세스의 크기에 상관없이 메모리를 같은 크기로 나누는 방식. 한 프로세스가 분산되어 배치되기 때문에 비 연속 메모리 할당이라고도 한다.

장점 : 관리가 용이함

단점 : 프로세스 측면에서 불편함/ 관리자가 지정한 크기보다 작은 프로세스가 들어올 경우 메모리의 낭비

 

※ 예를 들어 평소에는 20KB만큼 크기를 할당하여 고정분할로 사용하고 20KB보다 작은 프로세스들은 한 곳에 뭉쳐 가변분할로 사용하면 안될까? 

 

4-2 가변 분할 방식의 메모리 관리

 

1) 외부 단편화 : 가변 분할 방식에서 일어남. 메모리를 사용하고 나간 프로세스의 자리를 새로운 프로세스가 사용할 수 없을 때 단편화가 일어남

2) 메모리 배치 방식 

  • 최초 배치 : 단편화를 고려하지 않은 방식 

장점 : 빈 공간을 찾아다닐 필요가 없다. 

단점 : 외부 단편화가 일어나기 쉬움

  • 최적 배치 : 메모리의 빈 공간을 확인한 후 가장 작은 공간에 프로세스를 배치

장점 : 프로세스의 크기와 딱 맞는 공간을 찾을 경우 단편화가 일어나지 않음

단점 : 딱 맞는 공간이 업슨 경우 아주 작은 조각을 만들어냄

  • 최악 배치 : 메모리의 빈 공간을 확인한 후 가장 큰 공간에 프로세스를 배치

장점 : 프로세스를 배치하고 남은 공간이 크기 때문에 쓸모가 있음

단점 : 빈 공간의 크기가 점점 줄어들면 아주 작은 조각을 만들어냄

 

3) 조각 모음 : 빈 공간들을 모아 하나의 큰 덩어리로 만드는 과정

 

조각모음의 순서

  1. 이동할 프로세스의 동작을 멈춘다
  2. 프로세스의 위치를 옮기기 위해 프로세스의 상대주소값을 바꾼다
  3. 프로세스를 다시 시작한다

4-3 고정 분할 방식의 메모리 관리

 

1) 내부 단편화 : 고정 분할 방식에서 일어남. 고정된 메모리값보다 작은 프로세스가 들어왔을 때 내부 단편화가 일어남

 

2) 메모리 배치 방식

조각 모음을 할 필요가 없고 곤리가 수월하므로 현대의 메모리 관리 시스템에서 자주 사용

 

4. 버디 시스템

 

4-1 버디 시스템의 작동 방식 

 

  1. 프로세스의 크기에 맞게 메모리를 1/2로 자르고 프로세스를 메모리에 배치
  2. 나뉜 메모리의 각 구역에는 프로세스가 1개만 들어감
  3. 프로세스가 종료되면 빈 조각과 합쳐서 하나의 큰 덩어리를 만든다
반응형

'OS > 쉽게 배우는 운영체제' 카테고리의 다른 글

가상 메모리의 기초(2)  (0) 2022.03.21
가상 메모리의 기초 (1)  (0) 2022.03.17
메모리 관리 (1)  (0) 2022.03.10
교착 상태  (2) 2022.03.08
프로세스 동기화 (2)  (0) 2022.03.06

댓글