///////
Search
4️⃣

연습문제 13 ~ 16

가변 분할 방식의 메모리 관리

프로세스 배치와 외부 단편화

들어오는 프로세스의 크기대로 메모리를 분할해 배정한다.
위 그림처럼 자리가 두 칸 비어있어도 프로세스가 배정된 공간은 고정되어 있으므로 새로운프로세스를 배정하지 못한다.
→ 단편화 / 조각화

가변 분할 방식 메모리 배치 방식

가변 분할 방식은 외부 단편화로 인한 문제를 해결하기 위해서 메모리 배치 방식이나 조각 모음을 사용
메모리 배치 방식 : 작은 조각이 발생하지 않도록 프로세스를 배치하는 것 (선처리)
조각 모음 : 조각이 발생했을 때 작은 조각들을 모아서 하나의 큰 덩어리로 만드는 작업 (후처리)

최초 배치

단편화를 고려하지 않는 것
프로세스를 메모리에 배치할 때 메모리에서 적재 가능한 공간을 순서대로 찾다가 첫 번째로 발견한 공간에 프로세스를 배치
빈 공간을 모두 확인할 필요 없음

최적 배치

메모리의 빈 공간을 모두 확인 후 적당한 크기 가운데 가장 작은 공간에 프로세스를 배치하는 방법
빈 공간을 모두 확인해야 함
딱 맞는 공간을 찾을 경우 단편화 발생하지 않을 수 있다.
딱 맞는 공간이 없을 때는 작은 조각을 만들수밖에 없음

최악 배치

빈 공간을 모두 확인한 후 가장 큰 공간에 프로세스를 배치
빈 공간을 모두 확인해야 함
프로세스를 배치하고 남는 공간이 크기 때문에 쓸모가 있음
빈 공간의 크기가 클 때는 효과적이지만 점점 줄어들수록 작은 조각을 만들 수 밖에 없음

조각 모음

이미 배치된 프로세스를 옆으로 옮겨 빈 공간들을 하나의 큰 덩어리로 만드는 작업
1.
조각 모음을 하기 위해 이동할 프로세스의 동작을 멈춘다
2.
프로세스를 적당한 위치로 옮긴다 → 프로세스가 원래의 위치에서 이동하기 때문에 프로세스의 상대 주소값을 바꾼다
3.
이러한 작업을 다 마친 후 프로세스를 다시 시작한다.

연습문제 13

Q. 가변 분할 방식의 메모리 배치 방식 중 첫 번째로 발견한 빈 공간에 프로세스를 배치하는 방법은 무엇인가? A. 최초 배치

연습문제 14

Q. 가변 분할 방식의 메모리 배치 방식 중 가장 큰 공간에 프로세스를 배치하는 방식은 무엇인가? A. 최악 배치

연습문제 15

Q. 가변 분할 방식에서 서로 떨어진 여러 개의 빈 공간을 합치는 작업을 무엇이라 하는가? A. 조각 모음

버디 시스템

버디 시스템의 작동 방식

버디 시스템의 특징 : 가변 분할 방식과 고정 분할 방식의 중간 구조
1.
프로세스의 크기에 맞게 메모리를 1/2로 자르고 프로세스를 메모리에 배치
2.
나뉜 메모리의 각 구역에는 프로세스가 1개만 들어간다
3.
프로세스가 종료되면 주변의 빈 조각과 합쳐서 하나의 큰 덩어리를 만든다
16개의 자리를 8개, 4개, 2개의 자리로 나눈다
2개 단위보다 큰 프로세스가 도착하면 2개의 메모리를 합쳐 4개의 메모리에 프로세스를 배치한다
가장 작은 메모리 단위보다 작으면 메모리를 합쳐서 프로세스를 할당한다
가변 분할 방식과는 다르게 팀 H가 오면 바로 배치를 할 수 있다.

버디 시스템의 특징

가변 분할 / 고정 분할 방식의 특징을 모두 갖고 있다.
→ 메모리가 프로세스 크기대로 나뉨(가변 분할 방식)
→ 하나의 구역에 다른 프로세스가 들어갈 수 없음, 메모리의 한 구역에 조각이 생겨 내부 단편화가 발생(고정 분할 방식)
비슷한 크기의 덩어리가 서로 모여있어 통합하기가 쉽다 → 공간을 효과적으로 관리 가능
고정 분할 방식이 메모리 관리 측면에서 단순하기 때문에 버디 시스템보다 고정 분할 방식을 더 많이 사용

연습문제 16

Q. 메모리 분할 방식 중 프로세스의 크기에 맞도록 1/2 크기로 잘라가면서 메모리를 나누어주는 방식은 무엇인가? A. 버디 시스템