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

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

by 채연2 2023. 1. 27.

 

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

 

Contents

     

     

    UNIX, WINDOWS

    메모리 관리

    • 메모리는 실행할 프로그램과 데이터 저장, CPU와 제어장치 통해 명령 수행
    • 핵심은 언제, 어디로, 어느 영역을 사용하는지에 대한 관리 정책 정하고 정책에 따라 메모리 이용하는 것

     

    메모리 관리 정책

    • 메모리 관리 통해 메모리 낭비 줄이고 접근 빈도 최소화하여 실행 시간 최적화 가능
    정책 기법 상세 설명
    반입정책
    (Fetch)
    요구반입 실행 중 프로그램이 타 프로그램 및 데이터 참조 요구 시 적재
    예상반입 실행 중 프로그램에 참조될 프로그램 및 데이터 예상 적재
    배치 정책
    (Placement)
    최초적합
    First Fit
    프로그램, 데이터가 들어갈 수 있는 빈 영역의 첫 번째 분할 영역에 배치
    최적적합
    Best Fit
    프로그램, 데이터가 들어갈 수 있는 빈 영역 중 단편화를 가장 적게 남기는 분할 영역에 배치
    최악적합
    Worst Fit
    프로그램, 데이터가 들어갈 수 있는 빈 영역 중 가장 큰 영역에 배치
    교체 정책
    (Replacement)
    OPT - 추후 가장 오랫동안 사용하지 않을 페이지 교체
    - 호출 순서 및 참조상황 사전 예측 필요
    FIFO - 적재시간 기억, 오래된 페이지 교체
    - 이해성, 프로그래밍 간단, Belady's 이상현상 발생
    LRU - 최근 가장 오랫동안 미사용 페이지 교체
    - 계수기, 스택 사용
    LFU - 사용페이지 빈도 수가 가장 적은 페이지 교체
    - 프로그램 실행 초기 많이 사용된 페이지 유리
    NUR - 최근에 사용하지 않은 페이지 교체
    - 참조 비트, 변형 비트 2개의 비트 사용

     

        주기억장치 분할 - 시스템 프로그램 영역
    • 컴퓨터가 구동되기 시작해서부터 종료될 때까지 주기억장치에 유지되어야 함
    • 운영체제가 저장되는 곳으로 상주 구역과 비상주 구역으로 분류
      • 상주 구역 : 언제라도 바로 실행될 수 있는 운영 체제 기본적 기능과 자주 사용되는 프로그램들이 기억되는 주기억장치 영역
      • 비상주 구역 : 자주 사용되는 프로그램들이 아니고 필요할 때 보조기억장치에서 인출된 후 저장되었다가 처리가 끝나면 다른 프로그램이 다시 그 장소를 사용 가능한 구역

     

        주기억장치 분할 - 사용자 응용 프로그램 영역
    • 응용 프로그램은 실행될 때 주기억장치에 저장 후 수행 종료되면 다른 프로그램으로 대체되거나 삭제됨. 그리고 전원이 중단되면 해당 프로그램은 삭제됨
    • 프로그램을 여러 부분으로 분할 및 독립된 프로그램들 기억시켜 다중 프로그래밍 방식으로 동작하는 것을 가능케 함

     

    단일 사용자 할당기법

    • 운영 체제가 차지하는 부분을 제외한 나머지 기억공간 부분을 한 사용자가 독점 사용하도록 하는 기법
    • 사용자에게 융통성 최대한 제공
    • 최대 단순성과 최소 비용 만족
    • 특별한 하드웨어 필요 없으며 운영 체제 소프트웨어도 필요 없음
    • 사용자가 사용하는 부분 이외의 부분은 낭비가 될 수 있음
    • 입/출력을 수행하는 동안 주기억장치 내 프로그램은 CPU를 계속 쓸 수 없기에 유휴 상태가 되므로 활용도 낮음
    • 프로그램이 주기억장치 용량보다 큰 경우 이를 수행시키기 어려움

     

    고정 분할 할당기법
    • 각 프로그램에 고정된 동일 크기 분할된 구역을 할당하는 방법
    • 프로그램이 적재되고 남은 공간에 다른 프로그램 적재하여 수행하므로 프로세서와 기억장치 같은 자원 활용도 크게 향상시킴
    • 동시에 여러 프로그램을 주기억장치에 적재하여 수행하는 다중 프로그래밍 기법이 가능
    • 할당되는 저장 공간이 작고 저장될 프로그램이 큰 경우 프로그램이 작은 단위로 쪼개지는 단편화 문제 발생

     

    가변 분할 할당기법

    • 단편화 해결하기 위해 각 작업에 대한 필요한 만큼의 공간만을 할당하는 기법
    • 주기억장치 내 새로운 프로그램 들어올 때마다 그 프로그램 크기에 맞추어 가변적으로 기억공간 분할하여 프로그램에 맞는 공간 할당함

     

        분산메모리 분할
    구분 상세 내용 특징
    고정 분할 고정된 분할 크기 사용 내부 단편화, 외부 단편화 발생
    사용자 프로그램 < 분할 크기 : 내부 단편화
    사용자 프로그램 > 분할 크기 : 외부 단편화
    가변 분할 분할 영역 크기가 동적으로 변경 외부 단편화 발생
    내부 단편화 발생 방지

     

        분산메모리 할당 방식

    페이징 기법

    페이징 기법(Paging)
    • 페이지라고 불리는 프로세스 영역들이 프레임이라고 불리는 고정 크기 블록 메모리 영역에 할당됨
    • 내부 단편화 발생
    • 페이지 크기가 작으면 내부 단편화 감소하나 페이지 테이블 많이 유지해야 함
    • 페이지 테이블 : 논리 메모리 페이지 번호와 물리 메모리 프레임 번호를 매핑한 테이블

     

    세그먼테이션 기법

    세그먼테이션 기법(Segmentation)
    • 서브루틴, 모듈 등 크기별로 메모리를 가변 크기로 할당
    • 프로그램은 코드, 데이터, 스택, 세그먼트로 구성
    • 세그먼트 테이블은 주기억장치에 존재하며, 외부 단편화 문제 발생

     

        기억장소의 집약

    • 주기억장치를 검사하여 빈 영역을 하나의 커다란 빈 영역으로 만드는 방법
    • 운영 체제는 사용 중인 블록을 한데 모으고, 비어 있는 기억 장소를 하나의 커다란 공백으로 만듦
    • 기억장소에 분산되었던 공간들을 한 영역에 모음으로써 사용 가능한 큰 영역 생성 가능
    • 이를 통해 기억장소 낭비 감소 가능

     

        단편화(Fragmentation) 문제점과 해결 방법
    • 주기억장치 상에서 프로그램에 의해 사용되지 못하고 낭비되는 부분적인 기억 공간 의미
    구분 발생 원인
    고정 분할
    [내부 단편화,
    외부 단편화]
    - 사용자 프로그램 크기가 정해진 분할 크기에 정확히 맞지 않으면 내부 단편화 발생
    - 분할된 크기가 대기 중인 작업 중 하나도 맞는 것이 없는 경우 그 분할이 사용되지 않은 상태로 남게 되므로 외부 단편화 발생
    가변 분할
    [외부 단편화]
    - 가변 분할은 분할 영역 크기가 동적으로 변경될 수 있으므로 내부 단편화는 발생하지 않지만 외부 단편화 발생 가능

     

    해결 방안 상세 내용 특징
    통합
    (Coalescing)
    인접한 단편화된 공간을 하나로 통합 위치 제한 없음
    압축
    (Compaction)
    분산된 단편화된 공간을 한 쪽 끝에서 결합 메모리 한 쪽 끝
    ※ 압축의 한계 : 프로세스들 재배치가 실행 시간, 즉 동적 수행 시에 가능함
    프레임
    (Frame)
    고정된 크기 메모리 사용으로 내부 단편화 해결 고정 크기

     

        메모리 인터리빙(Memory Interleaving)
    • 기억장치 모듈에 순차적으로 접근하여 접근 시간 최소화하고 성능 향상할 수 있음
    • 메모리를 복수 개 모듈 또는 뱅크로 나누고 각 모듈에 연속적인 주소 부여하여 동시 접근 가능케 하는 기법

     

    상위 인터리빙

    상위 인터리빙

    프로그램과 데이터들이 독립적이어서 각각의 기억 모듈에 저장하는 것이 더 효과적인 다중 프로그래밍에 사용

     

    하위 인터리빙

    하위 인터리빙

    연속된 주소가 연속된 다수 모듈에 동시 동작하며, 단점은 확장이 어렵고 어느 한 모듈 오류가 전체에 영향을 미침

     

    혼합 인터리빙

    혼합 인터리빙

    기억장치 모듈을 뱅크(Bank)로 그룹화하고 각 그룹 내에서 하위 인터리빙 하는 방식

     

     

     

    320x100

    댓글