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

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

by 채연2 2023. 2. 14.

 

Contents

     

     

    UNIX, WINDOWS

    디스크 관리

    디스크 스케줄링

    운영 체제가 프로세스들이 디스크를 읽거나 쓰려는 요청을 받았을 때 그 우선 순위를 정하고 관리하는 기법

     

    디스크 I/O 시간 유형 설명
    탐색 시간 헤드가 지정된 트랙에 도달하는 시간
    회전 지연 시간 원하는 섹터까지의 이동 시간
    전송 시간 데이터 전송 소요 시간

     

         이동형 디스크와 고정형 디스크의 자료 접근 시간
    • 자기 디스크는 헤드 유형에 따라 이동형 디스크와 고정형 디스크로 구분됨
    • 최근 이동형 디스크는 거의 사용하지 않음
    • 고성능 디스크인 반도체 저장장치(SSD)나 고정형 디스크(HDD)를 외장형 디스크로 사용하는 추세
    구분 이동형 디스크 고정형 디스크
    개념도
    특징 각 디스크 표면마다 하나의 Read/Write 헤드를 갖고 있으며, Access arm을 움직여 원하는 위치 찾음(floppy disk) 각 디스크 표면 트랙마다 지정된 Read/Write 헤드를 가지고 있음(Hard disk)
    자료접근시간 탐색시간 + 회전지연시간 + 전송시간
    (탐색시간 >> 회전지연시간 > 전송시간)
    회전지연시간 + 전송시간
    (회전지연시간 > 전송시간)

     

         디스크 스케줄링 목표
    • 디스크 검색 시 낭비 시간 최소화
    • 특정 프로세스 입출력 요청 우선 순위 배정
    • 디스크 대역을 실행 중인 각 프로세스에 할당
    • 정해진 기한까지 요청 보장
    스케줄링
    최적화 유형
    설명 기법
    Seek Time
    최적화
    - 디스크 접근시간, 접근경로 최적화
    - 이동형 디스크에 적합
    - SSTF
    - SCAN 등
    Latency
    최적화
    - 섹터까지의 이동시간, 이동 경로 최적화
    - 고정형 디스크에 적합
    - SLTF
    - Sector Queueing 등

     

    이동디스크 스케줄링 알고리즘

    01 FCFS (First Come First Served)
    요청 큐에 들어온 순서대로 처리
    • 알고리즘이 단순하고 구현 용이
    • 공정한 스케줄링 기법
    • 비효율적

     

    02 SSTF(Shortest Seek Time First)
    현재 헤드 위치에서 가장 가까운 트랙 요청 먼저 처리
    • Throughput 극대화
    • Seek Time 최소화
    • 안쪽, 바깥쪽 트랙에 기아현상 가능성
    • 응답시간 편차 큼

     

    03 SCAN (엘리베이터 알고리즘)
    진행 방향에서 가장 가까운 트랙 요청 우선 서비스
    • SSTF 기아 현상 해결
    • SSTF 응답시간 편차 줄임
    • 양쪽 끝 트랙은 가운데 위치한 트랙보다 대기시간 길어짐
    04 C-SCAN(Circular SCAN)
    항상 바깥쪽에서 안쪽 한 방향으로 SCAN 방식으로 접근
    • 응답시간 편차 매우 적음
    • 안쪽이나 바깥쪽으로 처리할 요청 없어도 끝까지 진행

     

    05 N-step SCAN
    SCAN 방식과 유사하나 서비스가 진행되는 도중에 도착하는 요구들에 대해서는 다음번 방향 전환 후에 처리

     

    06 Look
    SCAN과 유사하나 처리할 블록 없으면 끝까지 가지 않고 처리
    • 불필요한 헤드 이동시간 제거
    • 진행여부 결정 위한 오버헤드 발생

     

    07 C-Look
    C-SCAN과 유사하나 처리할 블록 없으면 끝까지 가지 않고 처리
    • 불필요한 헤드 이동시간 제거
    • 진행 여부 결정 위한 오버헤드 발생

     

    08 에센바흐(Eschenbach) 기법
    • 부하가 매우 큰 항공예약 시스템 위해 개발
    • 탐색시간, 회전지연시간 최소화
    • 헤드는 C-SCAN 처럼 이동
    • 예외적으로 모든 실린더는 그 실린더 요청과 상관 없이 전체 트랙이 한 바퀴 회전할 동안의 서비스 받음

     

    구분 SCAN LOOK
    공통점 - SSTF 스케줄링의 경우 현재 헤드 위치에서 가장 가까운 트랙 요청을 먼저 처리하기 때문에 현재 헤드 위치에서 멀리 떨어진 요청의 경우 기아상태 발생 가능
    - 기아상태 방지 위해 현재 헤드 위치 중심의 탐색 기준에 방향성 추가하여 멀리 떨어진 요청도 한 사이클 내에는 처리 될 수 있도록 단점 보완 필요
    개념 SSTF와 동일 기준에서 진행 중인 방향에 대한 처리 우선하고, 한쪽 끝에 도달하면 반대 방향으로 처리하는 알고리즘 SSTF와 동일 기준에서 진행 중인 방향 쪽에 더 이상의 요청이 있는지 현재 디스크 대기 큐를 검사하여, 요청이 없으면 그 자리에서 방향 변경하여 다른 한 쪽으로 움직이는 알고리즘
    특성 - 진행 방향 끝까지 이동
    - 한 방향으로 가장 짧은 거리
    - 진행 방향 끝까지 이동하지 않을 수 있음
    - SCAN 단점 보완하여 진행 방향 대상 부재 시 방향 전환
    단점 - 진행 방향에 추가 요청 없어도 끝까지 진행하는 낭비 요인 발생
    - 디스크 작업에 있어 요청 밀도가 높은 부분 처리 시 요청 트랙에 대한 대기 시간 불균 등 문제 발생
    - 헤드 진행 방향으로 요청 발생 시에는 빠른 서비스 가능하나, 헤드가 지나가 버린 쪽 요청은 다시 되돌아 올 때 서비스 받음
    보완 알고리즘 C-SCAN C-LOOK
    - 헤드가 바깥쪽에서 안쪽으로 진행할 때만 요청 서비스 처리
    - 대기시간 균등화 및 응답시간 편차 감소
    - 헤드 진행 방향으로 더 이상의 요청이 없을 시 원래 시작 방향으로 되돌아가 서비스

     

    고정형 디스크 스케줄링 알고리즘

    01 SLTF(Shortest Latency Time First)
    • 최단지연시간 우선 전략
    • 디스크 암이 특정 실린더에 도달하면 해당 실린더 트랙에 대한 여러 요청 대기
    • 모든 요청 중 회전지연시간이 가장 짧은 요청 먼저 서비스
    • 진행 여부 결정 위한 오버헤드 발생
    • 섹터 큐잉(Sector Queueing) 기법 동의어
    • 요청들을 섹터 위치에 따라 큐에 넣고 가장 가까운 섹터에 대한 요청 먼저 서비스

     

    02 SPTF(Shrotest Positioning Time First)
    • 최단 위치 결정시간 우선 전략
    • 탐색시간과 회전지연시간 합이 가장 짧은 요청을 다음 서비스로 선택
    • 데이터 레코드 B 요청 처리 후 A 처리
      (탐색시간이 충분히 짧은 경우 B 회전 지연시간 짧게 소요)
    • 처리량 많고 평균 반응시간 짧음

     

    03 SATF (Shortest Access Time First)
    • 최단 접근시간 우선 전략
    • 탐색시간, 회전지연시간, 전송시간 합이 가장 짧은 요청을 다음 서비스로 선택
    • 데이터 레코드 A 요청을 우선 서비스
      (B 전송시간이 1회전 시간과 동일)
    • SPTF보다 처리량 많음

     

     

    디스크 스케줄링 알고리즘 선택 시 고려사항

    • 디스크 서비스 요구사항 : Throughput, Response Time 등
    • 디스크 공간할당 방법 : 연속 할당, 연결 할당, 인덱스 할당 등

     

    파일시스템

    운영 체제에서 보조기억장치와 그 안에 저장되는 파일을 관리하는 시스템의 통칭. 운영 체제에서 파일이나 자료를 쉽게 발견 및 접근 가능하도록 보관 또는 조직하는 체계이며 보조기억장치에 저장된 각 파일과 그 구조를 의미

     

    종류 특징
    UNIX 파일시스템 Boot, Super, Data block 및 i-node List로 구성
    Linux 파일시스템 EXT2, EXT3, EXT4 등
    WINDOWS 파일시스템 FAT32, NTFS, ReFS 등

     

    UNIX 파일 시스템

    • Unix 운영 체제가 파티션이나 디스트 파일들을 사용하는 자료구조
    • 데이터 저장 공간을 파일에 할당하고 이를 다시 회수하는 역할 수행
    • 부트블록, 슈퍼블록, i-node 목록, 데이터블록으로 구성됨
    • 루트 디렉토리, 서브 디렉토리, 파일이 계층 구조를 가짐

     

    구조 구성요소 상세 설명
    계층적 구조 Boot Block 시스템 운영 체제를 부트하거나 초기화와 관련되는 Boot Strap 코드 저장
    Super Block 파일시스템 상태에 대한 종합적인 정보를 보관하는 영역(타입, 크기, 상태, metadata 구조에 대한 포인터 등)
    Bitmap Block i-node와 data block 할당 현황 표시
    i-node 파일과 디렉토리에 관한 속성 정보 및 파일명을 제외한 파일 정보
    Data Block 파일과 디렉토리의 실제 데이터를 보관하는 영역

     

    유형 내용 종류
    일반 파일 실행 가능한 프로그램 파일, 원시 프로그램 파일, 문서 파일 등 사용자가 정의한 그대로의 파일을 디스크 등에 내용 수록 - Text File
    - Binary File
    디렉토리 파일 디렉토리에 포함되어 있는 여러 가지 파일들과 디렉토리에 관한 정보 저장하는 논리적 영역 - / (루트 디렉토리)
    - /bin (실행 파일)
    - /dev (장치 파일)
    특수 파일 주변장치 또는 pipe, socket 같은 프로세스 간 상호통신, 표준 입출력 시스템 호출 - 문자 특수파일
    - 블록 특수파일
    i-node
    (index node)
    각 파일에 대한 정보 기억하는 구조체 - 일반 파일 i-node
    - 특수 파일 i-node

     

         일반 파일
    • Unix 파일시스템 특수 구조를 갖지 않고 사용자가 정의한 그대로의 파일
    항목 형태 설명
    텍스트 파일 ASCII - ASCI 문자들로 구성된 파일
    - 단말 장치나 프린트로 출력 가능
    이진 파일 Binary - 실행 가능한 파일이나 데이터 파일
    - 단말장치, 프린터로 출력 불가능한 파일

     

         디렉토리 파일
    • 디렉토리에 포함되어 있는 파일과 디렉토리 정보 저장 영역
    항목 핵심 개념 설명
    / Root - 루트 디렉토리, UNIX 최상위 디렉토리
    /bin 실행 - 실행 가능한 UNIX 고유 명령어 폴더
    /dev 입출력 - 장치 파일이 담긴 디렉토리
    - 프린터, 키보드 등 입출력장치 연결 정보
    /etc 관리 - 시스템에서 사용하는 관리 파일 저장
    - 시스템 설정 파일, 프로그램, 유틸리티
    /usr 공유 - 시스템 사용 시 고정된 공유 파일 저장
    - 실제 작업을 위한 응용 패키지 설치 디렉토리
    /tmp 임시 - 임시 파일 생성 위해 사용되는 디렉토리

     

         특수파일
    • 디스크, 프린터, 테이프 장치 등 입출력장치의 접근 및 관리 채널 정보가 저장된 파일
    • 문자 특수파일 : 테이프장치, 단말기
    • 블록 특수파일 : 플로피 디스크 장치
         i-node
    • 각 파일에 대한 정보를 기억하는 약 120byte 고정 크기의 구조체
    • Unix에서의 i-node는 파일과 디렉토리 정보를 통해 할당, 적용, 생성, 링크, 삭제 수행
    역할 설명
    할당 및 적용 - UNIX에서 디스크는 일정한 크기 블록으로 나뉘며 파일이 디스크 공간에 할당될 때 정해진 블록으로 할당
    - i-node는 파일 구성 블록에 대한 물리적 위치 포함하고 직접 어드레싱 및 간접 어드레싱으로 위치 기록
    파일 생성 - 새로운 파일이 만들어 지면, 해당하는 i-node가 i-list안에 생성
    파일 링크
    - 이미 존재하는 파일 링크시킬 경우, 디렉토리에 해당 파일에 대한 새로운 이름이 등록
    - i number는 본래 있던 파일 i number 복사
    - 복사되는 파일 i-node에서 파일 링크 수가 하나 증가
    파일 삭제 - 파일에 대한 i-node 파일 링크 수 하나 감소
    - 디렉토리 entry에는 해당 파일 i number가 zero로 변경

     

     

    • i-node 포함 내용
      • 소유자 정보 : 사용자 ID, 그룹 Id
      • 접근 정보 : Access Modes, Data Block Address (13개의 array)
      • 파일 정보 : 크기, 생성 시간, 최근 사용 시간, 최근 변경 시간
      • 파일 링크 수, 유형 (Ordinary 파일, Special 파일, Directory 파일)

     

    구성 항목 핵심 개념 설명
    i-node 구성 정보 - 한 파일이나 디렉터리 모든 정보 포함
    - 64byte로 구성되는 테이블
    i-node
    table
    하위 노드 정보 - 파일 시스템에서 파일이나 디렉터리들 전체 i-node 정보 가지고 있는 테이블
    - i-list 정보 저장
    i number 등록 정보 - i-node가 i-list에 등록되는 entry number addressing
    addressing 실제 데이터 정보 - 블록 위치 정보를 13개 필드로 관리
    - Direct data block 10개 (0-9) : 96KB data
    - Single indirect data block 1개 (10) : 16MB
    - Double indirect data block 1개 (11) : 32GB
    - Triple indirect data block 1개 (12) : 70TB

     

    분류 종류 상세 설명
    직접데이터 블록 - 12개 포인터 배열 가지며 블록이 8,192byte인 경우 96KB 크기의 파일 생성 가능
    간접
    데이터 블록
    Single
    Indirect
    Block
    - index block
    - 실제 데이터 블록을 가리키는 포인터들로 구성
    Double
    Indirect
    Block
    - index block이 2개 레이어로 구성
    - 1st index block : 2nd index block 가리키는 포인터
    - 2nd index block : 실제 데이터 블록 가리키는 포인터
    Triple
    Indirect
    Block
    - index block 3개 레이어로 구성
    - 1st, 2nd index block : 다른 index block 가리키는 포인터
    - 3rd index block : 실제 데이터 블록 가리키는 포인터

     

    Linux 파일시스템

    구분 설명
    EXT2
    (Extends File
    System 2)
    - 비교적 속도가 빠르고 안정적인 UFS(Unix File System) 기반으로 필요한 기능 요약해서 단순함
    - Boot Sector 및 복수 Block Group으로 구성 (블록 크기 : 1 ~ 4KB)
    - 블록 : 파일시스템에서 데이터 저장하는 단위이며 메모리에서 I/O 작업을 한 번 거칠 때 읽거나 쓰는 단위
    EXT3
    (Extended File
    System 3)
    - 기존 EXT2는 Cache에 저장되어 있는 데이터들을 디스크로 저장하는 도중 만약 시스템이 문제가 발생하면 파일시스템 손상 가능
    - EXT3 파일시스템은 이러한 단점 보완하기 위해 저널링(Journaling) 기능 추가
    - EXT2 파일시스템과 호환 가능
    - 저널링(Journaling) : 데이터를 디스크에 쓰기 전 로그에 데이터를 남겨 시스템의 비정상적인 셧다운에도 로그 사용하여 fsck(파일시스템 체크 명령어)보다 빠르고 안정적인 복구 기능 제공

     

    WINDOWS 파일시스템

    구분 설명
    NTFS - 파일, 디렉토리 및 메타 정보까지 파일 형태로 관리
    - VBR 영역 : 부트섹터
    - MFT 영역 : 파일과 디렉토리 관리 위한 영역
    - DATA 영역 : 파일 실제 내용이 저장되는 공간
    ReFS - NTFS에서 발전된 ReFS 파일 구조에 적용
    - 서버, NAS 등 대용량 스토리지 위한 데이터 구조

     

     

     

     

     

     

     

    320x100

    댓글