SECTION 134: 기억 장치 관리
2024. 10. 12. 17:41ㆍ정보처리기사(실기)/11장 응용 소프트웨어 기초 기술 활용
기억장치 관리
- 기억장치의 관리 전략
- 기억장치 관리 전략은 운영체제가 메모리 자원을 효율적으로 관리하고, 각 프로세스가 필요한 메모리를 적절하게 할당받을 수 있도록 하는 기법을 의미합니다. 이를 통해 시스템의 성능을 최적화하고 자원 활용도를 높일 수 있습니다.
- 반입(fetch) 전략 : 반입 전략은 보조 기억장치에 보관 중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략입니다.
- 기법
- 즉시 반입(Demand Fetch): 프로세스가 특정 페이지나 세그먼트를 필요로 할 때, 해당 메모리를 주기억장치에 반입하는 방식입니다. 메모리 사용량을 줄일 수 있지만, 페이지 결함(page fault)이 자주 발생할 수 있습니다.
- 사용 의미: 즉시 반입은 메모리 사용의 효율성을 높이기 위해 필요한 순간에만 메모리를 할당하는 방식으로, 메모리의 낭비를 줄이는 데 유리합니다.
- 예측 반입(Prefetching): 앞으로 필요할 것으로 예상되는 페이지나 세그먼트를 미리 메모리에 반입하는 방식으로, 페이지 결함을 줄여 시스템 성능을 향상시킬 수 있습니다.
- 사용 의미: 예측 반입은 시스템의 성능을 개선하기 위해 사용되며, 페이지 결함을 줄여 작업의 연속성을 보장합니다.
- 예상 반입(Anticipatory Fetch): 시스템이 앞으로 실행될 프로그램이나 프로세스를 분석하여 필요한 페이지나 세그먼트를 미리 메모리에 반입하는 방식입니다. 실행 패턴을 예측하여 페이지 결함을 줄이는 데 도움을 줍니다.
- 사용 의미: 예상 반입은 사용자가 필요로 할 리소스를 미리 확보하여 대기 시간을 줄이고 시스템 응답성을 높이는 데 기여합니다.
- 즉시 반입(Demand Fetch): 프로세스가 특정 페이지나 세그먼트를 필요로 할 때, 해당 메모리를 주기억장치에 반입하는 방식입니다. 메모리 사용량을 줄일 수 있지만, 페이지 결함(page fault)이 자주 발생할 수 있습니다.
- 기법
- 배치(placement) 전략 : 배치 전략은 프로세스를 주기억장치의 어느 위치에 배치할지를 결정하는 전략입니다.
- 기법
- 최초 적합(First Fit): 메모리의 빈 공간 중에서 첫 번째로 맞는 크기의 빈 공간에 프로세스를 배치하는 방식입니다. 간단하고 빠르지만, 메모리의 단편화(fragmentation)가 발생할 수 있습니다.
- 사용 의미: 빠른 속도로 메모리를 할당할 수 있으므로 응답 시간이 중요한 시스템에서 유리합니다.
- 최적 적합(Best Fit): 프로세스가 들어갈 수 있는 가장 작은 크기의 빈 공간에 배치하는 방식으로, 메모리 낭비를 줄일 수 있으나 탐색 시간이 길어질 수 있습니다.
- 사용 의미: 메모리 공간의 효율적인 활용을 목표로 하여 메모리 낭비를 최소화하는 데 유리합니다.
- 최악 적합(Worst Fit): 프로세스를 가장 큰 빈 공간에 배치하여, 남는 메모리 공간을 최대화하려는 전략입니다. 단편화를 방지할 수 있으나, 효율적이지 않을 수 있습니다.
- 사용 의미: 큰 메모리 공간을 남겨놓아 미래의 큰 프로세스가 적재될 수 있는 가능성을 보장합니다.
- 최초 적합(First Fit): 메모리의 빈 공간 중에서 첫 번째로 맞는 크기의 빈 공간에 프로세스를 배치하는 방식입니다. 간단하고 빠르지만, 메모리의 단편화(fragmentation)가 발생할 수 있습니다.
- 기법
- 교체(Replacement) 전략: 교체 전략은 운영체제가 페이지 부재(Page Fault) 상황에서 메모리 내의 페이지를 교체해야 할 때 사용하는 알고리즘입니다. 효율적인 메모리 사용을 위해 어떤 페이지를 내보낼지 결정하는 데 사용됩니다.종류:
- FIFO (First In First Out): 가장 먼저 들어온 페이지를 가장 먼저 교체하는 방식입니다. 구현이 간단하지만, 오래된 페이지가 꼭 쓸모없는 것은 아니기 때문에 비효율적일 수 있습니다.
- 예시: 페이지 프레임이 3개이고 페이지 참조가 1, 2, 3, 4일 때, 1이 가장 먼저 들어왔기 때문에 4가 들어올 때 1이 교체됩니다.
- OPT (Optimal): 앞으로 가장 오랫동안 사용되지 않을 페이지를 교체하는 방식입니다. 최적의 성능을 보이지만, 미래의 참조를 예측해야 하므로 실제 시스템에 적용하기는 어렵습니다.
- 예시: 페이지 프레임이 3개이고 페이지 참조가 1, 2, 3, 4, 1, 2, 5일 때, 4가 들어올 때 앞으로 가장 늦게 사용될 3이 교체됩니다.
- LRU (Least Recently Used): 가장 오랫동안 사용되지 않은 페이지를 교체하는 방식입니다. 최근에 사용된 페이지가 앞으로도 사용될 가능성이 높다는 가정을 합니다.
- 예시: 페이지 프레임이 3개이고 페이지 참조가 1, 2, 3, 4일 때, 4가 들어올 때 가장 오랫동안 사용되지 않은 1이 교체됩니다.
- LFU (Least Frequently Used): 가장 적게 사용된 페이지를 교체하는 방식입니다. 사용 빈도가 낮은 페이지를 제거하여 자주 사용되는 페이지의 유지에 집중합니다.
- 예시: 페이지 프레임이 3개이고 페이지 참조가 1, 2, 1, 3, 4일 때, 4가 들어올 때 사용 빈도가 가장 낮은 2가 교체됩니다.
- NUR (Not Used Recently): 최근에 사용되지 않은 페이지를 교체하는 방식입니다. LRU와 비슷하지만 구현이 간단하며, 사용 여부를 기준으로 페이지를 선택합니다.
- 예시: 페이지 프레임이 3개이고 참조 비트가 설정된 페이지가 1, 2, 3일 때, 4가 들어올 경우 최근 참조되지 않은 페이지를 교체합니다.
- SCR (Second Chance Replacement): FIFO에 페이지에 대해 두 번째 기회를 주는 방식입니다. 페이지가 교체 대상이 될 때 참조 비트가 설정되어 있으면 이를 초기화하고 다음 페이지로 넘어갑니다. 참조 비트가 설정되지 않은 페이지는 교체됩니다.
- 예시: 페이지 프레임이 3개이고 페이지 참조가 1, 2, 3, 4일 때, 1의 참조 비트가 설정되어 있으면 초기화하고 2로 넘어가며, 참조 비트가 없는 페이지는 교체됩니다.
- FIFO (First In First Out): 가장 먼저 들어온 페이지를 가장 먼저 교체하는 방식입니다. 구현이 간단하지만, 오래된 페이지가 꼭 쓸모없는 것은 아니기 때문에 비효율적일 수 있습니다.
기출문제
문제 1: 메모리 관리 기법 중 Worst Fit 방법을 사용할 경우 10K 크기의 프로그램 실행을 위해서는 어느 부분에 할당되어야 하는지 영역 번호를 쓰시오.
영역 번호 | 메모리 크기 | 사용 여부 |
N01 | 8K | FREE |
N02 | 12K | FREE |
N03 | 10K | IN USE |
N04 | 20K | IN USE |
N05 | 16K | FREE |
- 답: N05
- 설명: Worst Fit 방법은 가장 큰 빈 공간에 할당하는 방식입니다. 주어진 메모리 공간 중에서 N05가 16K로 가장 큰 빈 공간이므로 10K 프로그램을 할당하는 데 적합합니다.
문제 2: 빈 기억공간의 크기가 20KB, 16KB, 8KB, 40KB 일 때 기억장치 배치 전략으로 "Best Fit"을 사용하여 17KB의 프로그램을 적재할 경우 내부 단편화의 크기는 얼마인지 쓰시오.
- 답: 3KB
- 설명: Best Fit은 가장 작은 빈 공간에 할당하여 메모리 낭비를 최소화하는 방식입니다. 17KB 프로그램을 적재하기 위해 20KB 공간이 선택되며, 이로 인해 3KB의 내부 단편화가 발생합니다.
문제 3: 주기억장치의 모든 영역이 이미 사용 중인 상태에서 새로운 프로그램이 들어올 때 주기억장치에 배치하려면, 이미 사용되고 있는 영역 중에서 어느 영역을 삭제할 것인지를 결정하는 기억장치 관리 전략을 쓰시오.
- 답: 교체(replacement) 전략
- 설명: 교체 전략은 주기억장치가 가득 찬 경우, 새로운 프로그램을 배치하기 위해 기존의 페이지나 세그먼트를 교체하는 방식을 결정하는 전략입니다.
'정보처리기사(실기) > 11장 응용 소프트웨어 기초 기술 활용' 카테고리의 다른 글
SECTION 137 가상기억장치 기타 관리 사항 (0) | 2024.10.13 |
---|---|
SECTION 136 페이지 교체 알고리즘 (0) | 2024.10.13 |
SECTION 135: 가상기억장치 구현 기법 (2) | 2024.10.12 |
SECTION 133: 운영체제의 종류 (3) | 2024.10.12 |
SECTION 132: 운영체제 개념 (1) | 2024.10.12 |