<운영체제의 종류>
초기 운영체제 시스템
- 초기의 컴퓨터 시스템은 하드웨어만 존재하고 운영체제는 존재하지 않음
- 초기의 작업 환경은 수작업에 의한 대화적인 성격을 띠고 있어 조작원(operator)이 곧 프로그래머였음
- 작업 준비 시간(setup time)이 많이 소요됨
- CPU의 유휴 상태(idle state)로 인한 비효율성
<특징 및 장단점>
- 프로그래머가 컴퓨터 하드웨어를 직접 조작
- 한 번에 하나의 작업만 수행되므로 구현이 단순
- 장치 구동기(device driver) 사용
- 작업은 독립된 여러 단계로 나누어져 실행되므로 준비 시간이 많이 걸림
- 비효율적인 CPU의 사용 및 작업 시간 낭비를 초래
상주 모니터
<CPU의 사용율을 높이기 위한 2가지 해결 방안>
- 전문 조작원을 고용함으로써 CPU의 유휴 시간을 줄임
- 유사한 작업을 하나로 묶어서 그룹별로 수행시킴으로써 작업준비 시간을 줄임
<상주 모니터(resident monitor)>
- CPU의 유휴 시간을 감소시키기 위한 방안
- 항상 주기억장치에 상주하고 있음
<상주 모니터에 의한 일괄처리 시스템의 작업 과정>
- 프로그래머는 상주 모니터에게 전달된 작업 제어 카드(job control card)에 의 해 전달
- 상주 모니터는 작업 제어 카드가 지시하는 대로 자동 작업 순서화를 제공
- 작업 제어 카드가 하나의 프로그램이 실행될 것이라는 것을 나타내면 상주 모 니터는 프로그램을 기억장치에 적재하고 제어를 프로그램으로 넘김
- 프로그램이 수행을 완료하면 제어는 상주 모니터로 복귀
- 상주 모니터는 다음 작업 제어 카드를 읽고 적합한 프로그램을 적재하는 일 등을 수행
- 모든 작업 제어 카드가 작업으로 번역될 때까지 이러한 일은 반복되며, 상주 모니터는 자동적으로 다음 작업을 계속 수행
일괄처리 시스템
<개념>
- 초기 시스템의 작업 준비 시간을 줄이기 위한 방안
- 요구 사항이 비슷한 여러 개의 작업들을 모아서 한꺼번에 처리하는 것
<특징 및 장단점>
- 컴퓨터 시스템을 효율적으로 사용
- 초기에 하나의 작업을 실행하는 시스템에서는 시스템 성능이 크게 향상
- 작업 시간이 길어 반환 시간(turnaround time)이 늦음
- 적절한 작업 제어 카드를 제공해야 함
- 프로그램의 오류 수정이 작업이 어려움
- CPU가 유휴 상태가 되기 쉬움
오프라인 시스템
<개념>
- 입력
CPU가 직접 카드를 읽기 보다는 카드에 있는 내용을 먼저 자기 테이프 에 복사하여 자기 테이프의 내용이 모두 차게 되면 자기 테이프를 컴퓨 터로 옮겨 프로그램이 자기 테이프로부터 내용을 읽어 오도록 함
- 출력
내용을 바로 출력하는 것이 아니라 자기 테이프 상에 기록한 후 나중에 자기 테이프의 내용을 출력
<특징 및 장단점>
- 주 컴퓨터가 카드 판독기와 라인 프린터의 속도에 더 이상 영향을 받지 않고, 훨씬 빠른 자 이프의 속도에 영향을 받음
- 오프라인 시스템에서는 응용 프로그램이 직접 입출력 동작에서 오프라인 입출 력 동작으로 환하기 위해 어떤 수정도 필요치 않음
- 어떤 하나의 프로그램이 다른 입출력 장치와 함께 실행 될 수 있는 장치 독립성 이 보장
- 하나의 CPU에 대해 여러 대의 카드 판독기와 라인 프린터 및 자기 테이프를 사용할 수 있음
온라인 시스템
<개념>
- CPU와 주변장치가 온라인으로 연결되어 작동하고, 사용자와 컴퓨터 시스템간에 온라인 통신을 제공하여 사용자가 운영체제나 프로그램에 직접 명령을 주고 즉시 응답을 받을 수 있는 시스템
<특징 및 장단점>
- 사용자는 프로그램을 쉽게 사용할 수 있음
- 실행 결과를 곧바로 받아 볼 수 있는 응답 시간이 짧음
- 실행 결과가 즉시 출력되기 때문에 프로그래머에게 프로그램 검사와 개발에 당한 유용성을 제공
- CPU는 프로그래머나 조작원에 의해 취해질 동작을 기다리는데 상당한 유휴 시간이 생김
시분할 시스템
<개념>
- CPU 시간을 각 사용자에게 균등하게 분할하여 사용하도록 하는 시스템
- 모든 컴퓨터 사용자들에게 동일한 서비스를 제공해 주는 것이 목표
- 동시에 많은 사용자들이 컴퓨터를 공유
<특징 및 장단점>
- 여러 사용자가 공동으로 CPU를 사용
- 여러 개의 프로그램을 주기억장치에 적재
- 한 번에 주기억장치 내에 하나의 사용자만을 두는 교체(swapping) 기법 사용
- 자원 제어에 대한 대부분의 책임을 운영체제에게 전가 시킴으로써 운영체제가 복잡
- 운영체제는 기억장치에 복수 개의 프로그램을 동시에 유지해야 하는 문제가 발생
- 기억장치 관리 기법, 디스크 스케쥴링 정책 등이 필요
- 여러 사용자에 대한 공정한 자원 공유를 위해 CPU 스케쥴링 정책 필요
- 실행 중인 프로세스간의 통신 및 입출력 장치 사용에 대한 제어 및 관리 능력