• Tidak ada hasil yang ditemukan

11장 입출력 관리와 디스크 스케줄링

N/A
N/A
Protected

Academic year: 2023

Membagikan "11장 입출력 관리와 디스크 스케줄링"

Copied!
25
0
0

Teks penuh

(1)

11장 입출력 관리와 11장 입출력 관리와

디스크 스케줄링 디스크 스케줄링

11장의 강의 목표

입출력 장치와 입출력 기능의 구성을 이해한다.

입출력 장치와 관련된 운영체제 설계 이슈들을 살펴본다.

입출력 버퍼링에 대해서 살펴본다. 입출력 버퍼링에 대해서 살펴본다

디스크 스케줄링 기법에 대해서 살펴보고, RAID 시스템

(2)

목 차

11.1 입출력장치

11.2 입출력 기능의 구성 11.3 운영체제 설계 이슈 운영체제 설계 이슈 11.4 입출력 버퍼링

11 5

11 5 디스크 디스크 스케줄링 스케줄링 11.5

11.5 디스크 디스크 스케줄링 스케줄링 11.6 RAID

11.7 디스크 캐시

11.8 UNIX SVR4의 입출력 의 입출력 11.9 Linux의 입출력

11 10 Windows의 입출력

입출력관리와 디스크스케줄링 3

11.10 Windows의 입출력

11.1 입출력 장치

입출력 장치의 범주

인간 가독 장치 – 인간 가독 장치

• 컴퓨터 사용자가 컴퓨터와 대화하는 데 적합한 장치

• 프린터와 터미널(디스플레이, 키보드, 마우스) – 기계 가독 장치

• 전자 장비와의 통신에 적합한 장치 디스크 드라이브

• 디스크 드라이브

• USB 플래시 메모리

• 센서(sensor)

• 제어기

• 작동장치(actuator) 통신 장치

– 통신 장치

• 원격 장치와의 통신에 적합한 장치

• 디지털 라인 드라이버

• 모뎀

(3)

입출력 장치들의 상이점

11.1 입출력 장치

데이터 전송률

각 장치들의 데이터 전송률은 단위가 다를 정도의 차이가 있음 – 각 장치들의 데이터 전송률은 단위가 다를 정도의 차이가 있음

응용

파일 저장용으로 사용되는 디스크는 파일 관리 소프트웨어를 필 – 파일 저장용으로 사용되는 디스크는 파일 관리 소프트웨어를 필

요로 함

– 가상 메모리 페이지의 백업용으로 사용되는 디스크는 특별한 하가상 메 리 페이지의 백업용 사용되는 디 는 특별한 하 드웨어와 소프트웨어를 필요로 함

– 시스템 관리자가 사용하는 터미널은 더 높은 우선순위를 가질 수 있음

수 있음

제어의 복잡도

전송 단위

전송 단위

– 터미널은 데이터를 바이트 단위의 스트림으로 전송 디스크는 더 큰 블록 단위로 데이터 전송

– 디스크는 더 큰 블록 단위로 데이터 전송

입출력관리와 디스크스케줄링 5

입출력 장치들의 상이점 (계속)

11.1 입출력 장치

데이터 표현

– 데이터 인코딩 체계의 다양성데이터 인코딩 체계의 다양성

에러 조건

– 각 장치들은 발생한 에러에 다양하게 대처

(4)

입출력 장치의 데이터 전송 속도

11.1 입출력 장치

입출력관리와 디스크스케줄링 7

11.2 입출력 기능의 구성

입출력 수행 기법

– 프로그램된 입출력

• 입출력을 요청한 프로세스는 완료될 때가지 바쁜 대기 상태 유지

– 인터럽트 구동 입출력

• 입출력 명령 내림

• 처리기는 진행 중인 작업 계속 수행

• 입출력이 완료되면 인터럽트가 걸린다.

직접 메모리 접근 (DMA) – 직접 메모리 접근 (DMA)

• DMA 모듈은 주기억장치와 입출력 장치 사이의 데이터 전송 제어 처리기는 모든 블록이 전송된 후에 인터럽트를 전달 받음

• 처리기는 모든 블록이 전송된 후에 인터럽트를 전달 받음

(5)

입출력 기법들간의 관계

11.2 입출력 기능의 구성

입출력관리와 디스크스케줄링 9

입출력 기능의 발전

11.2 입출력 기능의 구성

1. 처리기가 주변 장치를 직접 제어 2. 제어기 또는 입출력 모듈 필요 2. 제어기 또는 입출력 모듈 필요

– 처리기는 인터럽트를 사용하지 않는 프로그램 입출력 이용 – 처리기는 외부 장치의 상세 동작을 처리할 필요가 없음 3 인터럽 를 사용하는 제어기 는 입출력

3. 인터럽트를 사용하는 제어기 또는 입출력 모듈

– 처리기는 입출력 작업이 끝날 때까지 대기할 필요가 없음

(6)

직접 메모리 접근 (DMA)

11.2 입출력 기능의 구성

처리기는 DMA 모듈에게 입 출력 동작을 위임

출력 동작을 위임

DMA 모듈이 직접 주변 장치 와 주기억장치 사이의 데이터 와 주기억장치 사이의 데이터 전송 담당

데이터 전송이 끝나면 DMA

데이터 전송이 끝나면 DMA 모듈이 처리기에게 인터럽트 신호 보냄

신호 보냄

입출력관리와 디스크스케줄링 11

DMA 구성 방안

11.2 입출력 기능의 구성 단기 스케줄링 평가 기준들

(7)

11.3 운영체제 설계 이슈

설계 목적

– 효율성 (efficiency)

• 대부분의 입출력 장치는 주기억장치에 비해 접근 속도가 매우 느림

=> 입출력의 효율성 향상 필요> 입출력의 효율성 향상 필요

• 다중 프로그래밍을 사용하여 어떤 프로세스가 입출력을 기다리는 동안 다른 프로세스를 실행시킬 수 있음

• 입출력 장치는 처리기의 속도를 따라잡을 수 없음

• 입출력 동작 중인 다른 준비 상태의 프로세스를 주기억장치로 적재 하는 데 스와핑 작업이 사용됨

하는 데 스와핑 작업이 사용됨 – 일반성 (generality)

• 모든 입출력 장치를 일관된 방식으로 처리하는 것이 바람직함

• 입출력 작업의 상세한 동작을 저 수준 루틴 안에 숨김 (모듈 접근법)

입출력관리와 디스크스케줄링 13

입출력 기능의 논리적 구조

11.3 운영체제 설계 이슈

(8)

11.4 입출력 버퍼링

버퍼링의 근거

프로세스는 다음 작업을 수행하기 위해 입출력이 완료될 때까지 – 프로세스는 다음 작업을 수행하기 위해 입출력이 완료될 때까지

기다려야 함

– 입출력 작업이 진행되는 동안 데이터가 저장된 또는 저장될 페 이지는 주기억장치 안에 반드시 존재해야 함

블록형 입출력

– 정보가 고정된 크기의 블록 단위로 저장 됨 – 데이터 전송 또한 한 번에 한 블록씩 이루어짐

디스 나 USB 플래시 메 리에 사용됨 – 디스크나 USB 플래시 메모리에 사용됨

스트림형 입출력

정 를 바이 단위 전 – 정보를 바이트 단위로 전송

– 터미널, 프린터, 통신 포트, 마우스 및 다른 지시 장치 그리고 보 조 기억장치가 아닌 모든 장치에 사용

조 기억장치가 아닌 모든 장치에 사용

입출력관리와 디스크스케줄링 15

단일 버퍼

11.4 입출력 버퍼링

입출력 요청을 처리하기 위해 운영체제는 주기억장치 내 에 하나의 버퍼를 할당함

에 하나의 버퍼를 할당함

블록형 입출력

– 입력 데이터가 이 버퍼로 전송 됨

– 데이터 블록은 필요할 때 사용자 공간으로 이동 – 또 다른 블록이 다시 이 버퍼로 전송 됨

• 미리 읽기(read ahead)라 불림

다음 블록이 읽혀 들여지는 동안 사용자 세스는 이미 읽은 – 다음 블록이 읽혀 들여지는 동안 사용자 프로세스는 이미 읽은

블록을 처리할 수 있음

– 입력이 사용자 메모리가 아닌 시스템 메모리에서 수행되기 때문입력이 사용자 메모리가 아닌 시스템 메모리에서 수행되기 때문 에 스와핑 작업이 가능함

– 운영체제는 사용자 프로세스에게 할당된 시스템 버퍼의 상태를 추적, 관리 해야 함

(9)

단일 버퍼 (계속)

11.4 입출력 버퍼링

스트림형 입력

– 한 번에 한 라인씩 입출력

– 터미널 사용자는 한 번에 한 라인씩 입력하고 한 라인의 끝은 캐 리지 리턴으로 표시

리지 리턴으로 표시

– 출력 역시 한 번에 한 라인씩 행해짐

입출력관리와 디스크스케줄링 17

단일 버퍼 (계속)

11.4 입출력 버퍼링

(10)

이중 버퍼

11.4 입출력 버퍼링

하나의 버퍼 대신에 2 개의 시스템 버퍼 사용

운영체제가 한개의 버퍼를 비우거나 채우는 동안 프로세스는 다른 버퍼로 또는 버퍼로부터 데이터를 전송할 수 있음

입출력관리와 디스크스케줄링 19

환형 버퍼

11.4 입출력 버퍼링

2 개 이상의 버퍼가 사용됨

각 버퍼 하나가 환형 버퍼의 한 단위가 됨

입출력 동작이 프로세스와 보조를 맞추어 진행되어야 할 때 사용 됨

(11)

11.5 디스크 스케줄링

디스크 성능 매개변수

– 디스크로부터 데이터를 읽거나 쓰기 위해서는 원하는 트랙 내의 원하는 섹터로 디스크 헤드를 이동시켜야 함

– 탐색 시간 (Seek time)

• 원하는 트랙으로 헤드를 이동시키는 데 걸리는 시간원하는 트랙으로 헤드를 이동시키는 데 걸리는 시간 – 회전 지연 (Rotational delay or rotational latency)

• 원하는 섹터의 시작위치가 디스크 헤드에 도착하는 데 걸리는 시간원하는 섹터의 시작위치가 디 헤 에 착하는 데 걸리는 시간

입출력관리와 디스크스케줄링 21

디스크 성능 매개변수 (계속)

11.5 디스크 스케줄링

접근 시간 (Access time)

– 탐색시간 + 회전지연 시간

– 읽기/쓰기를 위한 위치로 이동하는 데 걸리는 시간

데이터 전송은 섹터가 헤드 아래에 위치되면 시작됨

(12)

디스크 스케줄링 정책

11.5 디스크 스케줄링

탐색 시간이 성능 차이의 원인

하나의 디스크에 대해 많은 입출력 요청이 발생

무작위로 요청을 처리하면 성능이 나빠질 수 있음

입출력관리와 디스크스케줄링 23

선입선출 (First-in, first-out)

11.5 디스크 스케줄링 디스크 스케줄링 정책

요청은 순차적으로 처리 됨

모든 프로세스에 공평한 정책

프로세스의 개수가 많아지면 무작위(random) 스케줄링에 가

까워 짐

(13)

우선순위 (Priority)

11.5 디스크 스케줄링 디스크 스케줄링 정책

디스크의 성능의 최적화가 아니라 다른 목적을 만족시키 는 정책

는 정책

짧은 배치 작업이 높은 우선순위를 갖는다

대화형 작업에게 짧은 응답시간 제공

입출력관리와 디스크스케줄링 25

후입선출 (Last-in, first-out)

11.5 디스크 스케줄링 디스크 스케줄링 정책

트랜잭션 처리 시스템에 유용

– 장치의 사용권한은 가장 최근에 접근한 사용자에게 할당되어 디 스크 암의 이동이 적어지게 됨

과거의 작업이 선택되지 않는 기아 현상이 발생할 수 있

과거의 작업이 선택되지 않는 기아 현상이 발생할 수 있

(14)

SSTF(Short Seek Time First)

11.5 디스크 스케줄링 디스크 스케줄링 정책

최단 서비스 시간 우선 (Shortest Service Time First) 현재의 위치에서 이 거리가 가장 짧 청을 선택 – 현재의 위치에서 이동거리가 가장 짧은 요청을 선택

입출력관리와 디스크스케줄링 27

SCAN

11.5 디스크 스케줄링 디스크 스케줄링 정책

헤드는 한 방향으로만 움직이면서 요청을 처리 함

헤드가 그 방향의 마지막 트랙에 도착하면 반대 방향으로 움 직이기 시작함

마지막에 도착하면 방향이 바뀜

(15)

C-SCAN (Circular SCAN)

11.5 디스크 스케줄링 디스크 스케줄링 정책

한 방향으로만 스캔하도록 고정

그 방향의 마지막 트랙에 도착하면 헤드는 반대방향 트랙으로 되돌아 오고 그 지점에서부터 다시 요청 처리 함

입출력관리와 디스크스케줄링 29

N-step-SCAN과 FSCAN

11.5 디스크 스케줄링 디스크 스케줄링 정책

N-step-SCAN

– 디스크 요청 큐를 길이 N인 서브 큐로 분할 – 한 번에 하나의 서브 큐를 SCAN 방식으로 처리

– 하나의 큐가 처리되는 동안 새로 들어온 요청은 다른 큐에 저장

(16)

디스크 스케줄링 알고리즘의 비교

11.5 디스크 스케줄링 디스크 스케줄링 정책

입출력관리와 디스크스케줄링 31

디스크 스케줄링 알고리즘 특징

11.5 디스크 스케줄링 디스크 스케줄링 정책

(17)

11.6 RAID

Redundant Array of Independent Disks

운영체제의 입장에서는 하나의 논리적인 드라이브이지 만 실제로는 여러 개의 물리 디스크로 이루어진 저장 장

데이터는 배열 내의 물리 디스크에 분산 됨

중복된 디스크는 패리티 정보를 저장하는 데 이용

입출력관리와 디스크스케줄링 33

RAID Level의 특징

11.6 RAID

(18)

RAID Level

11.6 RAID

입출력관리와 디스크스케줄링 35

RAID Level (계속)

11.6 RAID

(19)

RAID Level (계속)

11.6 RAID

입출력관리와 디스크스케줄링 37

11.7 디스크 캐시

디스크의 섹터를 저장하기 위한 주기억장치 내의 버퍼

디스크 섹터의 복사본을 저장 함

(20)

디스크 캐시 교체 전략

11.7 디스크 캐시

Least Recently Used 교체 전략

– 참조되지 않은 상태로 캐시에 제일 오랫동안 있었던 블록이 교 체 됨

– 캐시는 블록의 스택으로 구성 됨 – 캐시는 블록의 스택으로 구성 됨

– 가장 최근에 참조된 블록이 스택의 top에 있게 됨

– 블록이 참조되거나 캐시로 반입되면 스택의 top에 위치하게 됨 – 블록이 참조되거나 캐시로 반입되면 스택의 top에 위치하게 됨 – 새로운 블록이 반입되면 스택의 bottom 블록이 교체 됨

– 블록이 실제로 주기억장치 내에서 이동되지는 않음y – 블록이 실제로 주기억장치 내에서 이동되지는 않음y – 포인터의 스택 사용

입출력관리와 디스크스케줄링 39

디스크 캐시 교체 전략 (계속)

11.7 디스크 캐시

Least Frequently Used 교체 전략

– 가장 적게 참조된 블록이 교체된다.

– 각 블록마다 참조 카운터 존재

– 카운터는 각 블록이 접근될 때마다 1씩 증가 – 카운터 값이 가장 적은 블록이 교체된다.

– 어떤 블록은 짧은 시간 동안 여러 번 참조될 수 있기 때문에 카 운터 값이 잘못 해석될 수 있음

(21)

디스크 캐시 교체 전략 (계속)

11.7 디스크 캐시

빈도 기반 교체 전략

– LFU의 단점을 보완

입출력관리와 디스크스케줄링 41

디스크 캐시 성능

11.7 디스크 캐시

(22)

디스크 캐시 성능 (계속)

11.7 디스크 캐시

입출력관리와 디스크스케줄링 43

UNIX SVR4 입출력

각 장치별로 특수 파일이 연결

2 종류의 입출력 지원 – 버퍼 사용버퍼 사용

– 버퍼 미사용

(23)

UNIX 버퍼 캐시의 구성

입출력관리와 디스크스케줄링 45

Linux 입출력

엘리베이터 스케줄러 (Elevator scheduler)

– 디스크 입출력 요청을 하나의 큐로 관리 – 큐를 블록 번호에 의해 정렬해 관리

– 각 요청을 만족시키기 위해 한 방향으로만 디스크 접근

(24)

Linux 입출력

마감시간 스케줄러 (Deadline scheduler)

– 3개의 큐 사용

• 요청 큐 (Incoming requests)

• 입력 요청을 FIFO 큐의 끝에 저장

• 출력 요청을 FIFO 큐의 끝에 저장 모든 요청은 마감시간을 가지고 있음 – 모든 요청은 마감시간을 가지고 있음

입출력관리와 디스크스케줄링 47

Linux 입출력

예상 입출력 스케줄러 (Anticipatory I/O scheduler)

– 입력 요청을 완료한 후에 짧은 시간 동간 기다림

• 입력 요청은 연속적으로 주변 블록을 접근할 가능성이 높으므로 다 른 입출력 요청을 처리하기 전에 주변 블록을 접근하는 입력 요청이 른 입출력 요청을 처리하기 전에 주변 블록을 접근하는 입력 요청이 있는 지 확인

(25)

Windows 입출력

기본 입출력 모듈

– 캐시 관리자 (Cache manager) – 파일시스템 관리자 (File system

d i ) drivers)

– 네트워크 드라이버 (Network drivers) 하드웨어 장치 구동기 (H d

– 하드웨어 장치 구동기 (Hardware device drivers)

입출력관리와 디스크스케줄링 49

요 약

입출력 장치의 범주

– 인간 가독 장치, 기계 가독 장치, 통신 장치

입출력 수행 기법 및 발전, 계층 구조

– Programmed I/O, Interrupt-driven I/O, DMA

Referensi

Dokumen terkait

Metode aliran biaya persediaan dengan FIFO mengasumsikan aliran biaya atas persediaan yang keluar diambil dari biaya persediaan yang paling awal masuk ( biaya

유니캐스팅은 각각의 정보 요구자들에게 정보의 개별적 메시지 복사본을 보내는 두 지점간 전송방식이다.. 유니캐스팅은 정보 요구자들이 많을 경우에는 효율적 이지 못한 문제점이