저장장치의 종류

순차접근 저장장치

  • 데이터를 순차적으로 읽거나 쓸 수 있는 저장장치
  • ex) 테이프 장치
  • 초기 접근시간이 굉장히 오래 걸림
  • 대량의 데이터 백업용으로 사용

직접접근 저장장치

  • 지정한 위치를 직접 찾아 데이터를 읽거나 쓸 수 있는 저장장치
  • 임의접근 저장장치
  • ex) 자기 디스크, 광디스크, SSD

  1. 자기 디스크
    • 자성을 띤 디스크의 표면에 데이터를 쓰거나 읽음
    • 플래터 : 각각의 디스크
    • 헤드 : 플래터 표면을 읽고 씀
    • 암 : 헤드를 움직임
    • 고정축 : 암을 고정함
    • 트랙 : 하나의 플래터에는 각각의 트랙이 존재
    • 섹터 : 하나의 트랙은 여러개의 섹터로 존재
    • 실린더 : 각각의 플래터에서 같은 위치에 있는 트랙을 모아 실린더라고 함

  2. 광디스크
    • 디스크 표면에 레이저를 쏘아 반사되는 빛의 차이를 이용하여 데이터를 읽거나 씀
    • ex) CD-ROM, CD-RW, DVD, 블루레이 디스크 등
    • 나선형인 하나의 트랙으로 구성

  3. SSD
    • 읽고 쓰기가 가능하면서 전력공급이 없어도 데이터가 지워지지 않는 메모리 이용
    • 자기 디스크보다 속도가 빠르고 전력 소모가 적음
    • 용량 대비 가격이 비싸며 수명이 짧음

디스크 스케줄링 알고리즘

  • 디스크 접근 요구를 효율적으로 처리하는 순서를 결정하는 작업
    • 디스크 접근 요구 : 디스크에서 데이터를 읽거나 쓰는 요구
  • 프로세스들의 요구를 디스크 큐에 두고 관리
  • 기계적 동작이 최소화되도록 디스크 큐를 재배열
    • 직접접근을 위해 헤드의 이동, 디스크의 회전 같은 기계적 움직임 필요

  • 탐구시간 + 회전지연시간 + 전송시간
    • 탐구시간 : 암을 움직여 원하는 트랙으로 움직이는 시간
    • 회전지연시간 : 디스크를 돌려 원하는 섹터를 만나는 시간
    • 전송시간 : 실제 데이터를 읽는 시간
      • 전송시간은 데이터의 양에따라 정해지는것이므로 고정적으로 소요됨

탐구시간 최적화

  1. FCFS 스케줄링
    • First-Come First-Served
    • 먼저 도착한 접근 요구가 먼저 서비스를 받는 방법
    • 장점
      • 접근요구의 도착 순서대로 실행되므로 공평
    • 단점
      • 도착순서에 따라 총 탐구시간이 커질 수 있음
      • 디스크 부하가 높을수록 응답시간이 길어짐

  2. SSTF 스케줄링
    • Shortest Seek Time First
    • 탐구시간이 가장 짧은 접근 요구를 먼저 처리하는 방법
    • 장점
      • FCFS 스케줄링보다 처리량, 평균응답시간 개선
      • 일괄처리 운영체제에 적합
    • 단점
      • 양 끝 쪽에 위치한 트랙에 대한 접근 요구는 기아상태 발생 가능
      • 트랙 위치에 따라 응답시간 편차 큼
      • 시분할 운영체제에 부적합

  3. SCAN 스케줄링
    • 양 끝 트랙 사이를 왕복하여 진행방향의 가장 가까운 접근 요구를 먼저 처리하는 방법
    • 장점
      • SSTF 스케줄링의 응답시간 편차를 어느정도 개선
    • 단점
      • 새로운 요구가 헤드 진행방향의 바로 앞이냐 뒤냐에 따라 응답시간 편차 발생
      • 양 끝 트랙은 헤드가 한 번 왕복할 때 한 번의 서비스 기회만 있음

  4. C-SCAN 스케줄링
    • 오로지 한쪽 방향으로만 진행방향의 가장 가까운 접근 요구를 먼저 처리하는 방법으로 나머지는 SCAN 스케줄링과 동일
    • 장점
      • 양 끝 트랙에 대한 접근 요구의 차별 제거
      • 응답시간의 편차가 매우 작음
    • 단점
      • 불필요한 이동이 많아지고, 이동시간이 길어질 수 있음

  5. LOOK 스케줄링
    • SCAN 스케줄링처럼 처리하되 진행방향으로 더 이상 접근 요구가 없으면 방향을 바꾸는 방법

  6. C-LOOK 스케줄링
    • C-SCAN 스케줄링처럼 처리하되 진행방향으로 더이상 접근 요구가 없으면 방향을 바꾸어 가장 먼 접근 요구의 트랙까지 이동하는 방법

회전지연시간 최적화

  1. SLTF 스케줄링
    • 동일 실린더의 여러 섹터에 대한 접근 요구에 대해 회전지연시간이 가장 짧은 것을 먼저 처리하는 방법
    • 높은 부하상태에서 유용
    • 회전지연시간 최적화
      • 이론적인 최적해와 거의 일치

파일 관리

  1. 파일관리자
    • 파일을 생성, 삭제, 수정
    • 파일에 접근하는 것을 제어
    • 파일에 의해 사용되는 자원을 관리

  2. 파일관리자의 요소
    • 엑세스 방식
      • 파일에 저장되어 있는 데이터에 접근하는 방식
    • 파일 관리
      • 파일을 저장, 참조, 공유 및 안전하게 보호되도록 함
    • 보조기억장치 관리
      • 보조기억장치에 파일을 저장하는 데 필요한 공간 할당
    • 파일 무결성 유지
      • 파일의 정보가 소실되지 않도록 보장

  3. 파일 구조
    • 파일을 구성하는 레코드들이 보조기억장치에 배치되는 방식
    • 접근방식 : 순차 파일, 인덱스 된 순차 파일, 직접 파일

    1) 순차파일
    - 레코드가 물리적 순서에 따라 저장되어 있는 파일
    - 논리적 순서와 물리적 순서가 동일
    - 순차접근 저장장치에 많이 이용
    2) 인덱스 된 순차 파일
    - 각 레코드의 키를 기준으로 한 논리적 순서대로 레코드가 저장됨
    - 일부 주요 레코드의 실제 주소가 저장된 인덱스를 구성하여 관리하는 파일
    - 순차접근(키 순서)과 직접접근(인덱스 검색) 모두 가능
    - 보통 디스크에 이용
    3) 직접 파일
    - 각 레코드의 키를 이용하여 직접접근 저장장치의 물리적 주소를 통해 직접 엑세스되는 파일
    - 논리적인 키와 물리적 주소의 사상은 프로그래머가 정의

  4. 디스크 공간 할당
    1) 연속 할당 기법
    - 보조기억장치의 연속된 가용공간에 파일 저장공간을 할당
    - 필요한 공간의 크기를 미리 정해야 함
    - 장점
    - 엑세스가 효율적
    - 디렉터리 구현이 단순
    - 단점
    - 외부 단편화
    - 파일 크기 확장에 대한 대응이 비효율적
    2) 불연속 할당 기법
    - 섹터 또는 블록 단위로 공간을 할당
    - 포인터를 이용하여 블록들을 연결
    - 장점
    - 단편화 문제 해결
    - 파일 확장 문제 해결
    - 단점
    - 파일 공간 분산으로 성능 저하
    - 포인터 관리를 위한 연산 및 공간 소비

Updated: