프로그래밍/컴퓨터구조 및 운영체제

프로세스 연속 메모리 할당 (feat 외부 단편화)

gameObject 2023. 11. 22. 19:44
728x90

연속 메모리 할당 : 프로세스들이 메모리 내에서 연속적으로 할당되는 것을 말한다.

페이징과 연관된 내용이다.

스와핑

현재 사용되지 않는 프로세스들을 보조기억장치의 일부 영역 (스왑 영역)으로 쫒아내고, 그 빈자리에 새 프로세스를 적재한다.

 

장점 : 많은 프로세스들을 적재하여 사용할 수 있다.

 

연속 메모리 할당, 할당방식 3가지

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

 

1) 최초 적합

 - 운영체제가 메모리 내의 빈 공간을 순서대로 검색하다 적재할 수 있는 공간을 발견하면 그 공간에 프로세스를 배치

 - First -fit

 - 검색 최소화, 빠른 할당

 

2) 최적 적합

 - 운영체제가 빈 공간을 모두 검색한 뒤, 적재 가능한 가장 작은 공간에 프로세스를 배치

 -  best -fit

 

3) 최악 적합

 - 운영체제가 빈 공간을 모두 건색한 뒤, 적재 가능한 가장 큰 공간에 할당

 - worst -fit

 

외부 단편화 (위의 연속 메모리 할당방식을 사용했을 때 발생하는 문제)

- 연속 메모리 할당방식은 외부 단편화(external fragmentation)을 발생시킨다.

- 외부단편화란 : 프로세스들이 실행되고 종료되는 행동을 반복하면서 메모리 사이에 빈 공간이 발생하게 되는 현상

 -> 즉, 프로세스를 할당하기 어려울 만큼 작은 메모리 공간들이 생겨나면서 메모리가 낭비된다.

728x90