Layer 7-메모리 할당 알고리즘
다중 프로그래밍 시스템
: 여러 개의 프로그램이 마치 동시에 실행되는 것처럼 처리하는 방식.
즉, 한 사용자 프로그램이 CPU를 사용하다가 입출력 장치 등 CPU를 필요로
하지 않는 동안 다른 프로그램이 그 시간에 CPU를 사용하여 CPU의 효율을 극대화 시키는 방법
메모리 할당 방법
: 연속 메모리 할당은 메모리에 프로세스를 적재할 때 연속적으로 적재하는 방법이다.
연속 메모리 할당에는 고정 분할 방법과 가변 분할 방법이 있다.
고정 분할 방법
: 사용자가 쓸 수 있는 메모리의 범위 내에서 특정 크기로 잘라 분할된 메모리를 만드는 것이다.
각 분할된 공간에는 하나의 프로세스만 포함하게 된다.
논리적으로 분리된 메모리를 만드는 것인데 이때 논리적인 메모리 크기보다 프로세스의 크기가
크면 오류가 발생하고 작으면 내부 단편화(분할된 메모리에서 공간이 남는 것)이 발생한다.
가변 분할 방법
: 고정된 경계를 없애고 각 프로세스가 필요한 만큼 메모리를 할당하는 방법이다.
고정 분할 방법과 달리 가변 분할 방법을 이용하면 프로세스가 계속해서 적재되고
빠져나감에 따라 외부 단편화가 생기게 된다.
가변 분할 방법
컴퓨터를 부팅 하게 되면 그 직후에는 운영체제만 메모리에 적재돼 있으므로 운영체제를
제외한 공간은 모두 비어있게 된다. 이 후 프로세스가 생성되고 종료되는 작업을 반복하면서
컴퓨터가 동작하게 되는데, 이때 프로세스들은 여러 위치의 메모리에 적재되고,
프로세스를 메모리에 순서대로 쌓더라도 작업이 끝나는 순서는 정해져 있지 않고
다시 들어오는 프로세스와도 메모리 공간 차지 사이즈가 다르기 때문에 메모리의 빈 공간이
중간 중간에 계속 생성될 것이다.
이 빈 공간이 계속 발생하게 되면 불연속하게 흩어져 있는 메모리가 많아지고,
이렇게 되면 메모리의 빈 공간은 많은데 사이즈가 작은 공간이 많아 다른 프로세스들이
적재할 수 없는 현상이 발생한다. 이러한 현상을 외부 단편화라고 한다.
빈공간의 크기를 모두 합치면 프로세스를 충분히 적재할 수 있는데 불연속하게 떨어져 있어
프로세스가 적재되지 못 하는 현상이다.
가변 분할 방법에서는 프로세스를 어디 메모리 부분에 적재해야 할 지 고민한다.
그에 따라 최초 적합 방법, 최적 적합 방법, 최악 적합 방법이 있다.
최초 적합 방법(First-fit)
: 메모리를 순차적으로 탐색하여 제일 먼저 발견한 프로세스가 들어갈 수 있는 공간에 적재한다.
장점은 빠르게 프로세스를 적재 할 수 있지만, 단점은 공간 활용률이 떨어지게 된다.
최적 적합 방법(Best-fit)
: 메모리 공간 중 프로세스가 들어 갈 수 있는 가장 작은 공간(적절한 공간)에 할당하는 방법이다.
사용 가능 공간이 크기 순으로 정렬되어 있지 않으면 전체를 검색해야 하고
사용 가능 공간의 크기 순을 계속 정렬해야 해 overhead가 발생할 수 있다는 단점이 있지만,
공간 이용률이 높다.
최악 적합 방법(Worst-fit)
: 프로세스를 메모리 공간 중 가장 큰 곳에 배치한다.