제 1세대 운영체제 (1945~1958)
- 목적: 작업 전환 시간 감소
- 작업 전환 시간 줄임
- CPU 쉬는시간(idle time) 최소화
- CPU 활용도 최대화
- 해결 방안: 일괄 처리 시스템 도입(Batch processing)
- 유사 작업 일괄처리로 효율 증가
자동적 작업 순서화 (Automatic Job Sequencing)
- 작업의 순차 처리를 자동화한다.
- 작업의 준비와 철거의 인적 개입 최소화
- 상주 모니터(Resident monitor)
- 하나의 작업에서 다른 작업으로 실행할 수 있도록 자동적으로 제어해주는 프로그램
- 작업의 처리 순서를 자동화하여 프로그램 간 전환을 가능하게 한다.
- 작업 제어 카드(Job Control Cards)
- 현재의 작업에 대한 내용(프로그램 종류, 작성자 등)을 간략하게 설명해주는 부분이다.
- 실행할 프로그램과 데이터에 대한 짧은 설명을 제공한다.
- 정리
- 다음에 처리할 작업들의 순서를 자동화함으로써, 작업 준비 시간 등을 줄일 수 있다.
- 인간의 설정과 작업 순서 결정 필요성을 제거한다.
Off-line Processing
- CPU Idle Time 문제
- 이유:
- I/O 작업들의 기계적 속도가 느림.
- I/O 장치에서 데이터 전달에 시간이 오래 걸림.
- 이유:
- 입출력장치 해결책
- 방법:
- 순간적인 I/O 작업(테이프 리더 등)을 자석식 I/O 장치(마그네틱 테이프 유닛)로 변경함.
- 방법:
- 장점
- 개선:
- 자석식 I/O 장치에 메모리 CPU가 놀고 있는 시간을 줄일 수 있음.
- 개선:
스풀링(SPOOLing)
- 개념: Simultaneous Peripheral Operation On-Line
- 버퍼링(Buffering)의 개념
- 하드디스크의 출현
- Magnetic-tape → Hard Disk
- 순차 접근(Sequential-access) 대비 랜덤 접근(Random access)
- 하드디스크의 출현
- 스풀링의 효과
- 하나의 작업이 CPU를 사용하는 동안 다른 작업의 I/O를 수행하며 메모리에서 처리
- 한 작업의 계산과 다른 작업의 I/O가 중첩될 수 있음
작업 풀(Job Pool)
- 작업 풀의 정의
- 실행되어질 수 있는 여러 개의 작업들이 하드디스크에 준비된다.
- 실행 준비가 된 여러 잡들,
- 아직 메모리에 적제되지 않고,
- 하드디스크에 적재되어 선택을 기다림.
- 실행되어질 수 있는 여러 개의 작업들이 하드디스크에 준비된다.
- 작업 스케줄링(job scheduling)
- 작업 풀에 존재하는 작업들을 어떤 순서로 메모리에 적재할 것인가를 결정하는 프로그램.