주기억장치 관리 기법이란?
주기억장치의 공간이 한정되어있기 때문에 사용자의 요구에 따른 프로세스를 어떻게 효율적으로 처리할 것인지 다양한 관점에서 고려하여 할당&회수하는 기법. 적재된 하나의 프로그램의 연속성 여부에 따라 연속 할당 방식과 비연속 할당 방식으로 나뉜다.
연속 할당 방식
프로세스를 주기억 장치의 연속된 영역에 할당하는 방식
단일 프로그래밍 기법
운영체제와 사용자 한 명의 프로그램만 주기억장치에 적재하는 방식. 빈공간이 생겨도 다른 사용자의 프로세스를 해당 공간에서 처리할 수 없으므로 자원낭비가 심하다(내부단편화). 또한, 주기억장치의 용량보다 큰 프로그램은 적재할 수 없다.
다중 프로그래밍 기법
주기억 장치를 분할하여 다수의 작업이 주기억장치에 동시에 존재하며, 실행중인 작업이 입출력 요구시 다른 작업에게 CPU 양도하여 실행하는 기법이다.
- 고정(정적) 분할 다중 프로그래밍 기법
프로세스에게 고정된 크기의 주기억장치 영역을 할당하는 기법이다. 크기가 고정되다보니 프로세스가 적재되는 크기와 차이가 나면서 내부단편화(공간 여유) 또는 외부단편화(공간 초과)가 발생할 수 있다.
- 가변 분할 다중 프로그래밍 기법
각 작업에게 필요한 만큼의 기억공간을 할당하는 기법이다. 작업이 완료되면 사용되지 않는 기억 공간을 회수하여 관리한다. 각 관리법은 아래와 같다.
통합 : 인접한 빈 공간을 통합시키는 관리방법
집약 : 기억장치의 한쪽 끝에 공백을 몰아 큰 공백을 형성하는 관리방법
주기억장치 관리 전략
반입전략
프로그램이나 참조데이터를 보조기억장치에서 언제 주기억장치로 가져올 것인지를 결정하는 전략
- 요구 반입 전략 : 사용자가 요구할 때 적재
- 예상 반입 전략 : 참조를 예측하여 적재
배치전략
프로그램이나 데이터를 주기억장치의 어디에 배치할 것인지를 결정하는 전략
- 최초 적합 : 순차적으로 적재
- 최적 적합 : 크기에 알맞게 적재
- 최악 적합 : 크기와 맞지 않게 비효율적 적재
교체전략
공간이 없어 적재를 못할 때 공간창출을 위해 어떤 프로그램이나 데이터를 제거할 것인지 결정
- FIFO 교체 : 가장 오래된 프로세스 제거
- LFU 교체 : 가장 적은 참조 횟수를 가지는 프로세스 제거
- LRU 교체 : 가작 오래 참조되지 않은 프로세스 제거
- NUR 교체 : 최근에 사용하지 않은 프로세스 제거
- 2차기회 교체 : FIFO방식을 이용하되 참조비트가 있다면 해결
'Study > system' 카테고리의 다른 글
가상 기억장치 구현&관리 (0) | 2018.04.21 |
---|---|
스케줄링(Scheduling) (0) | 2018.04.20 |
프로세스 제어 블록(PCB) (0) | 2018.04.20 |
프로세스(Process) (0) | 2018.04.20 |
부팅(Booting) (0) | 2018.04.20 |