□ 주기억장치관리 방법
■ 반입기법(Fetch)
보조기억장치의 데이터를 주기억장치로 옮기는 시점을 결정하는 방법입니다.
- 요구 반입 정책
수행 중인 프로세스에 의하여 호출된 페이지나 세그먼트를 주기억장치로 옮기는 기법이며 페이지를
선택하는데 있어 오버헤드는 적지만 페이지를 할당받기 위해서는 대기시간이 길게 소요됩니다.
- 예상 반입 정책
프로세스에 의해 요청될 페이지나 세그먼트를 미리 예측하여 프로세스가 이를 요구하기 전에 주기억
장치로 적재시키는 기법을 말하며, 예측 결정이 맞았다면 프로세스의 실행 시간은 매우 감소하나 어
느 페이지를 주기억 장치로 옮길 것인지를 결정하는데 있어서는 오버헤드가 크다는 단점이 있습니다.
■ 배치기법(Placement)
페이지나 세그먼트를 주기억장치의 어느 곳에 적재할 것인가를 결정하는 정책입니다.
- 최초적합(First Fit)
할당 가능 영역의 최초 영역을 찾아서 첫 번째 배치시키는 방법입니다.
- 최적적합(Best Fit)
단편화를 가장 적게 남기는 영역을 찾아서 배치시키는 방법입니다.
- 최악적합(Worst Fit)
단편화를 가장 많이 남기는 방법으로 가장 빠른 속도를 가지지만 메모리 활용 효율이 가장 나쁩니다.
■ 교체기법(Replacement)
주기억장치의 모든 영역이 사용 중일 경우 어떤 영역의 데이터를 주기억장치에서 제거하여 교체할 것인
가를 결정하는 정책입니다.
- 최적화 기법
가장 오래 사용되지 않을 것으로 예상되는 Page를 교체하는 기법으로 이론적으로 가장 최적의 방식이
나 현실적으로는 구현이 불가능합니다.
- FIFO(First In First Out)
주기억장치의 적재순서에 제일 처음 적재되었던 Page를 교체하는 기법입니다.
- LRU(Least Recently Used)
가장 오래 사용하지 않은 Page를 교체하는 기법입니다.
- LFU(Least Frequently Used)
사용 횟수가 가장 적은 Page를 교체하는 기법입니다.
- NUR(Not Used Recently)
최근에 전혀 사용되지 않은 Page를 교체하는 기법입니다.
□ 기억장치의 단편화(Fragmentation)
프로세스들이 적재되도록 기억공간을 분할하는 과정에서 작업프로세스의 크기가 분할 공간에 비해 크거나
작아서, 대기 중인 어떤 작업프로세스도 적재될 수 없는 상태의 분할된 기억공간을 '단편화공간'이라 한다.
■ 내부단편화(Internal Fragmentation)
페이징기법을 사용하여 기억공간을 일정하게 고정된 크기로 나누어 프로세스를 적재할 경우, 하나의 프
로세스를 적재하고 나서 페이지 내부에 남아 있게 되는 공간을 말합니다.
■ 외부단편화(External Fragmentation)
다수의 프로세스들은 독립적으로 적재 및 실행하기 위한 기억공간들을 지속적으로 할당 및 제거하는 과
정에서 여기저기에 남게 되는 기억공간으로서 현재 대기 중인 작업프로세스를 적재하기에는 크기가 작
은 분할된 공간들을 의미합니다.
■ 단편화의 발생 원인
- 사용자 작업의 크기가 정확하게 분할에 맞지 않을 때
- 분할이 너무 작아서 어떤 작업도 적재될 수 없을 때
- 배치 기법의 특성에 따라서 단편화를 최소화할 수 있지만 처리속도 등의 오버헤드가 발생합니다.
■ 단편화 해결 방법
페이징(Paging)방식으로 분할되는 페이지(Page)의 크기를 줄이면, 어느 정도 해결되지만, 페이지 테이블
(Page Table)의 엔트리 크기가 증가하여 부하가 발생하게 됩니다.
- 압축(Compaction)
주기억장치 내에 분산되어 있는 단편화된 빈 공간을 결합하여 하나의 큰 가용 공간을 만드는 작업, 쓰레
기 수집(Garbage Collection)
- 통합(Coalescing)
주기억장치 내에 인접해 있는 단편화된 공간을 하나의 공간으로 통합합니다.
페이징은 내부단편화를 발생하지만, 외부단편화를 발생하지 않고 세그먼테이션은 내부단편화를 발생
하지만, 외부단편화를 발생합니다.
'ComputerTerm' 카테고리의 다른 글
유닉스와 리눅스 파일시스템의 종류 (0) | 2017.12.07 |
---|---|
윈도우 파일시스템의 종류 및 기능 FAT, NTFS (0) | 2017.12.06 |
기억장치의 종류 (0) | 2017.12.04 |
프로세스 스케줄링 (0) | 2017.12.03 |
프로세스에 대하여 (0) | 2017.12.02 |