본문 바로가기

CS/운영체제

운영체제(20) - 디스크와 디스크 스케줄

반응형

디스크의 구조

  1.  플래터 : 표면의 자성체와 자기를 이용해 0과 1의 데이터를 저장
  2. Logical 블록 
    • 디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들
    • 주소를 가진 1차원 배열처럼 취급
    • 정보를 전송하는 최소 단위
  3. 섹터 
    • Logical block이 물리적인 디스크에 매핑된 위치
    • Sector 0은 최외곽 실린더의 첫 트랙에 있는 첫 번째 섹터이다
    • 하나의 섹터에는 한 덩어리의 데이터가 저장되고 이들이 모여 플래터가 된다
  4. 트랙 : 플래터에서 회전축을 중심으로 데이터가 기록되는 동심원
  5. 실린더 : 트랙들의 집합

디스크 관리

  • Physical formatting ( Low - level formatting)
    • 디스크를 컨트롤러가 읽고 쓸 수 있도록 섹터들로 나누는 과정
    • 각 섹터는 header + 실제 data ( 보통 512bytes) + trailer 로 구성
    • header와 trailer는 sector number, ECC (Error - Correctting Code) 등의 정보가 저장되며 controller가 직접 접근 및 운영
  • Partitioning
    • 디스크를 하나 이상의 실린더 그룹으로 나누는 과정
    • OS는 이것을 독립적 disk로 취급 (logical disk)
  • Logical Formatting
    • 파일 시스템을 만드는 것
    • FAT , inode, free space등의 주소 포함
  • Booting
    • ROM에 있는 " Small bootsrap loader"의 실행
    • Sector 0 (boot block)을 load하여 실행
    • Sector 0은 "Full Bootsrap loader program"
    • OS를 디스크에서 load하여 실행

 

Disk Scheduling

acces time의 구성은??

  1. Seek time (가장 큰 비중을 차지) : 헤드를 해당 실린더로 움직이는 걸리는 시간
  2. Rotational latency : 헤드가 원하는 섹터에 도달하기까지 걸리는 회전지연시간
  3. Transfer time : 실제 데이터의 전송 시간, 사실 별로 안걸린다

Disk bandwidth

단위 시간 당 전송된 바이트의 수

 

Disk Scheduling

seek time을 최소화하는 것이 목표이다. 이를 위해 여러가지 알고리즘들이 존재한다

 

 

FCFS(First Come First Serve)

먼저 들어온 요청부터 처리하는 방식, 엄청 간단하다. 단점은 비용이 많이 발생되며 비효율적이다

EX)

queue : 98, 183, 37, 122, 14, 124, 65, 67

current head starts at : 53

SSTF ( Shortest Seek Time First)

현재 헤드에서 가장 가까운 트랙의 요청을 먼저 처리한다.

장점 : Seek Time이 적다. 트랙을 찾는 시간을 최소화 할 수 있고, 처리량을 극대화 할 수 있다.

단점 : 안쪽 및 바깥쪽에 있는 요청들은 Starvation 문제가 발생할 수 있다.

EX)

queue : 98, 183, 37, 122, 14, 124, 65, 67

current head starts at : 53

SCAN

Disk arm이 디스크의 한쪽 끝에서 다른 쪽 끝으로 이동하며 가는 길목에 있는 모든 요청을 처리한다

다른 한쪽 끝에 도달하면 역방향으로 이동하며 오는 길목에 있는 모든 요청을 처리하며 다시 반대쪽 끝으로 이동한다

마치 엘레베이터가 동작하는 원리와 같아서 엘레베이터 기법이라고도 불린다.

장점 : SSTF의 Starvation 현상을 제거 할 수 있다.

단점 : 실린더 위치에 따라 대기 시간이 다르다

 

C-SCAN

헤드가 한쪽 끝에서 다른쪽 끝으로 이동하며 가는 길목에 있는 모든 요청을 처리

다른쪽 끝에 도달했으면 요청을 처리하지 않고 곧바로 출발점으로 다시 이동

장점 :SCAN보다 균일한 대기시간을 제공한다

단점 : 안쪽이나, 바깥쪽으로 처리할 요청이 없어도 헤드셋이 끝까지 이동하기 때문에 비효율적

N-SCAN

SCAN의 변형 알고리즘으로, 일단 ARM이 한 방향으로 움직이기 시작하면 그 시점 이후에 도착한 JOB은 되돌아올 때 Service한다

 

Look and C-Look

Scan이나 C-Scan은 헤드가 디스크 끝에서 끝으로 이동

Look과 C-Look은 헤드가 진행 중이다가 그 방향에 더 이상 기다리는 요청이 없으면 헤드의 이동방향을 즉시 반대로 이동한다.

 

Disk - Sceheduling Algorithm의 결정

  • SCAN, C-Scan 및 그 응용 알고리즘보다는 Look, C-Look등이 일반적으로 디스크  입출력이 많은 시스템에서 더 효율적인 것으로 알려져 있음
  • File의 할당 방법에 따라 디스크 요청이 영향을 받음
  • 디스크 스케줄링 알고리즘은 필요한 경우 다른 알고리즘으로 쉽게 교체할 수 있도록 OS와 별도의 모듈로 작성 되는것이 바람직하다.

Swap - Space Management

  • 디스크를 사용하는 2가지 이유
    1. memory의 volatile한 특성 -> file system
    2. 프로그램 실행을 위한 memory 공간 부족 -> swap space ( swap area)
  • Swap - space
    • Virtual memory system에서는 디스크를 memory의 연장공간으로 사용
    • 파일시스템 내부에 둘 수도 있으나 별도 partition 사용이 일반적
      • 공간 효율성보다는 속도 효율성이 우선
      • 일반 파일보다 훨씬 짧은 시간만 존재하고 자주 참조됨
      • 따라서, block의 크기 및 저장 방식이 일반 파일시스템과 다름

RAID ( Redundant Array of Independent Disk)

여러개의 디스크를 묶어서 사용

사용 목적 :

  • 디스크 처리 속도 향상
    • 여러 디스크에 block의 내용을 분산 저장
    • 병렬적으로 읽어옴 ( interleaving, striping)
  • 신뢰성( reliability)향상
    • 동일 정보를 여러 디스크에 중복 저장
    • 하나의 디스크가 고장 ( failure) 시 다른 디스크에서 읽어옴
    • 단순한 중복 저장이 아니라 일부 디스크에 parity를 저장하여 공간의 효율성을 높일 수 있다.

 

 

 

이 포스팅은 이화여대에서 무료로제공하는 반효경님의 운영체제강의를 수강하며 정리한 내용입니다.

필자가 잘 이해하지 못해서 잘못된 내용이 있을 수 있으므로 주의바라며, 발견되면 알려주시면 감사하겠습니다.

http://www.kocw.net/home/search/kemView.do?kemId=1046323 

 

운영체제

운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각

www.kocw.net

 

이제 운영체제 포스팅 끝~~!

반응형