입출력 스케줄링
보이기
(입출력 스케줄러에서 넘어옴)
이 문서의 내용은 출처가 분명하지 않습니다. (2010년 9월) |
입출력 스케줄링(I/O scheduling)은 운영 체제가 다수의 프로세스들로부터 디스크를 읽거나 쓰려는 요청을 받았을 때, 우선순위를 정해주고 이를 관리하는 것을 말한다.
원리
[편집]디스크 제어기 내에는 디스크 작업에 대한 요청을 저장해 두는 큐가 있다. 이 큐에 있는 작업의 순서를 적절히 조절함으로써 스케줄링이 가능하다.
목표
[편집]입출력 스케줄러에는 입출력 스케줄러의 목표에 따라 수많은 목적이 있다. 일반적인 목표로는 다음과 같다:
- 하드 디스크 검색으로 낭비되는 시간을 최소화한다.
- 특정한 프로세스의 입출력 요청의 우선 순위를 정한다.
- 디스크 대역을 실행 중인 각 프로세스에 할당한다.
- 정해진 기한까지 요청을 보증한다.
스케줄링의 종류
[편집]- FCFS 스케줄링(First Come First Served) : 요청이 들어온 순서대로 처리한다.
- SSTF 스케줄링(Shortest Seek Time First) : 현재 디스크의 헤드 위치에서 가장 가까운 실린더에 대한 요청을 우선적으로 처리한다.
- SCAN 스케줄링 : 디스크의 한 쪽 끝에서 반대쪽 끝으로 이동하면서 처리하며, 마지막 실린더에 도착하면 반대 방향으로 스캔을 진행한다.
- C-SCAN 스케줄링 : 디스크의 한 쪽 끝에서 반대쪽 끝으로 이동하면서 처리하며, 마지막 실린더에 도착하면 시작점으로 되돌아간 후 다시 스캔을 진행한다.
- C-LOOK 스케줄링 : C-SCAN에서는 양 끝까지 이동하던 것을 요청된 실린더 중 마지막까지만 이동하는 방식으로 처리한다.
- N단계 SCAN 스케줄링 : SCAN 스케줄링과 같이 진행 방향 상의 요청을 서비스하지만 진행 중에 새로이 추가된 요청은 서비스하지 않고 다음 진행 시에 서비스하는 기법이다.
- 에센바흐 기법(Eschenbach scheme) : 탐색 시간 최적화뿐만 아니라 회전 지연 시간도 최적화하고자 하는 최초의 기법이다.(항공 예약시스템을 위해 개발됨)
- SLTF 스케줄링(Shortest Latency Time First) : 회전 지연 시간 최적화를 위한 대표적 알고리즘으로 디스크 헤드가 특정 실린더에 도착하면 그 실린더 내의 여러 트랙에 대한 요청들을 검사한 후 회전 지연 시간이 가장 짧은 요청부터 서비스하는 기법이다.
같이 보기
[편집]각주
[편집]- ↑ Werner Fischer; Georg Schönberger (2015년 6월 1일). “Linux Storage Stack Diagram”. Thomas-Krenn AG. 2015년 6월 8일에 확인함.
이 글은 컴퓨터 과학에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. | |
이 글은 운영체제에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |