제 2 장 운영 체제 시스템 Section 1 초기 운영 체제 Section 2 운영 체제의 종류
상주 모니터 개념 Section 1 초기 운영체제 시스템 ● 한번에 하나의 작업만 수행. ● 작업은 여러 독립된 여러 단계로 나누어져 실행되므로 준비시간 (setup time)이 많이 걸림. ● 장치 구동기 사용 : 해당 장치의 작동을 위해 버퍼, 플래그, 제어비트, 상태 비트 들의 사용을 정의한 루틴. ● 프로그래머는 상주 모니터(resident monitor)에게 전달될 정보를 작업 제어 카드에 의해 전달. ● 상주 모니터는 작업 제어 카드(job control card)에 의하여 지시 하는 대로 자동 작업 순서를 제공. ● 제어 카드가 하나의 프로그램이 실행될 것이라는 것을 나타내면 상주 모니터는 프로그램을 기억장치에 적재하고 제어를 프로그램으로 넘김.
상주 모니터 Section 1 초기 운영체제 시스템 ● 프로그램이 수행을 완료하면 제어는 모니터로 복귀. ● 모니터는 다음 제어 카드를 읽고 적합한 프로그램을 적재 하는 일 등을 수행. ● 모든 제어 카드가 작업으로 번역될 때까지 이러한 일은 반복되며 모니터는 자동적으 로 다음 작업 을 계속 그림 2-1 상주 모니터
1. 일괄처리 시스템(batch processing system) Section 2 운영체제 시스템의 발전 1. 일괄처리 시스템(batch processing system) 개념: 온라인처럼 자료나 정보 단위들이 발생할 때 마다 즉각적으로 처리하는 것이 아니라, 입력되는 자료를 일정기간 또는, 일정량을 모아 두었다가 한꺼번에 처리하는 방식. ● 미리 정의된 작업 제어 명세(job control specification)에 따라 일괄처리 ● 입력 스풀러(input spooler)는 작업들을 일괄 스풀에 모음. ● 컴퓨터가 작업을 마치면 각 작업을 출력 스풀로 보냄 ● 출력 스풀러(output spooler)에 의해서 인쇄되어 최종사용자에게 보냄 일괄처리의 장단점 ● 컴퓨터 시스템을 보다 효율적으로 사용. ● 작업 시간이 길어 반환 시간(turn around time)이 늦음. ● 적절한 작업제어 명세를 제공해야 함. ● 프로그램의 오류수정 작업이 어려움. ● CPU가 유휴 상태(idle state)되기 쉬움
1. 일괄처리 시스템(batch processing system) Section 2 운영체제 시스템의 발전 1. 일괄처리 시스템(batch processing system) 그림 2-2 일괄처리 시스템
2. 오프라인 시스템(offline system) Section 2 운영체제 시스템의 발전 2. 오프라인 시스템(offline system) 개념 ● 느린 카드 판독기와 라인 프린터를 자기 테이프나 자기 디스크로 대체하는 것. ● 입력의 경우에는 CPU가 직접 카드를 읽기 보다는 카드에 있는 내용을 먼저 테이프(디스크)에 복사하여 테이프 (디스크) 가 차게 되면, 테이프 (디스크)를 컴퓨터로 옮겨 프로그램이 테이프 (디스크)로부터 내용을 읽고 (key-to-tape, 또는 key-to-disk), ● 테이프 (디스크) 상에 기록한 후 나중에 테이프의 내용을 출력함. ● 카드 판독기와 라인 프린터는 주 컴퓨터에 의해 운영되는 것이 아니라 오프 라인(offline)으로 수행 ● 온라인 시스템 : CPU와 주변장치가 1:1로 직접 연결됨 ● 오프라인 시스템 : CPU와 주변장치가 1:1로 직접 연결되지 않고, 실행 시 주변장치(테이프와 디스크)와 연결
2. 오프라인 시스템(offline system) Section 2 운영체제 시스템의 발전 2. 오프라인 시스템(offline system) 그림 2-3 오프라인과 온라인의 개념
2. 오프라인 시스템(offline system) Section 2 운영체제 시스템의 발전 2. 오프라인 시스템(offline system) 오프라인 동작의 주요 장점 ● 주 컴퓨터가 카드 판독기와 라인 프린터의 속도에 더 이상 영향을 받지 않고, 훨씬 빠른 자기 테이프의 속도에 영향을 받음. ● 오프 라인 시스템에서는 응용 프로그램이 직접 입출력 동작에서 오프라인 입출력 동작으로 전환하기 위해 어떠한 수정도 불필요. ● 하나의 프로그램이 다른 입출력 장치와 함께 실행될 수 있는 장치 독립성이 보장. ● CPU에 대해 여러 대의 카드 판독기와 프린터 및 자기 테이프를 사용가능.
온라인 시스템(online system) Section 2 운영체제 시스템의 발전 3. 대화식(interactive) 또는 온라인 시스템(online system) 개념: CPU와 주변 장치가 온라인으로 연결되어 작동하고, 사용자와 컴퓨터 시스템간에 온라인 통신을 제공하여 사용자가 운영 체제나 프로그램에 직접 명령을 주고 즉시 응답을 받을 수 있는 시스템. 그림 2-4(a) 온라인 혹은 대화식 시스템
온라인 시스템(online system) Section 2 운영체제 시스템의 발전 3. 대화식(interactive) 또는 온라인 시스템(online system) 온라인 시스템의 장단점 ● 사용자는 프로그램을 쉽게 실험할 수 있음. ● 결과를 곧바로 받아 볼 수 있어 응답 시간이 짧음. ● 바로 결과가 출력되기 때문에 프로그래머에게 프로그램검사와 개발에 상당한 유용성을 제공. ● CPU는 프로그래머나 오퍼레이터에 의해 취해 질 동작을 기다리는데 상당한 유휴 시간이 생김.
(TSS: time sharing system) Section 2 운영체제 시스템의 발전 4. 시분할 시스템 (TSS: time sharing system) 개념: 다중 프로그래밍의 논리적 확장으로 변형된 형태로서, 각 사용자들에게 CPU에 대한 일정 시간(time slice)을 할당하여 주어진 시간 동안 직접 컴퓨터와 대화 형식으로 프로그램을 수행할 수 있도록 개발된 시스템. 그림 2-4(b) 시분할 시스템
(TSS: time sharing system) Section 2 운영체제 시스템의 발전 4. 시분할 시스템 (TSS: time sharing system) 시분할 운영 체제의 장단점 ● 여러 사람이 공동으로 CPU를 사용. ● 자원 제어에 대한 대부분의 책임을 운영 체제에 전가. ● 운영체제는 기억 장치에 복수개의 프로그램을 동시에 유지하는 문제나 프로그램을 위한 주기억 장치나 보조기억 장치를 관리하고 제어하는 책임. ● 여러 사용자에 대한 공정한 자원 공유를 보장하기 위하여 어떤 사용자에게 CPU를 사용하게 할 것인지에 대한 CPU 할당 시간을 정의하여 스케줄링. ● 실행중인 프로세스 간 통신 및 I/O 장치의 사용에 대한 제어 및 관리능력 필요. ● 여러 개의 프로그램을 주기억 장치에 적재 (한 번에 주기억 장치 내에 하나의 사용자만을 두는 교체기법인 스와핑을 사용).
(multiprogramming system) Section 2 운영체제 시스템의 발전 5. 다중 프로그래밍 시스템 (multiprogramming system) 개념: ● N개의 추상 머신(abstract machine) Pi 에 실행할 사용자 프로그램 존재 ● 주 기억 장치를 N개의 블록으로 나누고 각 Pi에 한 블록을 할당 ● Pi에 대한 프로그램이 할당된 주 기억 장치 블록에 적재 ● 공간 다중화(space-multiplexed) 공유를 이용하여 실 기억장소를 공유 ● 시간 다중화(time-multiplexed) 공유 를 이용하여 물리 프로세서(physical processor)를 공유 그림 2-5(a) 다중 프로그래밍 시스템
(multiprogramming system) Section 2 운영체제 시스템의 발전 5. 다중 프로그래밍 시스템 (multiprogramming system) ● 한 사용자 프로그램이 CPU를 사용하다가 입출력 장치 등 CPU를 필요로 하지 않는 동안, 다른 사용자 프로그램이 그 시간에 CPU를 사용하여 CPU의 효율을 극대화하는 방법. 프로그램 1 프로그램 2 프로그램 3 그림 2-5(b) 다중 프로그래밍 시스템
(multiprogramming system) Section 2 운영체제 시스템의 발전 5. 다중 프로그래밍 시스템 (multiprogramming system) 다중 프로그래밍의 장단점 ● CPU 1개(single CPU), 1개 주 기억 장소에 여러 개 프로그램(multi-job)이 존재하여 다중작업을 구현. ● 일괄 처리의 반환 시간(turn around time)이 늦어 CPU의 유휴 시간(idle time)이 길어지므로, 여러 개의 프로그램을 동시에 기억장치에 적재시켜 유휴 시간을 줄임. ● 여러 개의 작업을 준비상태에 두고 관리하며, 어느 한 작업 을 실행할 작업으로 장치를 선정하기 위해 기억장치 관리기 법이나 CPU 스케줄링 기법 필요. ● 스케줄링, 교착상태, 병행제어 및 보호 문제 등이 신중히 고려
(multiprocessor system) Section 2 운영체제 시스템의 발전 6. 다중처리 시스템 (multiprocessor system) 개념: CPU가 여러 개(multiprocessor), 기억장소에 여러 개 프로그램(multi-job)이 존재하여 다중작업을 구현. 즉, 다중처리 시스템은 여러 개의 프로세서가 공동 기억 장치를 통하여 메모리를 공유하며, 다중 처리기의 단일 운영체제에의 제어가 가능한 시스템. 다중처리 시스템 목적: 신뢰성 향상과 컴퓨터의 처리율 증대. 다중처리의 장단점 ● CPU를 여러 개 사용하여 작업 속도와 신뢰성을 높일 수 있음. ● 운영 체제는 여러 CPU간의 기억장치 공유를 어떻게 지원할 것이며, 여러 CPU의 사용을 어떻게 스케줄링 할 것인가를 결정. ● 신뢰성과 병행계산, 최적의 연결기법, 같은 자원을 요구하는 CPU들간의 경쟁을 제어하는 문제들을 고려.
(multiprocessor system) Section 2 운영체제 시스템의 발전 6. 다중처리 시스템 (multiprocessor system) 그림 2-6 다중처리 시스템
7. 실 시간 시스템(real time system) Section 2 운영체제 시스템의 발전 7. 실 시간 시스템(real time system) 개념: 단말기나 제어 대상으로부터 처리를 요구하는 자료가 발생할 때마다 즉시 처리하여 그 결과를 구동기(actuator)를 통해 출력하거나, 요구에 대하여 응답하는 방식. 그림2-7 실시간 시스템
7. 실 시간 시스템(real time system) Section 2 운영체제 시스템의 발전 7. 실 시간 시스템(real time system) 실 시간 시스템의 장단점 ● 자료가 발생한 지점에서 단말기를 통하여 직접 입출력 되기 때문에 사용자의 노력이 절감 ● 처리 시간이 단축 ● 처리 비용이 절감 ● 자료가 무작위하게 도착하므로 입출력 자료의 일시저장 및 대기가 필요 ● 특정 상태의 재현이 불가능. ● 시스템에 장애가 발생할 때, 단순한 재 실행이 불가능
(distributed processing system) Section 2 운영체제 시스템의 발전 8. 분산처리 시스템 (distributed processing system) 개념: 하나의 대형 컴퓨터에서 수행하던 기능을 지역적으로 분산된 여러 개의 미니 컴퓨터에 분담시킨 후, 통신망을 통하여 상호간에 교신, 처리하는 방식. 이러한 자료 처리 시스템들의 상호연결은 컴퓨터 네트워크에 의해 이루어짐. 분산처리 시스템 목적 ● 자원공유 ● 계산속도 증가 ● 신뢰성 향상 ● 통신
(distributed processing system) Section 2 운영체제 시스템의 발전 8. 분산처리 시스템 (distributed processing system) 그림2-8 분산처리 시스템
임베디드 시스템(Embedded system) Section 3 임베디드 시스템과 운영체제 임베디드 시스템(Embedded system) 일반적인 컴퓨터가 아닌 각종 전자제품과 정보기기 등에 설치되어 있는 마이크로프로세서에 미리 정해진 특정한 기능을 수행하는 소프트웨어를 내장시킨 것 임베디드 소프트웨어의 특징 ● 실시간 처리 지원 ● 경량화, 저전력 지원, 자원의 효율적 관리 등의 측면에서 하드웨어에 최적화되는 기술을 지원 ● 특정 시스템의 실행을 목적으로 개발되는 소프트웨어 ● 네트워크 및 멀티미디어 처리기능 지원 ● 디지털 TV, PDA 및 스마트 폰 등과 같은 임베디드 시스템을 지원
RealTime 운영체제, Windows CE, 팜 운영체제 등 Section 3 임베디드 시스템과 운영체제 임베디드 시스템에 사용되는 내장형 운영체제: RealTime 운영체제, Windows CE, 팜 운영체제 등 그림2-10 Win CE 구조
VxWorks, VRTX/Spectra, Lynx 운영 체제, 전세계에서 시장 점유율이 가장 높은 제품은 VxWorks Section 3 임베디드 시스템과 운영체제 RTOS: 무인 자동화시스템, 교통관제시스템, 통신 장비, 자동차 등 주로 산업기기에 채택되는 임베디드 운영체제 RTOS 종류: VxWorks, VRTX/Spectra, Lynx 운영 체제, OS-9/OS-9000, VMEexec, pSOS+, QNX 등 전세계에서 시장 점유율이 가장 높은 제품은 VxWorks 그림2-11 VxWorks 구조