본문 바로가기

Layer7/동아리 숙제

운영체제의 메모리 할당 알고리즘

운영체제의 메모리 할당 알고리즘 - 개념 설명
더보기

운영체제는 컴퓨터의 자원들을 효율적으로 관리하고, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있게끔 도와주는 소프트웨어다.

따라서 운영체제는 메모리(RAM)이나 하드디스크(HDD)에 공간을 할당할때도 사용자 대신 알아서 해준다.

그러면 도대체 어떻게 알아서 해주는 것일까?

다양한 기법들이 있겠지만 여기서는 유명한 First Fit, Best Fit, Worst Fit 기법들을 알아볼것이다.

 

기법들에 알아보기 앞서

Sequential Search란 운영체제가 메모리 공간을 할당하기 위해서 공간을 쭉 스캔하는 것이다.

다른 말로는 간단하게 Scanning이라고도 한다.

메모리를 할당하는 것을 Fit라고 한다.

First Fit이든, Best Fit이든 Worst Fit이든 무슨 메모리 할당 알고리즘이건 완벽하게 딱맞는 크기를 발견하기 힘들다. 그래서 보통은 각자의 방법으로 공간을 찾으면 Fit하고, 남는 부분은 분할해서 다시 할당할 수 있게 만든다.

 

First Fit
더보기
First Fit

First Fit 기법은 말 그대로 첫번째로 알맞는 공간에 Fit 하는것이다.

이 기법에 장점은 위 3가지중 가장 빠르다는 것이다.

Scanning을 하다가 적합한 공간을 발견하면 바로 그자리에 넣어주고 더이상 Scanning하지 않는다.

그러기에 가장 빠르다는 장점을 가지고 있다.

특징으로는 비교적 앞은 빽빽하지만, 뒤는 널널하다는 특징을 가지고 있다.

 

Best Fit
더보기
Best Fit

Best Fit 기법은 처음부터 끝까지 쭉 Scanning한 다음 가장 적합한 공간에 Fit 해주는 것이다.

Scanning을 전부 해주기 때문에 First Fit보다 시간이 걸린다.

Best Fit 기법의 특징으로는

어떤 이는 공간의 효율을 최고로 높여주는 가장 좋은 기법이라고 말하고,

어떤 이는 중간중간 작은 여백이 많이 남아서 First Fit이나 Worst Fit보다 더 비효율적인 기법이라고 말한다.

 

Worst Fit
더보기
Worst Fit

Worst Fit 기법은 Best Fit 기법처럼 처음부터 끝까지 Scanning해주고, 가장 넓은 공간에 Fit 해준다.

이 기법은 가정 넉넉한 공간에 Fit하는 거라 '굳이?'라는 의문이 들겠지만, 나도 '굳이?'라는 의문이 든다.

굳이 장점을 비교해보자면 나머지 2개의 기법과는 다르게

넉넉한 공간에 Fit 하다보니 사용할 수 없을 정도로 작은 공간을 최소화 할 수 있어

보다 공간을 효율적으로 관리할 수 있다.

단점은 역설적으로 가장 넓은 공간에 할당하기 때문에 공간을 효율적으로 분배하지 못한다.

참조