ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [정보처리기사]기사따기11일차_3과목_운영체제_3_190205
    자격증/정보처리기사-합 2024. 11. 25. 20:15
    반응형

    # 최초 등록일 : 2024년 11월 25일 20:14

    # 최근 변경일 : 2024년 11월 25일 20:14

    # 내용 : 정보처리기사 필기 3과목 공부 후 정리한 내용 올리기

     

    이전 기사따기10일차는 아래에 링크로

     

    [정보처리기사]기사따기10일차_3과목_운영체제_2_190204

    # 최초 등록일 : 2024년 11월 24일 11:02# 최근 변경일 : 2024년 11월 24일 11:02# 내용 : 정보처리기사 필기 3과목 공부 후 정리한 내용 올리기 이전 기사따기9일차는 아래에 링크로 [정보처리기사]기사따

    doradorabean.tistory.com

     

     

    이건 많이 언급되는 단어

    이건 내가 궁금한거 쳐봐서 나온 결과

     

    ------------------------------------------------------------------------------------------------------------------------------

     

    3. 기억 장치 관리

    기억 장치의 계층 구조

     

    기억 장치의 계층 구조

     

    기억 장치의 사용 용도

    1) 가상 기억 장치 : Virtual Memory는 주기억 장치를 효과적으로 사용할 수 있다는 측면이 있다. 보조기억장치를 주기억장치처럼 사용

    2) 가상 디스크 : Virtual Disk는 주기억 장치의 일부를 디스크 드라이브로 분리하여 디스크처럼 사용하는 기술

    3) 인터리빙 : Interleaving은 주기억 장치의 액세스 속도를 빠르게 하기 위한 기술, 하나의 주소로 여러 개의 위치에 해당하는 기억

                      장치를 접근, 하나의 장치가 다른 장치의 상태를 검사할 수 있도록 허가하는 폴링(Polling) 기법을 사용

    3) DMA : Direct Memory Access는 CPU를 거치지 않고 직접 주기억 장치와 주변 장치 사이에서 데이터를 주고받는 입출력 제어기

                 사이클 스틸링(Cycle Stealing)1 기법을 사용한다.

     

    기억 장치의 관리 기법

     

    기억 장치의 사용 방식

     

    주기억 장치의 다중 프로그래밍 사용 방식

    1) 고정 분할(정적 분할) : 주기억 장치의 크기를 다르게 분할하되 항상 고정된 크기를 갖는 형태로 분할하는 방식

                                       프로그램들의 크기와 분할된 주기억 장치의 크기의 차이로 인하여 남거나 모자라는 현상을 단편화라고함.

     - 단편화(Fragmentation)의 종류

      * 내부 단편화 : 정해진 크기에 프로그램을 할당하고 남은 기억 공간

      * 외부 단편화 : 정해진 크기는 아니지만 프로그램의 크기가 커서 기억할 수 없게 된 공간

     

     - 단편화의 특징 : 실행되기 위해서는 그 전체가 주기억 장치에 위치, 주어진 분할 안에 모두 들어갈 수 없는 경우가 발생함.

                             주기억 장치를 고정 분할하여 사용하는 방식은 내부, 외부 모두 발생

     

    2) 가변 분할(동적 분할) : 프로그램의 크기에 따라 주기억 장치의 분할 크기를 동적으로 분할하는 방식

     - 가변 분할의 특징 : 기억 장치 활용률이 높아짐, 프로세스 크기에 대한 제약이 완화, 가변 분할 기억 장치 배당 방식이라고 함.

                                  외부 단편화만 발생한다.

     

    3) 주기억 장치 보호 레지스터

     - 베이스 레지스터 : Base Register는 프로그램의 위치변경시 명령의 주소 부분을 바꾸지 않고 정상적으로 수행될 수 있도록 하기 위한

                                레지스터

     - 차폐 레지스터 : Fence Register는 분할된 영역을 다른 프로그램이 사용하지 못하도록 분할 영역의 위치(주소)를 기억

     - 경계 레지스터 : Boundary Register는 사용자 영역에 존재하는 프로그램이 운영체제 영역을 침범하지 못하도록 하는 것

     - 기억 장치 보호 키 : Storage Protection Key는 세그먼트 기법에서 사용하는 기억 장치 보호 방법

                                  다른 프로그램과 섞이지 않고 보호

     

    4) 주기억 장치 재사용 기술 : 사용 못하는 기억 공간을 하나로 모을 수 있도록 주기억 장치 내에 프로그램들을 재구성한것.

     - 통합(Coalescing) : 인접한 공백(기억 공간)들을 더 큰 하나의 공백으로 만드는 과정

     - 집약(압축, Compaction) : 서로 떨어져 있는 여러 개의 낭비 공간을 모아서 하나의 큰 기억 공간을 만드는 과정, <디스크 조각 모음>

     

    가상 기억 장치의 사용 방식

     - 보조 기억 장치를 주기억 장치처럼 사용하는 것, 용량이 큰 프로그램도 처리가 가능

     - 여러 개의 작은 블록 단위로 나누어서 가상 기억 장치에 보관, 실행 시 요구되는 블록만 주기억 장치에 불연속적으로 할당하여 처리

     - 설계가 복잡하며, 크기를 줄이지 않고 순차적으로 수행하는 기법인 오버레이(Overlay) 문제는 자동적으로 해결

     - 단편화 문제를 적극적으로 해결할 수 있음.

     

    가상 기억 장치의 다중 프로그래밍 사용 방식

    1) 고정 분할(정적 분할, Page, Paging)

     - 주기억 장치와 프로그램의 크기를 고정으로 분할하는데 그 크기가 모두 같음.

     - 페이지가 교체되면서 프로그램이 실행되는 개념인 페이지 기법, 페이징을 사용함.

     - 내부 단편화만 발생

     

    - < 고정 분할의 특징 >

      * 블록(Block)이 고정적.

      * 페이지 크기가 작을수록 더 많은 페이지 사상 테이블 공간이 필요하고 내부 단편화는 줄어들며, 페이지의 집합을 효율적으로 운행함.

         또한 기억 장치 효율이 좋을 수 있고 입출력 시간은 늘어난다.

      * 페이지 크기가 클수록 주기억 장치의 공간이 절약되며, 참조되는 정보와는 무관한 많은 양의 정보가 주기억 장치에 남게 된다.

         또한 관리가 용이하고 입출력 전송에 소모되는 시간은 커지게 된다.

      * 내부 단편화만 발생된다.

     

    2) 가변 분할(동적 분할, Segment, Segmentation)

     - 여러 개의 다른 크기로 분할하고 주기억 장치에서는 분할된 크기에 맞게 동적으로 분할하여 적재

     - 모듈화 프로그램에 사용하기에는 적당하지 않다.

     - < 가변 분할의 특징 >

      * 블록(Block)이 가변적

      * 사상 테이블(Segment Mapping Table)이 필요

      * 외부 단편화만 발생

      * 기억 장치 보호 키(Storage Protection Key)가 필요

      * 근본적인 이유는 메모리 절약임

      * 빈 공간이 생기는 현상, 즉, 체커 보딩(Checker-boarding)이 발생

     

    가상 기억 장치 주요 기술

    1) 오버레이 : Overlay는 더 이상 사용하지 않는 프로그램을 보조 기억 장치로 옮긴 후 그 기억 공간을 다른 프로그램이 사용하게 하면

                      실제 영역보다 더 큰 프로그램을 실행 가능하게 할 수 있다는 방법

    2) 스와핑 : Swapping은 작업을 분할하여 필요한 부분만 교체하는 방법

    3) 페이지 부재 : Page Fault는 가상 기억 장치 시스템에서 가상 페이지 주소를 사용하여 데이터를 접근하는 프로그램이 실행될 때,

                          프로그램에서 접근하려고 하는 페이지가 주기억 장치에 있지 않는 경우 발생하는 현상

     - 페이지 부재시 처리 순서

         운영체제에게 트랩(Trap)을 요청 -> 진행 중인 사용자 레지스트리와 프로그램 상태를 저장 -> 페이지 사상 테이블에서 찾음 ->

         해당 페이지를 주기억 장치로 가져옴 -> 페이지 사상 테이블을 조정 -> 실행

     

    4) 스래싱 : Thrashing은 하나의 프로세스가 작업 수행 과정 중 지나치게 페이지 부재가 발생함으로 인하여 전체 시스템의

                    성능이 저하되는 현상

     - 스래싱 현상의 방지 방법 : 다중 프로그래밍의 정도를 낮춤, CPU 이용율 높임, 페이지 부재 조절, 워킹 셋(Working Set)이용 (추후설명)

     

    5) 구역성 : Locality는 Denning 교수가 증명하였으며 프로그램이 실행할 때, 어느 한 순간에 특정 부문을 집중적으로 참조하는 프로그램의

                   순차적인 성질

     - 시간(Temporal) 구역성 : 최근의 참조된 기억 장소가 가까운 장래에도 계속 참조될 가능성 있음.

                                          반복, 부 프로그램, 서브루팅, 스택, 집계 등이 있음

     - 공간(Spatial) 구역성 : 하나의 기억 장소가 참조되면 그 근처의 기억 장소가 계속 참조될 가능성 있음.

                                      배열 순회, 프로그램의 순차적 코드실행 등이 있음.

     

    6) 작업 집합 : Working Set은 Denning 교수가 증명하였으며 주기억 장치에 유지되어야 하는 페이지들의 집합

                       자주 참죄되는 페이지의 집합은 주기억 장치에 미리 적재해두면 페이지 폴트를 최소화할수 있고 효율적 실행 가능.

     

    기억 장치의 관리 전략

     

    기억 장치 관리 전략의 종류

    1) 반입 전략 : 프로그램/데이터를 주기억 장치로 가져오는 시기를 결정하는 전략

    2) 배치 전략 : 주기억 장치에 프로그램/데이터의 위치를 정하는 전략

    3) 교체(재배치) 전략 : 주기억 장치 내의 빈 공간 확보를 위해 제거할 프로그램/데이터를 선택하는 전략

     

    반입(Fetch) 전략

    1) 요구 반입 : Demand는 요구가 있을 때마다 주기억 장치로 옮기는 방법

    2) 예상 반입 : Anticipatory는 요구될 가능성이 큰 데이터 또는 프로그램을 예상하여 주기억 장치로 미리 옮기는 방법

     

    배치(Placement) 전략

    1) 최조 적합 : First Fit은 입력된 작업을 주기억 장치 내에서 그 작업을 수용할 수 있는 첫 번째 공백에 배치

                       단편화가 많이 발생하며, 결정력이 가장 빠름

    2) 최적 적합 : Best Fit은 입력된 작업을 주기억 장치 내의 공백 중에서 그 작업에 가장 잘 맞는 공백에 배치

                       단편화가 가장 적게 발생, 결정력기 가장 느림

    3) 최악 적합 : Worst FIt은 입력된 작업을 주기억 장치 내에서 가장 잘 맞지 않는 공백, 즉 가장 큰 공백에 배치

                       내부 단편화가 가장 크게 생기는 공간에 배치

     

    교체(Replacement, 재배치) 전략

      ** < 페이지 프레임 수는 페이지를 수용할 수 있는 공간. >

    1) OPT : OPTimal Replacement는 페이지 사용 횟수를 정확히 예측하여 교체하는 방법, 앞으로 가장 오랫동안 사용되지 않을 페이지 교체

                 페이지 부재 횟수가 가장 적음

     

    2) FIFO : First Input Fist Output은 가장 먼저 들어와 있떤 페이지를 교체하는 방법, 가장 오래된 페이지와 교체

                 Page 교체가 가장 많으며, 페이지 프레임 수가 증가할 때, 현실적으로 페이지 부재가 더 증가하는 모순 (Belady 모순) 이 발생

     

    3) LRU : Least Recently Used는 참조된지 가장 오래된 페이지, 현시점에서 가장 오랫동안 사용하지 않은 페이지와 교체

                계수기(시간 기억 영역)를 두어 사용하는 기법

     

    4) LFU : Least Frequence Used는 페이지별로 사용된 횟수를 기억할 참조 변수를 확보한 후에 페이지가 참조될 때마다 1씩 증가.

                변수에 기억된 값이 가장 적은 페이지를 교체 대상으로 선정하는 기법

     

    5) NUR : Not Used Recently는 페이지 당 두 개의 정보 비트(참조 비트, 변형 비트)를 이용하여 교체하는 방법.

                 최근에 사용 하지 않은 페이지를 제거.

     - 참조 비트가 1이면 최근에 호출 0이면 오래전에 호출, 변형 비트가 1이면 최근에 사용 0이면 오래전에 사용.

       두 비트가 0인 경우가 가장 먼저 교체할 페이지로 선정된다.

     

    6) PFF : Page Fault Frequency는 워킹 셋에 존재하는 페이지들을 관찰하여 최근에 자주 사용되고 있지 않는 페이지와 워킹 셋에

                속하지 않은 페이지 중에 최근에 자주 사용하는 페이지와 교체

    7) Second Chance : FIFO의 단점을 보완, 가장 오래된 페이지를 제거하기 전에 한 번의 기회를 더 준다는 것.

     

    주기억 장치의 할당과 회수

    1) 비트 맵 : Bit Map은 분할된 기억 장치 영역의 정보를 0,1로 구분하며, 영역이 사용 중이면 1, 사용 중이지 않으면 0 값을 세팅

                    분할된 블록의 크기가 크면 비트 맵 용량이 줄어듬, 순차 검색만 하므로 검색 속도가 줄어듬

    2) 연결된 리스트 : Linked List는 분할된 영역의 정보를 구조적인 변수(레크드)로 확보하여 동적인 연결 구조

                              프로그램 존재(P), 비어있음(H), 시작 위치, 크기, 연결 정보로 구성, 배치 전략에서 사용하기에 적압함.

    3) 버디 시스템 : Buddy System은 신속하며, 2의 K승 단위로 처리되고, 단편화가 존재한다.

     

    기억 장치의 주소 사상(Mapping) 방법

    1) 가상 기억 장치(디스크)와 주기억 장치의 관계

     

    2) 블록 사상(페이지, 세그먼트) 주소 양식

    V = (B, D)

    B : Page, Segment 번호

    D : Displacement(Offset)

     

     - 계산법 : 하나의 사상 테이블이 주어지고, 식 V가 주어질 때, B인 페이지 번호를 찾아가 그 행(투플)의 값 주소와 D를 더해준다.

                   그 결과 값이 실(주)기억 장치의 위치이다.

     

    3) 블록(페이지, 세그먼트) 주소 사상 기법 종류

     - 직접 사상 : Direct Mapping은 페이지 사상 표에서 구한 실기억 장치의 주소와 가장 주소 중의 변위를 셀제 주소로 변환하는 법

     - 연관 사상 : Associative Mapping은 고속의 연관 메모리에 자주 사용하는 페이지만, 혹은 현재 적재된 페이지만을 기억시켜 속도향상.

     - 연관/직접 사상 : 연관 사상 기법으로 해당 페이지를 찾고, 페이지가 존재하지 않으면 직접 사상 기법으로 검색하여 사용하는 법

     

    디스크 관리

     

    디스크 구조

     

     - 트랙 : Track은 디스크의 회전축을 중심으로 데이터가 기록되는 동심원

     - 섹터 : Sector는 트랙을 몇 개로 분할한 블록, 데이터를 기록하는 단위를 클러스터 라고함.

     - IPL : Initial Program Loader는 디스크 드라이브가 디스크를 접근할 때 디스크의 물리적인 정보를 제공하는 것. 부트 섹터라고함.

     - FAT : File Allocation Table은 지워지게 하는 것을 예방하고 블록 접근을 빠르게 하기 위하여 포인터를 모아 놓은 곳.

     - 디렉터리 : Directory는 디스크에 저장된 파일의 기본적인 정보를 수록하는 공간

     

    디스크 접근 시간과 스케줄링

     

    1) 디스크 접근 시간과 스케줄링

     - 탐색시간 : Seek Time은 데이터를 액세스하기 위해 트랙 또는 실린더에 헤드를 위치시키는 걸리는 시간.

     - 회전 지연 시간 : Latency Time은 헤드가 원하는 섹터에 도달하는데 걸리는 시간

     - 전송 시간 : Transmission Time은 디스크로부터 주기억 장치로 데이터가 이동하는 시간.

     

    2) 디스크 스케줄링의 전략과 목적 : 처리량을 최대화, 응답 시간 최소화, 응답 시간 편차를 최소화

    3) 디스크 스케줄링의 병목 현상 제거 : 입출력 채널이 복잡하면 제어 장치 분산, 제어 장치 포화상태면 디스크 수 감소,

                                                         입출력 채널 복잡하면 채널 추가 

     

    디스크 스케줄링 종류 및 특징

    1) FCFS : Fist Come Fist Served, FIFO는 대기 큐에 들어온 작업에 CPU를 할당하는 기법

     - 도착 순서에 따라 실행 순서가 고정된다는 점

     - 디스크의 부하가 적을 때 유리하며 부하가 커지면 응답 시간이 길어짐

     - 탐색 시간을 최적화하려는 시도가 없음

     

    2) SSTF : Shortest Seek Time First는 현재의 헤드 위치에서 가장 가까운 입출력 요청을 먼저 서비스.

     - 현재 헤드 위치에서 가장 짧은 탐색 거리의 요청을 먼저 서비스

     - 가운데 트랙이 안쪽이나 바깥쪽보다 서비스 받을 확률이 높음.

     - 멀리 떨어진 요청은 기아 상태(Starvation State)2 가 발생할 수 있음.

     - 일괄 처리에 유용하며 대화형 시스템에는 부적합함.

     - FCFS보다 처리량이 많고 평균 응답시간이 짧음

     

    3) SCAN : 헤드가 디스크 표면을 양방향(안쪽/바깥쪽) 으로 이동하면서 I/O 요청을 서비스. 이동하는 방향의 앞쪽에 I/O요청이 없는 경우에만 후퇴가 가능

     - 응답 시간의 편차를 개선하는 기법

     - 진행 방향상의 가장 짧은 거리에 있는 요청을 먼저 수행

     - 진행 방향으로 끝까지 진행, 대부분의 디스크 스케줄링 전략의 기본이됨.

     

    4) C-SCAN : 안쪽과 바깥쪽의 차별 대우를 모두 없애기 위해 항상 바깥쪽 실린더에서 안쪽으로 움직이면서 가장 짧은 탐색 시간을 갖는 요청을 우선 서비스.

     - 안쪽과 바깥쪽의 차별 대우를 모두 없앰

     - 항상 바깥쪽에서 안쪽으로 움직이면서 서비스. 반대는 서비스x

     - 안쪽 방향으로 끝까지 진행, 부하가 많은 경우에는 C-SCAN 기법이 가장 좋은 결과를 가짐.

     

    5) LOOK과 C-LOOK :  진행 방향에 더 이상의 요청이 있는지를 확인

    6) N-Step SCAN : 어떤 방향의 진행이 시작될 당시에 대기 중이던 요청들만 서비스, 진행 도중 도착한 요청들은 한데 모아져서 다음

                              진행 때 최적으로 서비스할 수 있도록 배열

    7) 에센바흐 : Eschenbach는 부하가 매우 큰 항공 예약 시스템을 위해 개발되었으며 탐색 시간뿐만 아니라 회전 지연 시간의

                       최적화를 위해 개발된 기법이다.

    8) Sector Queuing, SLTF : Shortest Latency Time First는 탐색 시간과 회전 지연 시간을 줄이는 스케줄링.

     

    반응형
Designed by Tistory.