본문내용
1. 운영체제의 유형
1.1. 일괄처리 운영체제
일괄처리(batch processing) 운영체제는 여러 작업(job)을 한데 모아 순차적으로 처리하는 방식의 운영체제이다. 초창기 컴퓨터 시스템에서는 관리자(오퍼레이터)가 천공 카드에 담긴 프로그램을 수동으로 실행하고 완료된 후 결과를 사용자에게 전달하는 방식이 사용되었다. 이로 인해 관리자의 상주가 필수적이었으며, 제출된 프로그램의 수가 많을 경우 관리자의 숙련도에 따라 처리 속도에 차이가 발생하였다.
1950년대 초반 최초의 운영체제가 등장하면서 관리자의 역할을 자동화한 일괄처리 운영체제가 도입되었다. 즉, 사람이 직접 수행하던 작업이 운영체제를 통해 신속하게 처리되면서 전반적인 작업 속도가 향상되었다. 그러나 일괄처리 방식은 한 번에 하나의 프로그램만 실행할 수 있어 시스템의 자원이 완전히 활용되지 못하는 한계를 지니고 있었으며, 후순위로 제출된 작업은 선행 작업이 모두 종료될 때까지 아무런 개입 없이 대기해야 하는 문제점이 있었다.
현대에도 금융권의 야간 정산, 대형 병원의 백업 시스템, 통계 데이터 분석 처리, 정부기관의 일간 보고 자동화 시스템 등 특정 분야에서 일괄처리 운영체제가 여전히 활용되고 있다. 또한 클라우드 기반 자동화 워크플로우, 예컨대 AWS Batch, Google Cloud의 Cloud Scheduler 등에서도 일괄처리 개념이 채택되어 더욱 유연한 형태로 진화하고 있다.
1.2. 시분할 운영체제
시분할 운영체제는 대화형(interactive) 운영체제로도 불리며, 여러 사용자의 프로그램을 조금씩 번갈아 실행하여 마치 동시에 여러 프로그램이 구동되는 듯한 효과를 제공하는 운영체제이다. 1960년대에 시분할 방식이 도입되면서 각 사용자는 개별 터미널을 통해 컴퓨터에 접속할 수 있게 되었고, 직접 명령을 입력하여 신속한 응답을 받을 수 있었다. 즉, 사용자가 요청한 시점과 시스템이 응답을 시작하는 시점 사이의 시간인 응답 시간이 일괄처리 운영체제에 비해 대폭 단축되어, 마치 한 사람이 단독으로 컴퓨터를 사용하는 것처럼 느껴지게 되었다. 또한, 시분할 운영체제는 여러 개의 실행 중인 프로그램을 동시에 관리해야 했기에 시스템 자원을 효과적으로 배분할 수 있도록 설계되어야 했다. 이 과정에서 실행 중인 프로그램을 의미하는 프로세스 개념이 등장하게 되었다. 따라서 시분할 운영체제는 1960년대 이후 등장하여 대화형 환경을 제공하고 자원 관리의 효율성을 높인 운영체제 유형이다.
1.3. 실시간 운영체제
실시간 운영체제는 특정 목적의 컴퓨터 시스템에서 정해진 시간 내에 처리 결과를 도출할 수 있도록 설계된 운영체제이다. 미사일 제어 시스템이나 증권 거래 관리 시스템과 같이 결과가 즉각적인 의사 결정에 영향을 미치는 환경에서 주로 사용된다. 실시간 운영체제에서는 정해진 기한 내에 중요한 작업이 반드시 수행되어야 하므로, 우선순위가 높은 작업을 먼저 처리할 수 있는 기법이 적용된다. 특히 경성(하드) 실시간 운영체제는 특정 기한 내에 작업이 완료되어야 하는 반면, 연성(소프트) 실시간 운영체제는 지연이 발생하더라도 일부 품질 저하만을 유발한다. 대표적인 실시간 운영체제에는 VxWorks, QNX, FreeRTOS, RTEMS 등이 있으며, 이들은 낮은 지연 시간, 고정된 우선순위 스케줄링, 낮은 메모리 사용량 등의 특징을 갖는다. 최근에는 Linux 기반 실시간 커널(PREEMPT_RT)의 발전으로 일부 범용 시스템에서도 실시간 처리가 가능해지고 있다. 실시간 운영체제는 자율주행차, 드론, 스마트 공장, 산업용 로봇, IoT 센서 네트워크 등 다양한 분야에서 광범위하게 활용되고 있다.
1.4. 분산 운영체제
분산 운영체제는 두 대 이상의 컴퓨터 시스템이 네트워크로 연결되어 서로의 자원을 공유하며 동작하는 분산 시스템을 관리하는 운영체제이다. 네트워크 기술이 발전함에 따라 1990년대부터 본격적으로 활용되기 시작했다. 분산...