본문 바로가기

Operating System/OS Basic

일괄 처리 시스템

일괄 처리 시스템 ( Bath Processing System) :

 일정 시간동안 수집된 변동 자료를 컴퓨터의 입력 자료로 만들었다가 필요한 시점에서 이 자료들을 일괄 입력하여 실행한 후 그 결과를 일괄 출력시켜 주는 방식


입력 매체 -> 일괄 입력 -> CPU -> 일괄 출력 -> 출력장치 의 흐름을 따른다.

대표적인 예시로는 급여 계산 처리
월급 지급 전날까지 변동자료를 모아두었다가 한꺼번에 월급 대장 , 개인별 지급 명세서 , 기타 보고서 등을 작성하는 형태

일괄 처리 시스템은 작업 준비 시간의 낭비를 막기 위해 다량의 작업을 일괄적으로 모아서 처리하는 것으로 전송 속도가 빠른 자기테이프 ,자기디스크 등의 보조기억장치를 이용하여 CPU의 효율을 높일 수 있으나 , 이러한 문제점들이 있다.

-작업이 실행되는 동안 사용자와 작업간의 대화 부족으로 일정시간 경과 후 결과가 출력 , 작업시작과 작업완료 사이에 반환시간(Turn around TIme)이 길다.

-실행중인 작업과 대화가 불가하기때문에 처리 중간에 발생할 수 있는 모든 경우에 대해 적절히 대처할수 있는 작업 제어카드를 제공해야한다.

-프로그램 오류 수정을 위해서는 당시의 상태를 그대로 출력하여 정적으로 수행해야하며 , 프로그래머는 프로그램의 동작조사를 위해 프로그램을 변경할수 없고 , 긴 반환 시간 떄문에 그 프로그램에 대한 여러 실험이 어렵다.

-일단 하나의 작업이 수행되면 그 작업이 시스템의 모든 자원을 독점하기 때문에 CPU가 종종 유휴 시간(Idle Time)을 갖는다.



이와같은 CPU의 유휴 시간을 줄이기 위해 user들이 자동 작업순서화의 개념을 개발
즉 , CPU의 유휴시간을 극복하기 위해 하나의 작업에서 다음 작업으로 진행하기 위해 제어를 자동적으로 이동하기 위한 절차가 필요하고 이러한 목적을 위해 작업 묶음들을 자동으로 처리할수 있는 상주 모니터(Resident Monitor)라 불리는 초기 운영체제 개발.


상주 모니터는 항상 주기억장치에 위치 , 처음 컴퓨터가 부팅될때 상주모니터가 구동되고 시스템이 제어를 가지고 있다가 새로운 프로그램을 실행하고자 하면 제어를 그 프로그램에 전달
프로그램 실행이 완료되면 제어가 다시 상주 모니터로 복귀하여 필요의 경우 다음 프로그램을 주기억장치에 적재하여 제어를 넘김으로써 작업간의 전이를 조작자없이 자동적으로 수행



상주모니터에 의한 일괄처리 시스템의 process

1) 프로그래머는 상주 모니터에게 전달된 정보를 작업 제어 카드(JCC)에 의해 전달

2) 상주 모니터는 작업 제어 카드에 의한 지시대로 자동 작업순서를 제공
3) JCC가 하나의 프로그램이 실행될 것이라고 나타내면 상주 모니터는 프로그램을 기억장치에 적재하고 제어를 프로그램에 넘김

4) 프로그램 수행이 완료되면 제어는 상주 모니터로 복귀
5) 상주 모니터는 다음 JCC를 읽고 적합한 프로그램을 적재하는일 등을 수행
6) 모든 JCC가 작업으로 번역될 때 까지 반복 

이렇게 상주 모니터에 의한 일괄 처리 시스템은 자동 작업 순서화로 전환됨으로써 조작 준비시간 , 작업순서 결정의 필요성을 제거하여 시스템 성능을 향상시킴.
그러나 CPU의 유휴시간은 여전히 문제점.


이와 같은 문제를 해결하는 방법으로 오프라인 연산 , 버퍼링 , 스풀링의 개념 도입

오프라인 연산 - 처리 속도가 느린 것들을 속도가 빠른 자기테이프로 대체


버퍼링 - CPU가 입력된 작업을 처리하는 동안 입력장치는 다음에 입출력처리되야할 내용을 미리 읽은후 입출력버퍼에 저장하여 둔다.
이는 입출력동안에 CPU의 유휴시간을 최소화 하기 위한 방법 

입력장치 -> 입력버퍼 -> CPU -> 출력버퍼 -> 출력장치


스풀링 - 디스크를 매우 큰 버퍼처럼 사용하여 입출력 장치의 작업 효율을 크게 향상시키는 기법.

입력장치 -> 보조기억장치 -> CPU -> 보조기억장치 -> 출력장치


'Operating System > OS Basic' 카테고리의 다른 글

운영체제 개요 보충  (0) 2017.11.16
시분할 처리 시스템 , 분산 처리 시스템  (0) 2017.10.31
다중 처리 시스템  (0) 2017.10.31
다중 프로그래밍 시스템  (0) 2017.10.31
운영체제의 개념  (0) 2017.10.30