1세대 운영체제 (진공관 컴퓨터의 시기, 1940년대 - 1950년대)
종류 : ENIAC(1946), EDSAC(1949), UNIVAC-I(1951), IBM 701(1953) 등
- EDSAC까지는 스위치 등을 조작하여 기계어로 만들었어야 했다.
- IBM 701 이후부터 일괄처리 시스템과 같이 운영체제라 할 수 있는 것들이 등장했다.
일괄처리 시스템(Single-stream Batch Processing Systems)
- 다수 개의 프로그램을 읽어 저장해놓되, 한번에 한개씩 프로그램을 실행시켜주는 방식을 말한다.
- 처리해야할 작업들을 한번에 여러개 준비시켜놓고 다음 작업 처리를 자연스럽게 연결되도록 한다. (job-to-job의 transition을 smooth하게 한다.)
- 작업이 차례로 하나씩 실행되므로 어떠한 작업이 완전히 끝날때 까지 다른 작업은 기다려야한다.
- 중간 개입이 허용되지 않는다.
- 시스템 자원을 독점하여 CPU 유휴 시간이 줄어든다.
- 하지만, 프로그램을 메인 메모리에 하나만 올려놓는다면(다중 프로그래밍이 아닌 경우), 입출력과 같은 시간이 CPU의 작업이 굳이 많이 필요하지 않은 작업(ex, IO)에서는 CPU가 하나의 작업에 메여있어 상당히 낭비되는 편이다.
2세대 운영체제 (트랜지스터 컴퓨터의 시기, 1960년대)
종류 : UNIVAC-II(1959), IBM 1400시리즈(1960년대 초) 등
- 자기코어 기억장치, 자기 디스크팩 등이 사용되었다.
- Assembly언어의 등장과 함께 FORTRAN, COBOL이 소개되었다.
- 다중프로그래밍 시스템(Multiprogramming System), 다중처리 시스템(Multiprocessing System), 시분할 시스템(Timesharing System), 대화식 시스템(Interactive System)이 개발되었다.
다중프로그래밍 시스템(Multiprogramming System) : CPU 1개 사용 ok
- CPU처리가 가능한 상태를 바로 만들어 놓자.
- 하나의 주기억장치에 여러 개의 프로그램을 준비해 두어 하나의 CPU에서 대화식으로 동시에 처리하여 CPU 사용률과 처리량을 높일 수 있다.
- ex) Main memory에서 A 프로그램, B 프로그램 ,, 등 여러개 준비, A 프로그램이 IO 들어가면 CPU가 쉬지 않고 B 프로그램 실행
다중처리 시스템(Multiprocessing System) : CPU 여러개 사용 ok
- 처리할 수 있는 기능 가진 CPU를 여러 개 두자.
- 다중프로그래밍 시스템이 전제가 되어야한다.
- ex) A 프로그램 -> A CPU, B 프로그램 -> B CPU
시분할 시스템(Timesharing System)
- 여러 사용자들이 CPU에 대해 짧은 시간 단위로 공유하자.
- ex) 하나에 10개 프로그램 올려서 10초에 다 실행하지 않고 1초씩 나눠서 10개 실행한다.
- 대화식 처리에서 유리하다. (바로바로 응답해줄 수 있다.)
- 다중 프로그래밍이 전제가 되어야한다.
대화식 시스템(Interactive System)
- 시스템과 사용자가 모니터와 입력장치를 통해 대화하듯이 일을 처리한다. 입력이 들어오면 그때마다 프로그램이 반응한다.
- Batch processing과 확연한 차이를 가진다.
3세대 운영체제 (집적회로의 개발, 1960년대 후반 - 1970년대)
종류 : 미니컴퓨터, IBM 360계열
- 다중모드 시분할 시스템이 소개되었다. (일괄처리, 시분할, 실시간 작업 모두 지원)
- UNIX 운영체제가 출현했다.
4세대 운영체제 (고밀도 집적회로의 개발, 1970년대 후반 - 현재)
종류 : 개인용 컴퓨터 보급
- 분산 및 병렬 처리 시스템 등장, 데이터베이스, 운영체제, 인공지능 등 연구가 활발하다.
<OS? Oh Yes! 누워서 보는 운영체제 이야기> 교재를 이용한 수업 내용을 바탕으로 본인이 스스로 작성하였습니다.
'CS > 운영체제' 카테고리의 다른 글
인터럽트(Interrupt)란? (0) | 2021.01.07 |
---|---|
OS(운영체제)란 무엇일까? (역할, 구성요소, 위치) (0) | 2021.01.07 |