- 프로세서: 논리적 상호작용
- 드라이버: 구동모터, 엑세스암, 입출력 헤드로 구성
- 제어기: 드라이버의 인터페이스
- 명령받아 작동
- 드라이버 번호, 표면 번호, 트랙 번호 사용
디스크 구조
- 트랙: 동심원
- 실린더: 헤드 안움직이고 접근 가능한 범위, 동일 위치 트랙 집합
- 섹터: 부채꼴 모양으로 나눈 조각, 블록의 집합
디스크 주소
- 물리주소: 제조사마다 다름
- Cylinder, Surface Sector
- 논리주소: Block 번호
- Disk Driver가 변환해줌
디스크 접근 시간
- 탐색시간: 현재 to 목적트랙
- 회전지연시간: 트랙 to 목적섹터
- 전송시간: 데이터 읽고 전송
- 데이터 전송시간: 탐색시간 + 회전지연시간 + 전송시간
디스크 스케줄링 평가기준
- 처리량: 시간당 처리수
- 탐색시간: 헤드 이동시간
- 평균 반응시간: 요청 후 서비스까지
- 반응시간 변화: 적정 시간안에 서비스하도록 함. 무기한 연기 방지
스케줄링 방법
시간 최적화
-
FCFS
-
선입선출
-
구현쉽고 공정
-
-
SSTF
-
현재 헤드에서 가까운 요구 우선처리
-
공정 X 무기한 연기(기아) 가능
-
대화형에 부적절
-
-
SCAN
-
헤드가 왔다갔다함(엘리베이터)
-
가까우면 굿, 멀면 요청시간 증가
-
-
C-SCAN
-
헤드가 계속 도는데, SCAN이랑 다르게 역방향으로 꺾지 않고 쭉 감
-
바깔, 안쪽 차별 X
-
반응시간 균형
-
동일 트랙 요청이 연속적으로 발생하면 무기한 연기 가능성
-
-
Look
- SCAN을 변형한 알고리즘
- 현재 방향에 요청이 없을 때 반대 방향으로 감
-
C-Look
-
C-SCAN을 변형한 알고리즘
-
회전지연 회적화
- SLTF
- latency(도는 거리) 우선
- 헤더에 가까운 요청 먼저 처리
- SPTF
- latency + seek time(헤더 앞뒤로 거리) 고려
- 더한 값이 작은 요청 먼저 처리
디스크의 상태
-
활동(Active): 헤드가 데이터를 읽거나 쓰고 있는 상태
-
공회전(Idle): 디스크가 회전중 but 읽거나 쓰지는 않는 상태
-
준비(Standby): 디스크 회전 X, 인터페이스 활성화
-
휴면(Sleep): 디스크 회전 X, 인터페이스 비활성화
-
비활성화(준비+휴면) 상태에서 활성화(활동+공회전) 상태로 가는데는 시간과 전력이 많이 소요되기 때문에, 자주 전환하는 것은 좋지 않다.