[OS(2)]Disk Management and Scheduling 1

이유정·2025년 3월 13일
0

운영체제

목록 보기
51/52

Disk Structure

  • sector 0은 부팅과 관련됨

  • 디스크의 최소 단위 : sector
    • sector는 디스크 내부에서 데이터를 관리하는 가장 작은 단위이며, 데이터의 읽기/쓰기 요청은 디스크 컨트롤러가 직접 처리한다.
  • 디스크 외부에서 접근하는 단위 : logical block
    • logical block은 운영체제나 파일 시스템이 디스크에 접근할 때 사용하는 단위이며, sector에 매핑되어 저장된다.

Disk Scheduling

Disk Management

1. Physical Formattaing

  • 디스크를 컨트롤러가 읽고 쓸 수 있도록 sector 단위로 나누는 과정을 의미한다.
  • 일반적으로 각 sector는 header + 실제 data + trailer 로 구성된다.
    - headertrailer에는 다음과 같은 정보가 포함된다.
    • sector number: 해당 섹터의 번호
    • ECC(Error-Correcting Code): 데이터 오류를 검출하고 수정하는 코드
  • 이 정보들이 저장됨으로써 디스크 컨트롤러가 직접 데이터에 접근하고 운영할 수 있음.

2. Partitioning

  • 디스크를 하나 이상의 실린더 그룹으로 나누는 과정을 의미한다.
  • 이렇게 나뉜 각각의 영역을 OS는 독립적인 논리 디스크로 인식 하여 관리한다.
  • ex) 디스크 하나를 사서, c드라이브, d드라이브로 파티션을 나누면 각각이 서로 다른 logical disk가 된다.
    • 각각의 파티션을 파일 시스템 용도, swap area 용도로도 사용 가능

3. Logical Formatting

  • 위에 생성한 파티션에 파일 시스템을 설치하는 것. !
  • 파일 시스템을 생성하는 과정을 의미한다.
  • 논리적 포맷팅을 하면 다음과 같은 파일 시스템의 구조가 생성된다.
    • FAT(file alloacation table): 파일 시스템에서 데이터 저장 위치를 관리하는 테이블
    • inode: 파일의 메타데이터(파일 크기, 권한, 위치 정보 등)를 저장하는 구조체
    • free space: 사용되지 않은 공관을 관리하는 영역

4. Booting (부팅 과정)

  • ROM에 있는 small bootstrap loader가 실행됨 => 이 부트스트랩 로더는 os를 로드하는 역할을 함.
  • sector 0에서 부트로더를 로드하고 실행 => 부팅 시 가장 먼저 읽히는 영역.
  • sector 0에는 full Bootstrap loader program이 포함=> 이 프로그램이 OS를 로드하는 역할을 함.
  • OS가 디스크에서 로드되면서 실행됨.

Disk Scheduling Algorithm

FCFS(First Come First Service)

  • 헤드의 이동거리가 너무 길어짐
  • 비효율적

SSTF(Shortest Seek Time First)

  • 현재 헤드 위치에서 제일 가까운 요청을 가장 먼저 처리한다.
  • starvation 문제가 생긴다. (헤드가 멀리있는 곳으로 안가게 될 수 있음)

SCAN

  • 가장 간단하면서도 획기적임
  • 엘리베이터 스케쥴링이라고 불리기도 함.
  • disk head 이동 거리도 짧아지고
  • starvation 문제도 안생김

  • 그런데 실린더 중간에 있으면 대기 시간이 평균적으로 짧은데, 끝에 있으면 대기 시간이 평균적으로 길다는 문제점이 생김.

C-SCAN

  • circular scan임.
  • 이동거리는 좀 길어질 수 있지만, 가운데 쪽 요청이나 가장자리 쪽 요청이나 평균적으로 기대할 수 있는 시간이 균일하다.

Other Algorithms

  • 디스크 스케쥴링은 보통 scan에 기반함

  • n-scan : 이동하는 동안에 큐에 들어온 요청은 다음 이동때 처리

  • LOOK and C-LOOK
    • scan하고 c-scan의 약간의 비효율적인 측면을 개선
      • 요청이 있든 없든간에 항상 끝에서 끝으로 이동. 끝까지 다 찍고 나서 turn하고 들어오는 방식
      • 그런데 그쪽 방향으로 요청이 없으면 갈 필요 없잖아.
    • 더이상 그 쪽 방향으로 요청이 없으면, 거기서 방향을 바꿔버려.

Disk-Scheduling Algorithm의 결정

profile
강의 기록 블로그

0개의 댓글