Disk Management and Scheduling

고동현·2024년 5월 27일
0

운영체제

목록 보기
14/16

Disk Structure

  • logical block
    디스크의 외부에서 보는 디스크의 단위정보 저장 공간들
    주소를 가진 1차원 배열처럼 취급
  • Sector
    Logical block이 물리적인 디스크에 매핑된 위치
    Sector 0는 최외각 실린더의 첫 트랙에 있는 첫번째 섹터이다.

Disk Management

  • Physical Formatting(Low-level formatting)
    디스크를 컨트롤러가 읽고 쓸 수 있게 섹터들로 나누는과정
    각 섹터는 Header + 실제 data + trailer로 구성
    헤더랑 트레일러에 sector number,ECC(error-correcting code)가 저장된다.
  • Partitioning
    디스크를 하나 이상의 실린더 그룹으로 나누는 과정
    OS는 이것을 독립적인 disk로 취급(C드라이브, D드라이브로 나누는 것과 같음)
  • Logical formmatting
    파일 시스템을 만드는것 Fat, Incode, Free space등
  • Booting
    Rom에 있는 small bootstraploader를 실행하면, sector0(boot block)을 load해서 실행한다. sector0 에는 full BootStrap program이다. 그러면 OS를 디스크에서 load해서 실행한다.

Disk Scheduling
Access time의 구성
Seek time - 헤드를 해당 실린더로 움직이는데 걸리는 시간,
Rotational latency - 헤드가 원하는 섹터까지 도달하는데 걸리는 회전 지연시간
Transfer time - 실제 데이터의 전송시간

Seek time을 최소화 하는것이 중요하다.

Disk Scheduling Algorithm
만약에 디스크 헤드가 53번이고 98,13,37,122,14,124,65,67 실린더 위치의 요청이 존재하는경우 수행 결과는?

FCFS-들어온 순서대로 처리
디스크 헤드가 상당히 많이 움직여야함

SSTF-현재 헤드 위치에서 가장 가까운 위치의 요청을 처리-Starvation 문제

SCAN에 기반한 스케쥴링
disk arm이 디스크의 한쪽에서 다른 쪽 끝으로 이동하면서 가는 길목에 있는 모든 요청을 처리한다.

C-Scan 다른 쪽 끝에 도달했으면 요청을 처리하지 않고 곧바로 출발점으로 다시 이동하는 방식 - 균일한 대기시간을 제공한다.

N-Scan 가는 도중에 요청이 들어오면 이건 처리하지 않고, 다음번에 처리하는 방식

C-Look
C-Look은 끝까지 가서 arm을 턴하는게 아니라 이제 요청까지만 처리하고 turn하는 방법

profile
항상 Why?[왜썻는지] What?[이를 통해 무엇을 얻었는지 생각하겠습니다.]

0개의 댓글