랑아
article thumbnail

04. 디스크 관리

01. 디스크 구조와 접근 시간

1) 디스크 구조

  1. 트랙(Track)
    • 디스크의 회전축을 중심으로 구성된 동심원 모양으로 디스크의 종류마다 개수가 모두 다름
    • 일반적으로 200트랙(0 ~ 199 트랙)
  2. 섹터(Sector)
    • 하나의 트랙을 몇 개로 분할한 블록으로 한 개의 섹터는 일반적으로 512byte ~ 1,024byte 용량을 가짐
  3. IPL(Initial Program Loader)
    • 디스크에 접근할 때 디스크의 물리적인 정보를 제공함
    • 일반적으로 부트(Boot) 섹터라고 함
    • 물리적인 정보는 트랙 수, 섹터 수, 섹터 당 byte 수 등
  4. FAT(File Allocation Table)
    • 사용자가 해당 클러스터의 포인트 정보(위치 정보)를 실수로 지우는 것을 예방하고 블록 접근을 빠르게 하기 위하여 포인터(섹터 위치)를 모아 놓은 곳
    • 디스크 데이터 영역에 위치를 1:1로 사상한 정보들을 갖고 있음
    • 보통 2개 이상의 복사본이 있음
  5. 디렉터리(Directory)
    • 디스크에 저장된 파일의 기본적인 정보를 수록하는 공간으로 파일명, 파일 속성, 작성 날짜, 작성 시간, 파일 위치, 파일 크기 등의 정보를 가짐
  6. 실린더(Cylinder)
    • 회전축을 중심으로 같은 거리에 있는 트랙들의 집합
    • 하드 디스크처럼 여러 개의 디스크 판을 사용할 때 사용하는 단어로 플로피 디스크처럼 한 장을 사용할 때는 트랙과 같은 의미

2) 드라이브(Drive)

  1. 액세스 암(Access Arm) : 일기/쓰기 헤드를 움직여 주는 막대
  2. 고정축(Boom) : 액세스 암들을 동시에 이동시키는 막대로 탐색 시간(Seek Time)은 고정축의 이동 시간이 됨
  3. 헤드(Head) : 데이터를 읽어 내거나 기록하는 장치

3) 디스크 접근 시간의 종류

  1. 탐색 시간(Seek Time)
    • 디스크 상의 원하는 데이터를 액세스하기 위해 트랙 또는 실린더에 헤드를 위치시키는 데 걸리는 시간
    • 디스크 스케줄링은 대부분 탐색 시간만을 고려함
  2. 회전 지연 시간(Latency Time)
    • 지정된 트랙에 위치한 헤드가 원하는 섹터에 위치시키는데 걸리는 시간
    • Rotational Delay Time 또는 RPM 지연 시간이라고도 함
  3. 전송 시간(Transmission Time)
    • 디스크로부터 주기억 장치로 데이터가 이동하는 시간

4) 디스크 스케줄링 전략의 목적

  • 처리량을 최대화함
  • 응답 시간의 최소화함
  • 응답 시간의 편차를 최소화함



02. 디스크 스케줄링

1) FCFS(First Come First Served, FIFO)

  • 도착 순서에 따라 실행 순서가 고정된다는 점에서 공평함
  • 요청한 순서대로 진행하기 때문에 순서가 바뀌는 일이 없음
  • 디스크의 부하가 적을 때 유리함
  • 디스크의 부하가 커지면 응답 시간이 길어짐
  • 탐색 시간을 최적화하려는 시도가 없음

2) SSTF(Shortest Seek Time First)

  • 대기 큐에 먼저 들어와 있지 않더라도 탐색 거리가 짧으면 먼저 서비스 받음
  • 디스크 스케줄링 기법 중 현재 헤드 위치에서 가장 가까운 요청을 우선적으로 처리하는 기법
  • 가운데 트랙이 안쪽이나 바깥쪽보다 서비스 받을 확률이 높음
  • 헤드에서 멀리 떨어진 요청은 기아 상태(Starvation State)가 발생할 수 있음
  • FCFS보다 처리량이 많고 평균 응답 시간이 짧음
  • 처리량이 많이 때문에 일괄 처리에 유용함
  • 응답 시간의 편차가 크기 때문에 대화형 시스템에는 부적합함

3) SCAN

  • SSTF의 응답 시간의 편차를 개선한 기법
  • 진행 방향상의 가장 짧은 거리에 있는 요청을 먼저 수행함
  • 진행 방향으로 끝까지 진행함
  • SSTF에 발생하는 안쪽과 바깥쪽의 차별 대우를 최소화하고 응답 시간의 편차를 줄임
  • 대부분 디스크 스케줄링 전략의 기본이 됨
  • 부하가 적은 경우에는 SCAN 기법이 가장 좋은 결과를 가짐

4) C-SCAN

  • 안쪽과 바깥쪽의 차별 대우를 모두 없앰
  • 항상 바깥쪽에서 안쪽으로 이동하면서 서비스함
  • 안쪽 방향으로 끝까지 진행함
  • 응답 시간의 편차가 매우 작음
  • 부하가 많은 경우에는 C-SCAN 기법이 가장 좋은 결과를 가짐

5) N-Step SCAN, SLTF, 에센바흐

1. N-Step SCAN 스케줄링 방식

  • 헤드가 진행이 시작될 당시에 대기 중이던 요청들만 SCAN 방식으로 서비스하고, 진행 도중 도착한 요청들은 한데 모아져서 반대 방향 진행 시 최적으로 서비스할 수 있도록 배열됨

2. SLTF(Shortest Latency Time First)

  • SLTF는 회전 지연 시간의 최적화를 위해 구현된 기법
  • 같은 실린더에 대한 요청의 도착 순서와 무관하게 가장 짧은 회전 시간을 요구하는 요청을 먼저 서비스하는 스케줄링 기법
  • 대기 큐에 있는 여러 요청을 섹터 위치에 따라 정렬하고, 가장 가까운 섹터를 먼저 서비스함
  • 헤드의 이동이 거의 없는 고정 헤드 장치에서 주로 사용됨
  • 섹터 큐잉(Sector Queuing)이라고도 함

3. 에센바흐

  • 탐색 시간, 회전 지연 시간, 전송 시간을 모두 고려해서 개발된 스케줄링



03. 하드 디스크(Hard Disk)

1) 하드 디스크의 특징

  • 플로피 디스크에 비해 대량의 자료를 기억할 수 있고, 고속으로 읽고 쓸 수 있음
  • 컴퓨터 내부에 고정되어 있는 자기 디스크 장치를 회전하는 디스크 판 위로 읽기/쓰기 헤드가 움직이면서 디스크 표면에 데이터를 저장하거나 디스크에 저장되어 있는 데이터를 읽어 옴
  • 하드 디스크는 헤드(Head), 액세스 암(Access Arm), 디스크(Disk), 트랙(Track), 섹터(Sector)로 구성되어 있음

2) 하드 디스크의 구성 요소

  1. 실린더(Cylinder)
    • 여러 개의 디스크에서 같은 지름을 갖는 트랙의 집합
    • 동시에 헤드가 접근하는 부분으로 실린더의 개수는 트랙의 개수와 일치함
  2. 클러스터(Cluster)
    • 여러 개의 섹터를 하나의 블록으로 묶어서 블록 단위로 접근하게 되는데, 이 블록을 클러스터라고 함

3) 하드 디스크의 용량 계산

  1. 실린더의 개수와 면의 개수를 알려 줄 경우
    • 하드 디스크 총 용량 = 실린더의 개수 × 면의 수 × 트랙당 섹터 개수 × 섹터 크기
  2. 헤드 개수와 실린더의 개수를 알려 줄 경우
    • 하드 디스크 총 용량 = 헤드 개수 × 실린더의 개수 × 트랙당 섹터 개수 × 섹터 크기
  3. 디스크의 개수와 트랙 개수를 알려 줄 경우
    • 하드 디스크 총 용량 = 2 × 디스크 개수 × 트랙 개수 × 트랙당 섹터 개수 × 섹터 크기



04. RAID(Redundant Array of Independent Disks)

1) RAID의 개념

  • 여러 대의 하드 디스크가 있을 때 동일한 데이터를 다른 위치에 중복해서 저장하는 방법
  • 여러 개의 하드 디스크를 마치 하나의 하드 디스크처럼 사용하는 것으로 입출력 속도 및 안정성을 개선시킨 기술 장치

2) RAID의 종류

  1. RAID-0
    • 데이터를 여러 세그먼트로 분할해서 저장하는 방식
    • 성능 향상을 위해 스트라이핑 기법을 채택
      • 스트라이핑(Striping) : 여러 개의 디스크를 사용하게 되며 연속적인 데이터의 기록 시 각각의 디스크마다 서로 다른 데이터를 번갈아 가며 동시에 기록하거나 읽어내는 방식
    • 중복 저장과 에러 검출 및 교정이 없는 방식
  2. RAID-1
    • 두 개의 물리적인 디스크에 각각 중복 저장하는 방식
    • 디스크 미러링(Disk Mirroring) 방식이며 높은 신뢰도를 갖는 방식
  3. RAID-2
    • 해밍 코드 방식을 사용하여 디스크의 데이터 에러 검증에 사용하는 방식
  4. RAID-3
    • 스트라이핑 방식으로 디스크에 저장하는 방식으로 패리티 정보는 별도의 디스크에 저장함
  5. RAID-4
    • 블록 단위 스트라이핑을 통해 데이터를 여러 디스크에 분산 저장하는 방식으로 패리티를 패리티 전용 디스크에 저장함
  6. RAID-5
    • 스트라이핑 방식 저장, 패리티 정보는 모든 하드 디스크에 나누어 저장함
    • 패리티 블록들을 여러 디스크에 분산 저장하는 방식이며 단일 에러 검출 및 교정이 가능한 방식
    • 고정적인 패리티 디스크 대신 패리티가 모든 디스크에 분산되어 저장되므로 병목 현상을 줄여줌
  7. RAID-6
    • RAID-5의 패리티를 이중 구조로 구축하여 데이터 보호성을 높인 방식
    • 두 개의 패리티 디스크를 사용하므로 두 개의 디스크 장애 시에도 데이터의 복구가 가능함



05. 광디스크 시스템(Optical Disk System)

1) 광디스크 시스템

  • 빛의 반사나 굴절을 이용하여 자료를 읽어 내거나 기록할 수 있는 광 저장 매체, 드라이브 등 관련 장치 전부를 의미함

2) 광디스크 시스템의 특징

  • 광디스크는 정보를 읽어 들이는데 레이저 빔을 이용함
  • 기록 위치와 관계 없이 랜덤 액세스가 가능하여 정보를 빨리 읽을 수 있음
  • 블루레이 디스크, CD-ROM, DVD, HD-DVD, 레이저 디스크 등과 같은 저장 매체에 기록함
  • 대량의 정보 저장이 가능함
  • 전기 신호를 이용하여 무작위 접근함
  • 파일 갱신이 쉬우며, 영구 보존이 가능함
  • 자료의 검색, 보존에 사용됨

3) 광디스크의 회전 속도 제어 기술

  1. 등각 속도(CAV) : 안쪽과 바깥쪽이 같은 용량으로 저장되도록 디스크의 안쪽과 바깥쪽의 밀도를 다르게 하여 트랜 면적이 다르더라도 모든 트랙이 같은 용량을 저장할 수 있도록 한 기술
  2. 등선 속도(CLV) : 안쪽과 바깥쪽이 다른 용량으로 저장되도록 디스크의 안쪽과 바깥쪽의 밀도를 같게 하여 트랙 면적에 따라 다른 용량을 저장할 수 있도록 한 기술

4) 등각 속도와 등선 속도의 비교

  • 등각 속도(CAV)
    • 면적이 차이가 있어도 같은 용량이 저장되므로 디스크 저장 공간이 비효율적으로 사용됨
    • 디스크 평판이 안쪽이나 바깥쪽이나 같은 회전 속도로 회전함
    • 밀도만 차이를 두면 되므로 회전 구동 장치가 간단함
    • 저장 용량의 손실이 있음
  • 등선 속도(CLV)
    • 같은 면적에 같은 용량이 저장되기 때문에 디스크 저장 공간이 효율적으로 사용됨
    • 회전 속도가 트랙마다 다름
    • 회전 속도가 다르기 때문에 회전 구동 장치가 복잡함
    • 저장 용량의 손실이 없음



06. FCB(File Control Block, File descriptor)

1) FCB의 역할

  • 파일 시스템은 디스크에 존재하는 파일을 효과적으로 사용하기 위해서 생성되는 모든 파일의 정보를 가지고 있어야 함
  • 파일 시스템은 파일명뿐만 아니라 생성 날짜, 실제 디스크에 저장된 위치 등의 정보를 FCB에 저장함
  • 디스크에 존재하는 파일을 주기억 장치에 적재하기 위해서는 FCB의 정보를 이용함
  • 주기억 장치에 존재하는 파일을 디스크에 저장할 때 FCB에 기록함

2) FCB 항목

  • 파일명
  • 접근 제어 정보
  • 제거 시기
  • 제거 날짜
  • 접근 횟수
  • 보조 기억 장치의 파일의 실제 위치
  • 보조 기억 장치 유형
  • 파일 유형
  • 생성 날짜, 시간
  • 최종 수정 날짜

'정보처리기사 > 프로그래밍 언어 활용' 카테고리의 다른 글

운영체제 9  (0) 2023.05.31
운영체제 7  (0) 2023.05.31
운영체제 6  (0) 2023.05.31
운영체제 5  (0) 2023.05.31
운영체제 4  (0) 2023.05.31
profile

랑아

@RangA

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!