CS/운영체제

Chapter 11: 디스크와 스케줄링

GaeunLee 2022. 5. 23. 13:11

많은 프로세스들이 파일접근요청을 하는데, 이는 커널을 통해 디스크 시스템으로 전달

 

11.1 디스크의 구조

💡 전체 디스크의 용량 계산하기

sec_size * 한트랙당 섹터수 * 한면당 트랙수 * 면(디스크개수*2-2)
//위 아래는 보호면

 

디스크팩: 데이터를 저장

  • 원판 디스크로 이루어짐
  • 2가지 동작
    • 회전축에의한 회전
    • 붐(BOOM)에 의한 전후동작
  • 디스크는 여러개의 트랙, 트랙은 여러개의 섹터
  • 동심원의 트랙은 실린더라고 한다,
    • 큰 프로그램은 실린더 단위로 저장 (헤드의 이동 최소)

 

디스크 드라이브: 데이터를 읽어내는 구동 장치

 

💡CAV (일정 각 속도) 하드디스크-회전속도가 일정

  • 회전 속도가 항상 일정
  • 바깥쪽 트랙이 더 빨리 돈다.& 바깥쪽 섹터의 길이 길지만 동일한 용량
  • 바깥쪽섹터가 더 느슨하게 기록된다.
💡CLV (일정 선형 속도) CD,CDrom

  • 모든 섹터의 밀도를 같게 하여 용량 up, 회전 속도를 조절 

 

11.2 디스크 스케줄링

  1. FCFS
    • 디스크 입출력 부하가 작을떄 적합

  2. SSTF 단위시간 당 처리량 BEST // 일괄처리에서 유용
    • 가장 가까운 요구 먼저 서비스
    • 응답시간 예측성이 떨어짐
    • 무한대기 
  3. SCAN
    • 응답시간의 분산을 줄여줌
    •  스케쥴링 기법의 근간 

  4. LOOK - 엘레베이터 알고리즘
    • 진행방향 앞에 요구 없으면 내려감
    • 3가지 특징
      • 진행방향 같은 처리 빠름
      • 뒤는 기다림
      • 가운데 중심임 

  5. N-step SCAN
    • 새로 도착하는거 같은 방향이어도 미리 안 해줌
    • 큐에 있어야 해줌
    • K= 요청의 개수이자 큐의 사이즈
    • SCAN에서 왔다갔다 스캔하는 시간이 빨라져 유효기간 내에 서비스를 받을 수 있다. 

  6. C-SCAN variance 가장 낮춤
    • 한 방향으로만 서비스
    • 중앙 트랙과 양끝트랙 균등한 서비스

  7. Eschenbach
    • 가장 가까운 요구 먼저 서비스
    • 응답시간 예측성이 떨어짐
    • 무한대기 

  8. C-SCAN variance 가장 낮춤
    • 한 회전 안에 처리되지 못한 서비스는 다음에 하자
    • 한 트랙에 헤드가 머무르는 시간 = 한바퀴
    • 탐색 시간 최적화 회전 지연 시작의 최적화를 추구

 

11.3 회전 지연 시간의 최적화

기본적으로 스펙에 달려있음

섹터큐잉 기법(SLTF)

  • 각 섹터별로 별도의 큐를 두어 관리- 거의 최적에 가깝다.

 

11.4 디스크 관리를 위해

버퍼링

  • 디스크의 입출력 횟수를 적어지게 한다.
  • 커널공간 내에 버퍼 캐시, inode캐시를 두어 사용
  • 단점
    • 디스크 블록이 각각 다른 호스트에 접근가능(분산데이터베이스시스템)에서는 데이터의 일치성 체크
    • 지역성이 껄어지며 hit ratio가 매우 낮을 수 있다.

디스크 스트라이핑 = 디스크 인터리빙

  • 디스크 여러개로 나누어 독립적이고 병렬
  • 접근 시간이 크게 단축

 

RAID 구조

  • 신뢰성과 가용성을 늘리기 위함
  • 0: 신뢰 X 그냥 디스크 스트라이핑
  • 1: 미러링
  • -0+1: 스트라이핑 미러링
  • 2: 해밍코드를 이용한 중복
  • 3: 패리티를 이용한 중복 — 병목
  • 4:스트라이핑 + 패리티를 이용한 중복 — 병목
  • 5: 분산 패리티 - 회전 패리티 배열 개념 사용 —주로사용
  • 6: 분산 이중 패리티 —주로사용

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

Chapter 9: 가상 메모리의 관리  (0) 2022.05.11
Chapter 8: 가상 메모리  (0) 2022.05.10
Chapter 7: 메모리 관리  (0) 2022.05.09
Chapter 6: 교착 상태(Dead Lock)  (0) 2022.05.05
Chapter 5: 병행 프로세스와 동기화  (0) 2022.05.03