발전과정

구분 시대 특징
제0세대 1940년대 운영체제 없음, 기계어 사용
제1세대 1950년대 IBM 701(운영체제 효시) 작업간의 원활한 변환, 버퍼링, 스풀링, 일괄처리시스템
제2세대 1960년대 초 고급언어로 운영체제 작성, 장치 독립성, 다중프로그래밍, 다중처리분할시스템
제3세대 1960년대 중반 ~ 1970년대 중반 IBN 360 시리즈, 유닉스 범용 시스템, 다중모드시스템
제4세대 1970년대 중반 ~ 현재 네트워크 시스템, 가상머신, 분산데이터처리, 개인컴퓨터

1세대

1
2
3
4
1952년 초, 자동차 제조회사 GM의 연구실에서 IBM 701 운영체제 개발 (운영체제 효시)
1955년, GM과 North American Aviation(NAA)이 공동으로 IBM 704 컴퓨터를 위한 운영체제 GM-NAA I/O 개발 (오늘날 운영체제의 기본적인 기능 수행)
IBM 사용자 협회 SHARE에서 운영체제에 대한 토론회를 육성, 1957년까지 IBM 704를 위한 자체 운영체제를 개발
IBM 1400 계열 같은 소형 컴퓨터는 운영체제 없이 작동, 입출력 제어 시스템 IOCS(Input/Output Control System)패키지 사용

2세대

  • 일괄처리형태로, 처리량을 향상시키며, 장치 독립성이라는 개념으로 하드웨어 관리가 편리
  • 다중프로그래밍: 여러 프로그램이 메인 메모리에 공존, 프로세서를 작업 간에 수시로 번갈아 할당
  • 다중처리시스템: 시스템의 처리능력을 증진시키기위해 한 컴퓨터 시스템에 여러개의 프로세서 사용
  • 시분할시스템: 사용자가 터미널을 통해 컴퓨터와 직접 접촉하기 위해 개발, 사용자와 대화 방식으로 작동하며, 사용자가 컴퓨터에 요구사항을 입력하고 컴퓨터가 요구를 처리하여 사용자의 터미널로 응답
  • 실시간시스템: 즉시 응답한다는 점이 특징으로, 컴퓨터가 가솔린 정제 등의 공정을 제어하는데 사용되며 발전
  • 군용 실시간 시스템: 적의 공중 공격에 대비해 동시에 수천지점을 감시하기위해 개발. 필요할 때 즉시 사용할 수 있고 빠른 응답이 중요하므로 활용도가 높지 못하고 비용이 많이 듦
  • 미항공 회사의 SABRE 예약 시스템: 제 2세대의 가장 중요한 개발 중 하나로, 멀리 떨어진 사용자가 단말기를 통해 중앙 컴퓨터 시스템과 통신하는 트랜잭션 처리시스템의 효시
  • 트랜잭션처리시스템: 사용자와 컴퓨터시스템이 대화를 하되 사용자가 비교적 간단하게 요구하면 컴푸터가 빠른 시간 내에 응답, 사용자 단말기는 컴퓨터의 온라인

3세대

  • 다중모드시스템: 일괄처리, 시분할처리, 실시간처리, 다중처리를 모두 제공
    사용자와 하드웨어 사이에 소프트웨어 계층 도입

4세대

1
2
3
4
5
6
7
통신 발달과 더불어 컴퓨터 네트워크와 온라인 처리가 사용
개인용 컴퓨터(Personal Computer): 데이터통신 인터페이스를 갖추어 터미널로 사용
시분할모드로 한정된 컴퓨터만 사용해야 하는 제약없이 지역적으로 멀리 떨어진 여러 시스템과 통신이 가능
1980년대, 메뉴지향적시스템: "사용자에게 친숙한 시스템" 이란 문구 등장
1960년대, 1970년대 텍스트(명령) 중심의 시스템 사용법이 메뉴지향적시스템으로 대치
1990년대, GUI(Graphical User Interface) 시스템
가상머신(Virtual Machine) 개념 출현: 운영체제에 의해 만들어진 가상머신의 관점으로 이해

기능

1
2
3
운영체제는 프로그램을 실행하는 데 필요한 환경과 자원을 제공하고 관리하기 위한 크고 복잡한 시스템
논리적으로 작은 모듈로 구성되며 각 부분은 명확하게 정의
대부분의 시스템은 자원관리와 프로그램을 위한 인터페이스 역할을 수행

자원관리 기능

  • 메모리 관리: 프로세서 이용률과 컴퓨터 응답속도 향상을 위한 다양한 메모리 관리기법이 존재
  • 보조기억장치 관리: 메인 메모리의 공간이 제한적이므로 컴퓨터 시스템은 보조기억장치를 이용해 메인 메모리의 내용을 저장
  • 프로세스 관리: 프로세스 하나는 자신의 업무를 수행하기 위해 프로세서 점유, 메모리, 파일, 입출력 장치 같은 다양한 자원이 필요
  • 장치 관리: 운영체제는 사용자가 특정 하드웨어 장치를 포괄적으로 기계로 인식하여 장치의 특성을 숨김
  • 파일 관리: 가장 많이 사용되는 요소로서 물리적으로 다양한 형태로 정보를 저장할 수 있으며, 효율적인 사용을 위해 단일화된 정보 저장 형태를 제공
  • 시스템 보호: 프로세스를 다른 사용자의 프로그램으로 부터 보호
  • 네트워킹: 시스템에 있는 프로세서는 다양한 방법으로 구성될 수 있는 통신 네트워크를 운영