[OS 1일차] 다양한 운영체제 ( feat. Batch System, Multiprogrammed system, Multiprocessing system, Real time system, Distributed processing system )
25 Nov 2018
Reading time ~2 minutes
Operating System이 주로 하는 일
- Task management (스케줄링)
- Memory management
- Resource control
- Intertask communications and synchronization
Batch System
컴퓨터 프로그램 흐름에 따라 순차적으로 자료를 처리하는 방식 system의 실행시간을 최대한 정확히 예측하는 장점을 가지고 있다. 하나의 작업이 끝나기 전까지는 다른 작업을 할 수 없다. 시간과 비용을 절감과 업무의 효율성을 향상도 높다.
주로 사용되는 곳
- 주기적으로 한꺼번에 처리할 필요가 있고, 그룹별로 분류시킬 수 있으며, 순차 접근방법을 사용할 수 있는 업무를 하는 곳에서 사용된다.
- 즉, 유사 자료를 일정 형식으로 분류 후 일괄 처리가 가능한 곳에 적합하다.
초기의 일괄처리 방식은 사용자와 상호작용하는 것이 불가능했지만,
운영 체제가 발전함에 따라 프로그램 입출력을 통해 상호작용하는 것이 가능해졌다.
멀티 프로그래밍 (Multiprogramming system = 다중프로그래밍)
CPU의 효율을 극대화하려는 방법으로 여러 개의 사용자 프로그램이 마치 동시에 실행되는 것처럼 처리하는 방식
- CPU는 최대한 쉬는 시간 없이 사용해야 효율적이다.
- 그래서 프로그램이 끝나면 다른 프로그램이 나올 때까지 기다렸는데, 기다리지 않고 바로 실행시켜서 대기시간을 최대한으로 줄이는 방법이다.
- 주로 한 프로그램이 CPU를 사용 하다가 I/O 장치 등 CPU를 필요로 하지 않을 때 다른 프로그램이 CPU를 사용하게 문맥 교환을 시켜 새로운 작업을 수행하게 해 CPU의 효율을 극대화한다.
Time-Sharing Systems
다중 프로그래밍의 논리적 확장, response 시간을 줄이는 것이 중점이다.
각 사용자들에게 CPU에 대한 일정시간(time slice)을 할당하여 주어진 시간 동안 직접 컴퓨터와 대화 형식으로 프로그램을 수행할 수 있도록 개발된 시스템
예제) Round Robin
각 프로세스에 일정시간을 할당하고, 할당된 시간이 지나면 그 프로세스를 젤 뒤로 보내고, 다음 프로세스에 기회를 준다.
돌아가며 기회를 부여하는 운영방식이다.
멀티 프로그래밍 시스템의 특징
- CPU 1개, 주기억 장소 1개에 여러 개 프로그램(multi-job)을 존재시켜 다중작업을 구현시킨다.
- 일괄 처리의 반환 시간(turn around time)이 늦으면 CPU의 유휴 시간(idle time)이 길어지므로, 여러 개의 프로그램을 동시에 기억장치에 적재시켜 유휴 시간을 줄인다.
- 여러 개의 작업을 준비상태에 두고 관리하며, 어느 한 작업을 실행할 작업으로 장치를 선정하기 위해 기억장치 관리기법이나 CPU 스케줄링 기법 필요로 한다.
- 스케줄링, 교착상태, 병행제어 및 보호 문제 등이 신중히 고려해야한다.
멀티프로세싱 시스템 (Multiprocessing system)(=다중 처리 시스템)
여러 개의 프로세서가 공동 기억 장치를 통하여 메모리를 공유하며, 다중 처리기의 단일 운영체제에서 제어가 가능한 시스템
하나의 시스템에 여러 개의 프로세서(CPU)를 사용하여 다중 작업을 구현하는 것으로 목적은 컴퓨터 시스템의 처리량과 신뢰성을 향상시키는데 있다.
멀티프로세싱 시스템의 특징
- CPU를 여러 개 사용하여 작업 속도와 신뢰성을 높일 수 있다.
- TODO: 무슨 신뢰성을 높이는지 찾아봐야한다.
- 운영 체제는 여러 CPU간의 기억장치 공유를 어떻게 지원할지 그리고 여러 CPU의 사용을 어떻게 스케줄링 할 것인가를 결정해야 한다.
- 신뢰성과 병행계산, 최적의 연결기법, 같은 자원을 요구하는 CPU간의 경쟁을 제어하는 문제들을 고려해야 한다.
실시간 시스템(Real time system)
단말기나 제어 대상으로부터 처리를 요구하는 자료가 발생할 때마다 즉시 처리하여 그 결과를 출력하거나 요구에 대하여 응답하는 방식
실시간 시스템의 특징
- 자료가 발생한 지점에서 단말기를 통하여 직접 입/출력되므로 사용자의 노력이 절감한다.
- 처리시간 및 비용 단축된다.
- 자료가 무작위하게 도착하므로 입/출력 자료의 일시 저장과 대기가 필요하다.
분산 처리 시스템(Distributed processing system)
하나의 대형 컴퓨터에서 수행하던 기능을 통신망을 통하여 상호간에 교신하고 처리하는 방식의 시스템
- 자료 처리 시스템들의 상호연결은 컴퓨터 네트워크에 의해 이루어진다.
분산처리 시스템의 목적
- 자원 공유
- 계산속도 향상
- 신뢰성 향상
- 통신 기능
- 다수의 노드가 네트워크로 상호 연결되어 있으면 각각의 프로세서 간에 데이터를 접근하고 공유할 수 있다.
참고자료:
http://www.terms.co.kr/roundrobin.htm http://www.uniwise.co.kr/pdfupload/lecture_upload/R201500370/oshjt_3.pdf https://www.youtube.com/watch?v=9bkuN7Fj-8o https://ko.wikipedia.org/wiki/%EC%9D%BC%EA%B4%84_%EC%B2%98%EB%A6%AC