본문 바로가기
정보처리기사/필기

[정보처리기사] Part04-03-1. 운영체제 기초 활용 (5)

by 채연2 2023. 2. 13.

 

Contents

     

     

    UNIX, WINDOWS

    가상기억장치

    각 프로세스에 주기억장치 할당하고 보조기억장치(디스크)의 호출 대상 항목, 배치 장소, 교체 대상을 결정하는 메커니즘. 각 프로그램 상에 실제 메모리 주소가 아닌 논리 메모리 주소를 전달하는 방식

    가상메모리 관리 개념도

     

    가상기억장치의 관리

         가상 메모리 관리 정책

    가상메모리는 실제로는 디스크지만 메모리처럼 인식하므로 가상메모리 관리 정책은 기본적으로 주기억장치 관리 정책과 거의 유사

    관리정책 내용 기법
    반입(호출) 언제 어느 항목들을 보조기억장치에서 주기억장치에 가져올 것인지 결정 - 요구호출 기법
    - 예측호출 기법
    배치 프로그램 한 블록을 주기억장치 어디에 배치할 지 관리 - First Fit
    - Best Fit
    - Worst Fit
    교체 주기억장치에 적재할 공간이 없을 경우, 무엇과 교체할 것인가에 대한 관리 - FIFO
    - LRU
    - LFU
    - NUR
    할당 각 프로세스에 할당할 메모리 크기 관리 및 실행 중 주기억장치 할당량 변화 알고리즘 - 고정 할당기법
    - 가변 할당기법

     

         가상 메모리 관리 정책 상세
    호출기법 설명 장단점
    예측호출 기법 Locality 기반 프로그램 페이지 모두 적재 오버헤드, 메모리 소비, 실행속도 향상
    요구페이지 기법 Laxy 소프트웨어 매퍼를 이용한 지연 적재, 페이지 호출 시 적재 메모리 절약, 오버헫 감소, 복잡 구조

     

    구분 First Fit Best Fit Worst Fit
    원본 메모리 공간 : ■□□□■□□■□□□□■  적재 : ■■
    그림 ■■□■□□■□□□□■ ■□□□■■■■□□□□■ ■□□□■□□■■■□□■
    설명 가장 처음에 남는 공간에 배치 스캔 후 최적의 공간에 배치 가장 넓은 공간에 배치
    장점 효율성이 높음 최적의 공간에 배치 없음
    단점 Flagmentation 발생 Scanning 시간 소요 낭비 영역 발생

     

         페이지 교체 알고리즘
    구분 내용 특징
    무작위
    페이지 교체
    - 특별한 사용자에게 차이를 두지 않고 교체하는 기법
    - 교체할 페이지를 무작위로 선정
    - 오버헤드 적음
    - 바로 뒤에 참조될 페이지도 교체 가능
    FIFO - 메모리에 올라온 지 가장 오래된 페이지를 내쫓음
    - 가장 간단한 알고리즘
    - FIFO 이상현상(Anomaly) 발생
    최적 페이지 교체
    (Optimal Page)
    - 앞으로 가장 오랫동안 사용되지 않을 페이지를 찾아서 교체 - FIFO 이상현상 해결
    - 최소 페이지 부재율 가짐
    LRU
    (Least Recently
    Used)
    - 가장 오랫동안 사용되지 않을 페이지를 교체 - 호출시간 기록해야 하는 오버헤드 발생
    LFU
    (Least Frequently
    Used)
    - 사용빈도(참조된 횟수)가 가장 적은 페이지 교체 - 지역성 문제가 발생
    NUR
    (Not Used Recently)
    - 최근 사용되지 않은 페이지 교체 - 참조 비트, 변경 비트 사용
    - LRU 시간 오버헤드 해결

     

         가상메모리 할당 기법
    유형 특징
    페이징
    (Paging)
    - 같은 크기의 페이지로 편성 운영하는 기법
    - Page Fault, 내부 단편화와 같은 문제점 발생
    세그먼트
    (Segmentation)
    - 크기가 다른 논리적 단위 세그먼트로 분할 및 할당
    - 블록 크기가 가변적으로 외부 단편화 발생 가능
    페이징 기법 (고정 분할)
    • 가상기억장치 내 프로그램과 데이터를 일정하고 고정되게 분할한 페이지를 주기억장치에 사상시키는 기법
    • 매핑 테이블(페이지 번호, 프레임 번호) 유지
    • 외부 단편화 해결 가능
    • 내부 단편화 발생
    • 프레임 크기에 따라 단편화 정도와 관리 오버헤드 간 Trade-Off 관계
    • 프로그램 실제 주소와 주기억장치 주소가 달라 PMT(Page Map Table) 필요

    페이징 기법

     

    PMT 유형 내용
    Direct Mapping - Page Table을 주기억장치에 위치
    - 데이터 접근 위해 Page Table과 Data에 각각 한 번씩 주기억장치 접근하여 접근 시간이 길어짐
    Associative Mapping - Page table을 Associative buffer에 저장
    - 속도 빠르고 비용 비쌈
    Direct / Associative
    Mapping
    Page table을 주기억장치와 Associative buffer에 분산 저장
    연관 사상
    테이블
    Locality에 근거하여 최근 가장 많이 참조된 page만 유지
    페이지 사상
    테이블
    연관 사상 테이블에서 제외된 나머지 page들을 모두 유지

     

    Segmentation (가변 분할)
    • 주기억장치는 각 세그먼트가 적재될 때마다 필요한 대로 분할하여 서로 다른 크기의 세그먼트로 분할
    • 세그먼트가 실제 기억장치에 있다면 세그먼트 테이블은 세그먼트 번호를 베이스라는 시작 주소와 리미트라 불리는 마지막 주소로 매핑
    • 매핑 테이블(세그먼트 번호 : 주소 + 크기) 유지

    세그먼테이션 기법

     

    페이지화된 세그먼테이션 (Paged Segmentation) 기법
    • 페이징 기법 장점 + 세그먼 테이션 기법 장점
    • 페이징 기법은 메모리 관리 측면에서 유리
    • 세그먼트가 너무 가변적인 길이이고, 그 크기가 지나치게 커 주기억장치에 적재할 수 없는 경우를 위함
    • 하나의 세그먼트를 고정 길이의 페이지로 다시 분할
    • 물리적 주소 처리는 페이징 기반
    • 주소 검색은 세그먼트 → 페이지 순
    항목 페이징 기법 세그먼테이션 기법
    할당단위 고정 가변
    적재단위 프로그램 일부 적재 프로그램 전체 적재
    장점 - 외부 단편화 없음
    - 교체 시간 짧음
    - 코드, 데이터 공유 용이
    - 내부단편화 최소
    단점 - Thrashing 문제 심각
    - 내부단편화 코드나 데이터 공유 논란
    - 외부단편화 심각
    - 주기억장치 커야 함
    - 교체시간 길어짐

     

    가상기억장치 기타 관리

         가상기억장치 문제점
    문제점 내용 해결 방안
    Demand
    Paging
    요구될 때에만 프로세스 Page 들을 적재하는 방식 - 구역성(지역성)
    Page
    Fault Trap
    기억장치에 적재되지 않은 Page를 사용하려는 경우 발생 - 프로세스 검사하여 판단
    - 빈 공간(Free Frame) 검색
    - 디스크로부터 요구
    - 중단된 명령 재수행
    Thrashing Page 부재가 너무 빈번하게 발생하여 CPU가 프로세스 수행보다 Page 교체에 더 많은 시간을 소요하는 비정상적인 현상 발생 - 구역성
    - 워킹세트
    - 페이지 프레임 조정

     

         가상기억장치 문제점 해결 방안
    기법 내용 특징
    구역성 관리
    (Locality)
    프로그램 어느 한 특정 부분만 한동안 집중적으로 참조하기 때문에 페이징 성능이 좋아지는 현상 - 시간 구역성
    - 공간 구역성
    - 순차 구역성
    프리 페이징
    (Prepaging)
    과도한 페이지 부재 줄이기 위해 모든 페이지를 한 번에 페이지 프레임에 적재하는 기법 - 페이지 적재 과다
    워킹 세트
    (Working Set)
    하나의 프로세스에 자주 참조되는 페이지를 모아놓은 기법으로 그 집합에 속하지 않은 페이지 교체 - 스레싱(Thrashing) 방지
    페이지
    프레임 조정
    (Page Fault
    Frequency)
    현재 페이지 부재와 바로 전 페이지의 페이지 부재 사이를 관찰하여 지금까지보다 페이지 부재 개수가 많으면 호출되지 않았던 페이지들을 제거하여 페이지 프레임의 빈 공간을 늘이는 기법 - PFF가 높으면 Residence Set 크기 증가, 낮으면 감소

     

    320x100

    댓글