[운영체제] 스풀링 & 버퍼링
[운영체제] 스풀링 & 버퍼링
공통점 : 버퍼링과 스풀링 모두 CPU의 처리속도와 입출력 장치의 속도 차이를 보완하기 위한 방법
스풀링
- 스풀링은 디스크의 일부를 스풀공간이라 부르는 매우 큰 버퍼처럼 사용하는 방식으로 CPU와 입출력장치 사이의 속도 차이를 해소하기 위해 사용
- 디스크에 수록된 파일을 미리 입력 장치로부터 읽어들이고, 출력장치가 그것을 받을 수 있을 때까지 일시적으로 저장함으로써, 한 작업의 출력을 프린터를 통해서 인쇄하는 동안에 다른 작업의 입력을 읽어들일 수 있으며, 이 시간 동안 또 다른 작업이 수행 될 수 있다.
- 다중작업
- 즉, 많은 작업의 계산과 입출력을 중복할 수 있다.
- 작업 풀(Job Pool)이라는 중요한 데이터 구조를 제공하는데, 이는 디스크에 읽혀져 실행을 위해 대기하고 있는 여러 개의 작업을 수행할 수 있도록 준비해 주고, 디스크에 저장된 작업들은 프로세서 이용률을 향상시키기 위해 OS가 다음에 수행할 작업을 선택할 수 있도록 해준다.
- 스풀 : 일정한 기억장소로 하드디스크의 공간을 스풀이라고 함
버퍼링
- 빠른 CPU와 상대적으로 속도가 느린 입출력장치 사이에 효율을 높이기 위해서 사용
- CPU와 입출력 장치를 항상 활용하고자 함
- 주기억장치 내에 버퍼를 둠으로써 입력시에는 CPU가 버퍼의 내용을 가져다 쓰고 입출력장치가 버퍼에 내용을 기록
- 단일작업
- 출력시에는 CPU가 연산된 결과를 버퍼에 저장하고, 출력장치는 버퍼의 내용을 꺼내서 출력
- 한 레코드가 읽혀 CPU가 그것에 대해 연산을 시작함과 동시에 입출력 장치는 곧 다음에 필요한 레코드를 미리 읽어서 주기억장치에 저장함으로써 CPU가 필요로 하는 레코드를 기다림 없이 전달해 줄 수 있음.
- 주기억 장치의 일정 부분을 버퍼로 사용
- 버퍼 : 파일로부터 데이터 전송을 하여 저장하기 위한 주기억장치 공간으로 비교적 빠른 CPU와 느린 보조기억장치 사이의 완충 역할
추가 용어 정리
- 가상기억장치(Virtual Memory)
- 보조기억장치인 하드디스크 일부를 주기억장치처럼 사용하는 기술
- 단점은 SSD가 아닌 HDD를 사용하기 때문에 속도가 느려질 수 있다.
- 가상 디스크(Virtual Disk)
- 주기억장치 일부를 보조기억자이인 하드디스크처럼 사용하는 기술(요즘 잘 안씀)
- 인터리빙(Interleaving)
- 중앙처리장치와 기억장치간의 실질적인 대역폭을 늘이기 위한 방법
- 효율적인 주기억장치의 접근을 위하여 주기억장치를 독립된 기억장치 모듈로 나누어 동시에 주기억장치 모듈에 접근할 수 있도록 하는 방법이다.
- 메모리 인터리빙은 단위시간에 여러 메모리에 동시 접근이 가능하도록 하여 메모리의 대역폭을 높이기(속도가 빠르다) 위한 구조이다.
- 즉, 인터리빙은 주기억장치의 액세스 속도를 빠르게 한다.
- 사이클 스틸링(Cycle Stealing)
- 중앙처리장치(CPU)가 입출력 전용 프로세서인 채널(Channel)에게 주기억장치의 접근을 양보하여 입출력의 효율을 높이기 위한 방법
- DMA 모듈이 버스 사용권을 위해 CPU 동작을 일시 중단
- 상태 정보를 저장하지 않음
- 버스 사이클 동안 잠시 CPU를 제어
- 주기억 장치 상이클의 특정한 주기만 정지
출처
댓글
댓글 쓰기