나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2024-08-27 23:41:08

스풀링

1. 개요2. 프린터 스풀링3. 관련 문서

1. 개요

S.P.O.O.L(Simultaneous Peripheral Operation On-Line). 버퍼링의 일종. 주변 장치와 중앙 처리 장치의 처리 속도 차이에 의한 대기 시간을 줄이기 위해 사용하는 기법이다. 대개 스풀링이라고 하면 프린터 스풀링을 가리키기 때문에 MS-DOS 시절부터 프린터를 자주 사용하는 사람들은 익숙할 용어다.

2. 프린터 스풀링

각 애플리케이션이 운영 체제에 인쇄 작업을 요청하고 인쇄 데이터를 보내면, 운영 체제는 인쇄 데이터를 버퍼에 저장하고 있다가 프린터의 인쇄 진행 상황 또는 프린터 메모리 가용량 등에 따라 프린터에 데이터와 제어 코드 등을 전송하여 인쇄 작업을 진행하는 것.

보다 쉽게 이해해 보자. 만약 컴퓨터 CPU가 프린터 인쇄 작업을 직접 제어한다면 프린터의 인쇄가 끝날 때까지 다른 작업을 할 수가 없다(실제로 DOS 시절엔 그랬다.) 예컨대 사용자가 인쇄할 정보를 CPU가 1초 동안 처리하면, 프린터가 이 정보를 받아 처리하고 인쇄하는 데 10초가 걸린다고 해 보자. CPU는 프린터가 인쇄를 끝내고 그다음 정보를 요청할 때까지 마냥 기다려야 한다. 따라서 CPU가 프린터 인쇄 작업을 직접 제어하는 방식일 경우, 프린터 작업 때문에 CPU를 쓰지 못하는 시간은 대부분 '프린터를 기다려주는 시간'이 된다.

이 낮은 효율을 극복하기 위해 고안된 방법이 스풀링이다. 하드 디스크 한편에 공간을 확보하여 프린터로 전송될 데이터를 잠시 저장해 두면, 그동안 CPU는 다른 일을 할 수 있게 된다.

프린터 스풀러가 기본으로 포함된 멀티태스킹 운영 체제를 사용하는 사람들에게는 인쇄하는 동안 다른 작업을 하거나, 한 인쇄가 다 끝나기도 전에 다른 문서의 인쇄를 걸어두는 것이 당연하겠지만, 과거 DOS 같은 단일 태스킹 운영 체제에서는 한번 인쇄를 걸어두면 모든 출력이 끝날 때까지 컴퓨터로 아무런 작업을 할 수 없었다. 게다가 그때는 프린터도 도트 프린터거나 분당 너댓 장 뽑을까 말까 하는 잉크젯 시절이라서... 도스의 프린터 관련 오류 구문 중에는 스풀링 문제로 인해 발생하는 구문도 존재했다.

3. 관련 문서