운영체제의 운용 기법
- 일괄 처리 시스템(Batch Processing System)
- 초기 운영체제의 형태로서, 여러 작업을 한 번에 묶어서 처리한다.
- 운영체제가 작업들을 처리하기 시작하면 결과가 나올 때까지 기다려야 한다.
- 작업들이 처리 중일 때, 시스템을 이용하지 못하므로 자원 사용의 효율성이 떨어진다.
- 다중 프로그래밍 시스템(Multi-Programming System)
- 일괄 처리 시스템은 작업 처리를 위해 입출력 중일 때, CPU는 유휴 상태(idle)가 된다.
- '이 시간에 다른 작업을 실행할 수 있다면 효율적이지 않을까?'에서 시작된 개념이 다중 프로그래밍 시스템이다.
- 하나의 작업이 입출력 중일 때, 다른 작업을 할당하여 CPU 사용률과 처리량을 향상시키는 운용 기법
- 사용자 입장에서는, 하나의 CPU이지만 동시에 여러 프로그램이 실행되는 것처럼 보인다.
- 시분할 시스템(Time Sharing System)
- 다중 프로그래밍 시스템이 작업 단위로 CPU 스케줄링을 수행했다면,
시분할 시스템은 '타임 슬라이스(time slice)' 또는 '타임 퀀텀(time quantum)'이라 부르는, 일정 작업 시간 동안 작업을 실행하고, 이 시간이 모두 만료되면 대기 큐에서 다음 작업을 실행하는 운용 기법이다.
- 다중 프로그래밍 시스템보다 CPU 사용률과 처리량을 더욱 향상할 수 있다.
- 사용자 입장에서는 다중 프로그래밍 시스템보다 더욱 동시에 여러 작업이 실행되는 것으로 보인다.
- 다중 처리 시스템(Multi-Processing System)
- 지금까지는 하나의 CPU에 대한 운용 방식이었다면
다중 처리 시스템은 여러 개의 CPU를 통하여 동시에 여러 개의 작업을 처리하는 운용 기법이며,
병렬 처리 시스템(Parallel Processing System)이라고도 한다.
- 다중 처리 시스템은 비대칭적 다중 처리(Asymmetric Multi-processing)와 대칭적 다중 처리(Symmetric Multi-processing) 유형으로 나눌 수 있다.
- 비대칭적 다중 처리는 프로세스 간 주종 관계가 있으며, 주 프로세스의 명령에 따라 종 프로세스가 작업을 처리한다.
- 대칭적 다중 처리는 다시 SMP와 MPP로 나눌 수 있다.
- 실시간 처리 시스템(Real Time Processing System)
- 작업의 요청에서 수행 결과가 나올 때까지 요구한 시간 안에 수행해야 하는 시간적 제약을 갖는 운용 방식
- 시간적 제약의 엄격한 정도에 따라
경성 실시간 처리 시스템(Hard real time processing System)과 연성 실시간 처리 시스템(Soft real time processing System)으로 나뉜다.
- 경성 실시간 처리 시스템은 제한된 시간 안에 반드시 작업을 처리 완료해야 하며, 무기 제어, 산업 로봇 등에서 사용된다.
- 연성 실시간 처리 시스템은 제한된 시간 안에 작업을 완료하지 못하더라도 시스템에 큰 영향을 미치지 않는 시스템으로 동영상 재생 시스템 등이 이에 해당한다.
- 다중 모드 시스템(Multi-Mode System)
- 일괄 처리, 다중 프로그래밍, 시분할, 다중 처리, 실시간 처리 시스템을 모두 혼용하여 사용할 수 있는 운용 시스템을 뜻한다.
- 분산 처리 시스템(Distribute Processing System)
- 개별 프로세서, 하드웨어 자원과 이를 구동하는 운영체제를 갖는 독립적인 시스템들 간에 통신망을 연결하고,
시스템이 수행해야 할 작업을 분산하고,
각 시스템의 자원을 공유하여 처리량과 응답시간,가용량을 극대화하기 위한 시스템이다.
- 하나의 운영체제 하에서 여러 개의 프로세서가 하나의 메모리를 공유하는 방식인 강결합(Tightly-Coupled)이 아닌,
둘 이상의 독립된 시스템이 통신으로 연결되고 상호작용하는 약결합(Loosely-Coupled) 방식이다.
- 물리적인 시스템 간 연결을 넘어서
유휴 자원의 효율적인 활용을 위하여 가상화 기술을 기본적으로 내장하거나, 커널(Kernel) 단에서 지원함으로써
가상화 시스템 간 또는 가상화 시스템과 물리적 시스템 간의 분산 처리 형태로 진화하고 있다.
운영체제 운영기법의 발전
- 1세대 : 일괄 처리 시스템
- 2세대 : 다중 프로그래밍 / 다중 처리 시스템
- 3세대 : 시분할 시스템
- 4세대 : 다중 모드 시스템
- 5세대 : 분산 처리 시스템
한 번에 하나의 작업을 처리하는 일괄 처리 시스템을 시작으로,
지역적으로 분산된 여러 시스템이 동시에 여러 작업을 처리할 수 있는 분산 처리 시스템으로 발전하였다.