Computer Science/운영체제

[운영체제] 11. Mass-Storage Structure

lumana 2024. 6. 19. 01:29

Hard Disk Internals

Moving head disk mechanism

  • 아래 내용은 참고 
    • 트랙(track): 디스크 표면에서의 원형 경로
    • 스핀들(spindle): 디스크를 회전시키는 중심축
    • 섹터(sector): 트랙을 나눈 작은 저장 단위
    • 실린더(cylinder): 동일한 위치의 모든 트랙
    • 표면(surface): 플래터의 저장 공간
    • 플래터(platter): 회전하는 디스크
    • 헤드(head): 데이터를 읽고 쓰는 장치
    • 회전(rotation): 디스크의 회전 운동
  • Disk I/O service time
    • 디스크 I/O 서비스 시간: 탐색 시간 + 회전 지연 + 데이터 전송 시간
      • 탐색 시간(Seek time): 디스크 헤드를 원하는 트랙으로 이동하는 시간(위 아래 수직이동)
        • 탐색 시간 ≈ 탐색 거리
      • 회전 지연(Rotational delay): 원하는 섹터가 디스크 헤드 아래에 올 때까지의 회전 시간(수평 이동)
        • 최적의 경우 = 0
        • 최악의 경우 = 한 번의 회전 시간
      • 데이터 전송 시간(Data transfer time): 디스크 매체에서 디스크 버퍼로 데이터 전송 시간
      • 탐색 시간 또는 회전 지연 >> 데이터 전송 시간

Hard Disks

  • 플래터 크기
    • 역사적으로 0.85인치에서 14인치까지 다양
    • 일반적으로 3.5인치, 2.5인치, 1.8인치
  • 용량
    • 30GB에서 3TB까지 다양
  • 성능
    • 전송 속도: 이론적 – 6Gb/sec, 실제 – 1Gb/sec
    • 탐색 시간: 3ms에서 12ms, 데스크탑 드라이브는 평균 9ms
    • 평균 탐색 시간: 트랙의 1/3 기반으로 측정 또는 계산
    • 스핀들 속도 기반 지연 시간: 1/(RPM/60) = 60/RPM
    • 평균 지연 시간 = ½ 지연 시간

Solid-State Disks(SSD)

  • 비휘발성 메모리
    • 하드 드라이브처럼 사용되며 다양한 기술 변형이 있음
  • 장점
    • 하드 디스크 드라이브(HDD)보다 신뢰성이 높을 수 있음
    • 훨씬 빠름
  • 단점
    • 메가바이트(MB)당 가격이 더 비쌈
    • 수명이 더 짧을 수 있음
    • 용량이 적음
  • 추가 정보
    • 버스 속도가 너무 느릴 수 있어 PCI에 직접 연결
    • 이동이 필요한 부품이 없어서 탐색 시간이나 회전 지연이 없음

Magnetic Tape

  • 초기 2차 저장 매체
    • 오픈 스풀에서 카트리지로 진화
  • 특징
    • 비교적 영구적이며 대량의 데이터를 저장
    • 접근 시간 느림
    • 랜덤 액세스는 디스크보다 약 1000배 느림
  • 주 용도
    • 백업, 잘 사용되지 않는 데이터 저장, 시스템 간 데이터 전송 매체
  • 보관 방식
    • 스풀에 보관되며, 읽기-쓰기 헤드를 지나 감거나 다시 감음
  • 전송 속도
    • 헤드 아래에 데이터가 있을 때 디스크와 유사한 속도
    • 140MB/sec 이상
  • 일반 저장 용량
    • 200GB에서 1.5TB

NAS(Network-Attached Storage)

  • 정의
    • 네트워크를 통해 로컬 연결(버스 등) 대신 사용 가능한 저장소
      • 파일 시스템 원격 연결
  • 공통 프로토콜
    • NFS, CIFS
  • 구현
    • 원격 프로시저 호출(RPC)로 호스트와 저장소 간 데이터 전송
    • 일반적으로 TCP 또는 UDP를 사용하는 IP 네트워크에서 실행
  • iSCSI 프로토콜
    • IP 네트워크를 사용해 SCSI 프로토콜 전송
      • 장치 원격 연결(블록 단위)

Disk Scheduling Algorithms

  • Disk I/O scheduler
    • 일반적으로 새로운 서비스 요청은 요청 대기열(request queue)에 배치됨
      • 요청(Request): 디스크 I/O 스케줄러의 스케줄링 단위
        • R/W 유형, 디스크 주소, 섹터 수
    • 요청 완료 시 디스크 I/O 스케줄러는 다음 요청을 선택
    • 평균 디스크 I/O 서비스 시간은 디스크 I/O 스케줄링 알고리즘에 따라 다름

Disk Scheduling Algorithms

  • 목표
    • 탐색 시간과 회전 지연 최소화
    • 디스크 컨트롤러에서 실린더 기반 매핑

  • 문제점
    • 운영 체제는 회전 지연을 추정할 수 없음
    • 디스크의 회전 속도와 트랙당 섹터 수가 다름
  • 평가
    • 요청 대기열(request queue) 상태와 현재 디스크 헤드 위치 제공
    • --> 각 디스크 스케줄링 알고리즘마다 총 헤드 이동을 계산

FCFS (First Come First Served)

  • 정의
    • 도착 순서대로 요청 처리
  • 예시
    • 요청 상태: R1(25), R2(92), R3(56), R4(4), R5(17), R6(52), R7(10), R8(32)
    • 디스크 헤드 위치: 22

  • 단점
    • 탐색 거리(seek distance)가 너무 김

SSTF (Shortest Seek Time First)

  • 정의
    • 현재 헤드 위치에서 최소 탐색 시간으로 요청 처리
  • 예시
    • 요청 상태: R1(25), R2(92), R3(56), R4(4), R5(17), R6(52), R7(10), R8(32)
    • 디스크 헤드 위치: 22

 

만약 처리 순서를 구하라고 하면, 수직선에 각 request 헤드 위치를 표시한 후, 문제에서 주어진 디스크 헤드 위치부터 그리디 알고리즘으로 풀면 된다.

  • 특징
    • 그리디 알고리즘
    • 일부 요청이 굶주림(starvation)에 빠질 수 있음

SCAN

  • 디스크 헤드가 디스크 한쪽 끝에서 시작하여 반대쪽 끝으로 이동하면서 요청을 서비스함. 끝에 도달하면 방향을 바꿔 계속 서비스함.
  • 엘리베이터 알고리즘(elevator algorithm)이라고도 함.
  • 예:
    • Queue state => R₁(25), R₂(92), R₃(56), R₄(4), R₅(17), R₆(52), R₇(10), R₈(32)
    • Position of disk head => 22

C-SCAN

  • SCAN의 변형임.
  • SCAN보다 더 균일한 대기 시간을 제공함.
  • 다른 끝에 도달하면 반환 경로에서 아무 요청도 서비스하지 않고 즉시 디스크 시작점으로 돌아옴.
    • cf)SCAN : 다른 끝에 도달하면 방향을 바꿔서 서비스
  • 예:
    • Queue state => R₁(25), R₂(92), R₃(56), R₄(4), R₅(17), R₆(52), R₇(10), R₈(32)
    • Position of disk head => 22

C-LOOK

  • C-SCAN의 실질적 구현임.
  • 디스크 헤드는 각 방향에서 최종 요청까지만 이동한 후, 디스크 끝까지 가지 않고 즉시 방향을 바꿈.
  • 예:
    • Queue state => R₁(25), R₂(92), R₃(56), R₄(4), R₅(17), R₆(52), R₇(10), R₈(32)
    • Position of disk head => 22

Disk Formatting

Physical formatting (low-level formatting)

  • 물리적 포맷팅 (저수준 포맷팅)
    • 디스크를 사용하기 전에, 디스크 컨트롤러가 읽고 쓸 수 있는 섹터로 나누어야 함.
    • 대부분의 하드 디스크는 제조 과정에서 물리적으로 포맷됨.
    • 이 과정에서 각 섹터에 대한 특수 데이터 구조가 추가됨.
    • 헤더와 트레일러는 디스크 컨트롤러가 사용하는 정보를 포함함.
      • 예: 섹터 번호, 오류 수정 코드 (ECC)

Partition

  • 파티션
    • 디스크는 여러 논리 디스크로 나눌 수 있음.
    • 운영체제는 각 파티션을 별도의 디스크처럼 취급할 수 있음.

Logical formatting

  • 논리적 포맷팅
    • 운영체제는 초기 파일 시스템 data structures를 저장함.
      • 예: 슈퍼블록, 여유 공간 비트맵 등.

Swap Space Management

Swap space

  • 스왑 공간
    • 가상 메모리는 디스크 공간을 주 메모리의 확장으로 사용함.
    • 두 가지 형태로 구현될 수 있음.
      • 파일 시스템 내의 일반 파일 - 예: Windows
      • 별도의 디스크 파티션 - 예: UNIX

 

'Computer Science > 운영체제' 카테고리의 다른 글

[운영체제] 13. File System Interface  (0) 2024.06.19
[운영체제] 12. I/O Systems  (0) 2024.06.19
[운영체제] 10. Virtual Memory  (0) 2024.06.19
[운영체제] 09. Main Memory  (0) 2024.06.19
[운영체제] 08. Deadlocks  (0) 2024.06.19