Search
Duplicate
🎨

운영체제의 발전 과정과 유형

목차

운영체제의 발전 과정

1940년대: 운영체제 없음.(작업별 순차 처리)
1950년대: 일괄처리 시스템. 데이터를 즉시 처리하지 않고 일정량이 될때까지 모아두었다가 처리. 이를 위해 일괄처리, 버퍼링, 스풀링 등을 도입
일괄처리: 작업을 모아두었다가 비슷한 유형의 작업들을 묶어서 처리.
버퍼링: 입출력 장치와 프로세서의 속도 차이를 보완하기 위해 프로세서가 연산을 하는 동안 입출력 장치는 다음 레코드를 주 기억장치에 보관함으로서 CPU가 필요로 하는 레코드를 기다림 없이 전달해 줄 수 있다. 이 레코드를 저장하는 주 기억장치를 버퍼라고 부른다.
스풀링: 버퍼링과 다르게 스풀링은 주기억 장치대신 디스크를 매우 큰 버퍼처럼 사용하는 것이다. 스풀링의 장점은 여러 작업의 입출력과 계산을 함께 할 수 있다는 점이다.
1960년대: 다중 프로그래밍, 시분할, 다중 처리, 실시간 시스템
다중 프로그래밍: 여러 프로그램을 메모리에 나눠 적재한 후 프로세서를 번갈아 할당하여 프로세서 사용을 극대화 시키면서 여러 프로그램을 동시에 실행시킨다.
시분할 시스템: 다중 프로그래밍 시스템에 프로세서 스케줄링이라는 개념을 더한것이다.
다중 처리 시스템: 하나의 시스템에서 여러개의 프로세서를 사용하는 시스템이다.
실시간 시스템: 즉시 응답하는 시스템이다.
1970년대 초반: 다중 모드, 범용 시스템
1970년대 중반 ~ 1990년대: 분산 처리 시스템, 병렬 계산과 분산 계산
2000년대 이후: 모바일 및 임베디드, 가상화 및 클라우드 컴퓨팅

유형

1.
일괄처리 시스템(batch processing system)
2.
다중 프로그래밍 시스템(multiprogramming system)
일괄처리시스템의 가장 큰 문제점인 프로세서가 작업 중일때는 입출력 작업이 불가능하여 프로세서와 메인 메모리의 활용도가 떨어진다. 그래서 프로그램의 유휴시간(idle time)동안 다른 프로그램이 프로세서를 사용하도록 해 프로세서의 효율을 극대화 시키기 위한 시스템이다.
3.
시분할 시스템(time sharing system)
다중 프로그래밍의 확장된 개념으로, 각 프로그램에 일정한 프로세서 사용시간 또는 규정 시간량을 할당하여 여러 사용자에게 짧은 간격으로 프로세서를 번갈아 가며 할당해 마치 한 사용자 혼자 프로세서를 독점하고 있는 듯 착각하게 해 여러 사용자가 단일 시스템을 동시에 사용할 수 있게 한다.
4.
다중 처리 시스템(multiprocessing system)
단일 컴퓨터에서 둘 이상의 프로세서를 사용해 동시에 둘 이상의 프로세스를 지원하는 시스템이다.
5.
실시간 처리 시스템(real time processing system)
사용할 수 있는 자원이 한정되어 있는 상황에서 작업 수행이 요청되었을 때, 이를 제한된 시간안에 처리해 결과를 내주는 것을 말한다.
⇒ 즉, 작업의 요청에서 수행결과를 얻기까지의 시간적인 제약이 존재하는 시스템으로 그 제약의 엄격함에 따라서 경성 실시간 시스템과 연성 실시간 시스템으로 나뉜다.
경성 실시간 처리 시스템(hard real time processing system)
작업의 실행 시작이나 완료에 대한 시간 제약 조건을 무조건 지켜야 하는 시스템 이다.(무기 제어, 미사일 자동 조준 등)
연성 실시간 처리 시스템(soft real time processing system)
작업 실행에서 시간 제약 조건은 있으나 이를 지키지 못해도 시스템에 치명적인 영향을 끼치지 않는 시스템이다.(동영상 재생 시스템 등)
6.
분산 처리 시스템(distributed processing system)
시스템 마다 독립적인 운영체제와 메모리로 운영하며, 필요할 때 통신하는 시스템이다.