728x90
반응형
가상 기억장치
- 보조기억장치 일부를 주기억장치처럼 사용하는 것. 현 운영체제에서 흔히 사용
- 주기억장치 용량보다 큰 프로그램 실행을 위해 사용
- 가상 기억장치에 저장된 프로그램 실행을 위해 가상 기억장치의 주소를 주기억장치 주소로 바꾸는 주소 변환작업(주소 매핑)이 필요
- 블록 단위로 나누어 사용하므로 단편화 해결 가능
- 기억장치 이용률 및 다중 프로그래밍 효율 향상
- 운영체제 설계 복잡, 주소 변환 테이블 사용으로 기억장소 낭비
가상 기억장치 구현 기법
페이징 (Paging) 기법 |
- 가상 기억장치의 프로그램과 주기억장치 영역을 동일한 크기로 나눠 프로그램(페이지)을 주기억장치 영역(페이지 프레임)에 적재시켜 실행 - 외부 단편화는 없으나 내부 단편화 발생 가능 - 페이지 맵 테이블 필요 |
세그먼테이션 (Segmentation) 기법 |
- 가상 기억장치의 프로그램을 다양한 크기의 논리적 단위로 나누어 주기억장치에 적재시켜 실행 - 프로그램을 배열, 함수 등 논리적 크기로 나눈 단위를 세그먼트라 하며, 세그먼트는 고유한 이름과 크기를 가짐 - 다른 세그먼트의 영역 침범할 수 없으며, 이를 위해 기억장치 보호키(Storage Protection Key)가 필요 - 내부 단편화는 없으나 외부 단편화 발생 - 세그먼트 맵 테이블 필요 |
주소 변환
논리적 가상주소를 물리적 실기억주소로 변환하는 것. 주소 사상 또는 주소 매핑(Mapping)이라고 함
페이지 교체 알고리즘
페이지 부재 발생 시 가상 기억장치의 필요한 페이지를 주기억장치에 적재할 때, 주기억 장치의 모든 페이지 프레임이 사용중일 경우 교체할 페이지 프레임을 결정하는 기법.
OPT (OPTimal Replacement, 최적 교체) |
- 앞으로 오랫동안 사용하지 않을 페이지를 교체하는 기법 - 각 페이지의 호출 순서와 참조 상황을 예측해야 하므로 실현 가능성 희박 |
FIFO (First In First Out) |
- 페이지가 주기억장치에 적재 시 시간을 기억하여, 가장 오래 있었던 페이지를 교체하는 기법 - 이해 및 설계가 간단 - 페이지 프레임 수가 많으면 페이지 부재의 수가 줄어드는 것이 일반적이나, 페이지 프레임 수를 증가시킬수록 페이지 부재가 많이 일어나는 벨레이디의 모순(Belady's Anomaly) 현상 발생 |
LRU (Least Recently Used) |
- 최근 오랫동안 사용하지 않은 페이지를 교체하는 기법 - 페이지별 계수기나 스택을 두어 가장 오래 전에 사용된 페이지를 교체 |
LFU (Least Frequently Used) |
- 사용 빈도가 가장 적은 페이지를 교체하는 기법 - 프로그램 실행 초기 많이 사용된 페이지가 이후 사용되지 않아도 프레임 차지 가능 |
NUR (Not Used Recently) |
- 최근에 사용하지 않은 페이지를 교체하는 기법 - 최근 사용 여부를 확인하기 위해 페이지 별 참조 비트(Reference Bit)와 변형 비트(Modified Bit, Dirty Bit), 2개의 비트가 사용 - 참조 비트오 변형 비트의 값에 따라 교체 순서 결정 |
SCR (Second Chance Replacement) |
가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 기법, FIFO 기법의 단점을 보완 |
가상기억장치 기타 관리 사항
페이지 크기
페이지 크기가 작을 경우 |
- 페이지 단편화 감소, 페이지를 주기억장치로 이동하는 시간 감소 - 프로세스 수행에 필요 내용만 적재, Locality(국부성)에 일치하므로 기억장치 효율 증가 - 페이지 맵 테이블 크기 증가, 매핑 속도 감소 - 디스크 접근 횟수의 증가로 전체적인 입 · 출력 효율성 증가 |
페이지 크기가 클 경우 |
- 페이지 맵 테이블 크기 감소, 매핑 속도 증가 - 디스크 접근 횟수 감소로 전체적인 입 · 출력 효율성 증가 - 페이지 단편화 증가, 페이지를 주기억장치로 이동하는 시간 증가 - 프로그램 수행에 불필요한 내용도 적재 |
국부성(Locality, 구역성)
- 실행중인 프로세스가 주기억장치를 참조 시 일부 페이지만 집중적으로 참조하는 성질 이론
- 스래싱 방지를 위한 워킹 셋 이론의 기반
- 프로세스가 집중적으로 사용하는 페이지를 알아내는 방법, 가상 기억장치 관리의 이론적 근거
- 캐시 메모리 시스템의 이론적 근거
- Locality 종류
시간 구역성 (Temporal Locality) |
- 프로세스가 실행되며 한 페이지를 일정시간 집중 액세스하는 현상 - 시간 구역성이 이루어지는 기억장소 : Loop(반복, 순환), 스택(Stack), 부프로그램(Sub Routine), Counting(1씩 증감), Totaling(집계)에 사용되는 변수(기억장소) |
공간 구역성 (Spatial Locality) |
- 프로세스 실행 시 일정 위치의 페이지를 집중 액세스하는 현상 - 공간 구역성이 이루어지는 기억장소 : 배열 순회(Array Traversal), 순차적 코드의 실행, 프로그래머들이 관련된 변수(데이터를 저장할 기억장소)들을 서로 근처에 선언하여 할당되는 기억장소, 같은 영역에 있는 변수를 참조할 때 사용 |
워킹 셋 / 페이지 부재
워킹 셋(Working Set)
- 프로세스가 일정 시간 자주 참조하는 페이지의 집합
- 데닝(Denning)이 제안한 모델, 프로그램의 Locality(구역성) 특징을 이용
- 자주 참조되는 워킹 셋을 주기억장치에 상주시켜 페이지 부재 및 페이지 교체 현상 줄임
- 워킹 셋은 시간에 따라 바뀐다
페이지 부재
프로세스 실행 시 페이지가 주기억장치에 없는 현상
페이지 부재 빈도 (PFF : Page Fault Frequency)
페이지 부재 발생 횟수
페이지 부재 빈도 방식
페이지 부재율(Page Fault Rate)에 따라 주기억장치의 페이지 프레임 수를 조절하여 부재율을 적정 수준으로 유지
스래싱(Thrashing)
- 프로세스 처리 시간보다 페이지 교체 시간이 많아지는 현상
- 다중 프로그래밍 및 가상 기억장치 사용 시스템에서 프로세스 수행 중 페이지 부재가 자주 발생하여 나타나는 현상으로 전체 시스템 성능 저하
- 다중 프로그래밍의 정도 향상에 따라 CPU 이용률이 높아지나 특점 시점이후 스래싱 발생 및 CPU 이용률 급감
CPU 이용률을 증가 및 스래싱 방지법
- 다중 프로그래밍 정도 적정으로 유지
- 부족 자원 증설
- 일부 프로세스 중단
- 페이지 부재 빈도(Page Fault Frequency) 조절
- Working Set 유지
- 적정 프레임 수 제공
디스크 스케줄링
- 디스크 상 여러곳의 데이터에 액세스하기 위해 디스크 헤드가 움직이는 경로를 결정하는 기법
- 디스크 스케줄링의 목적 : 처리량 최대화, 평균 응답 시간 최소화, 응답 시간 편차 최소화
FCFS (First Come First Service) |
- 디스크 대기 큐에 가장 먼저 들어온 트랙을 먼저 서비스 하는 기법 - 들어온 순서대로 서비스하므로 더 높은 우선순위 요청에 의해 순서가 바뀌지 않아 공평성 보장 |
SSTF (Shortest Seek Time First) |
- 탐색 거리가 가장 짧은 트랙 요청을 먼저 서비스하는 기법 - FCFS보다 처리량이 많고, 평균 탐색 시간이 짧음 - 탐색 패턴 편중으로 안쪽이나 바깥쪽 트랙이 가운데보다 서비스를 덜 받는 경향, 헤드에서 먼 요청은 기아 상태 발생 가능 - 일괄 처리 시스템에 유용 |
SCAN | - SSTF의 탐색 시간 편차 해소를 위한 기법 - 헤드의 위치에서 진행 방향 결정 시, 탐색 거리가 짧은 순서로 해당 방향의 모든 요청 서비스 후 역방향의 요청 서비스 |
C-SCAN (Circular SCAN) |
- 항상 바깥쪽에서 안쪽으로 움직이며 가장 짧은 거리를 갖는 요청 서비스 기법 - 헤드가 트랙 바깥쪽에서 안쪽으로 한 방향으로만 움직이며 끝까지 서비스 후, 가장 바깥쪽으로 이동 후 다시 안쪽으로 요청 서비스 |
N-Step SCAN |
SCAN기법의 무한 대기 발생 가능성 제거. 특정 방향 진행 시작 시 대기중이던 요청만 서비스하고, 진행 도중 도착한 요청은 다음의 반대 방향 때 서비스 |
에션바흐 (Eschenbach) |
- 부하가 매우 큰 항공 예약 시스템을 위해 개발 - 탐색 시간과 회전 지연 시간을 최적화하기 위한 기법 - 헤드가 C-SCAN과 같이 움직이며, 모든 실린더는 전체 트랙이 한 바퀴 회전할 동안 서비스 받음 |
SLTF (Shortest Latency Time First) |
- SLTF는 섹터 큐잉(Sector Queuing)이라고 하며, 회전 시간의 최적화를 위해 구현된 기법 - 디스크 대기 큐의 요청을 섹터 위치에 따라 재정렬, 가장 가까운 섹터를 먼저 서비스 - 헤드 이동이 없는 고정 헤드장치인 드럼과 같은 장치에서 사용 |
LOOK | SCAN기법에서 진행 방향의 마지막 요청 서비스 후 해당 방향 끝이 아닌 역방향으로 진행 |
728x90
반응형
'자격증 > IT' 카테고리의 다른 글
정보처리산업기사(필기) - 운영체제 : 정보 관리 (자원 보호, 보안, 정보 보안 기법) (0) | 2021.05.05 |
---|---|
정보처리산업기사(필기) - 운영체제 : 정보 관리 (파일과 파일 시스템, 파일의 구조, 디렉터리 구조) (0) | 2021.05.03 |
정보처리산업기사(필기) - 운영체제 : 기억장치 관리 (기억장치 관리의 개요, 주기억장치 할당 기법, 주기억장치 관리 기법의 문제점과 해결 방법) (0) | 2021.04.30 |
정보처리산업기사(필기) - 운영체제 : 프로세스 관리 (비선점 스케줄링, 선점 스케줄링, 병행 프로세스와 상호 배제) (0) | 2021.04.24 |
정보처리산업기사(필기) - 운영체제 : 프로세스 관리 (프로세스의 개요, 스케줄링) (0) | 2021.04.22 |