강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터 1급 강좌 : 운영체제의 역사

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터 1급 강좌 : 운영체제의 역사

운영체제의 역사

초기의 컴퓨터는 단순한 연산 기능만 있는 자동 계산기에 가까웠다.

 

 

 

 

컴퓨터를 운영하기 위한 운영체제도 없이 한 비트씩 천공 카드에 구멍을 뚫어서 조작을 제어하다가 1950년대에 프로그램과 데이터를 함께 모아 일괄 처리를 수행할 수 있게 되었다.

 

 

 

 

1960년대에는 다양한 주변 장치들을 사용할 수 있게 되었고 여러 개의 작업을 주기억 장치에서 동시에 수행하는 다중 프로그래밍(Multi-programming)과 시분할 시스템(Time Sharing System)의 도입으로 다중 사용자를 위한 대화식 시스템(Multiple Interactive User System)이 개발되었다.

 

 

 

 

이때부터 운영체제가 복잡해져서 이해하기 쉽고 유지 보수가 용이하고 신뢰성이 있는 소프트웨어를 개발하기 위해 운영체제도 소프트웨어 공학(Software Engineering)이 도입되었다.

 

 

 

 

1970년대에는 일괄 처리, 시분할 처리, 실시간 처리를 모두 지원하는 다중 모드 시분할 시스템으로서 네트워크의 중요성이 부각되어 LAN(Local Area Network)과 이더넷(Ethernet)이 사용되었고 보안 유지를 위한 암호화가 중요하게 되었다.

 

 

 

 

1980년대는 개인용 컴퓨터와 워크스테이션이 나타나면서 기존의 대형 컴퓨터와 같은 강력한 기능을 갖는 테스크탑형 소형 컴퓨터의 구축이 가능하게 되었다.

 

 

 

 

이 시기는 컴퓨터 사용자의 폭발적인 증가로 인해 사용자 인터페이스에 대한 개발이 비약적인 발전을 이루었다.

 

 

 

 

네트워크의 사용으로 클라이언트/서버(Client/Server) 개념이 나타나고 자원을 효율적으로 사용할 수 있고, 원격 제어를 이용해 시간과 공간의 제약이 없어졌다.

 

 

 

 

1990년대 이후로는 인공 지능이 급격히 발달하고 그래픽 인터페이스의 발달과 하드웨어적인 고기능화가 비약적으로 이루어졌다.

 

 

 

 

네트워크 작업이 주종을 이루면서 보안과 인증이 더욱 중요해졌고 전자상거래가 활성화되었다.

 

 

 

 

운영체제의 종류도 다양해지고 소형 컴퓨터를 이용한 분산 처리 기술과 소규모 서버 시스템이 발달하였다.

 

 

 

 

 

 

이것을 표로 정리하면 아래와 같다.

 

 

 

 

 

연도

특징

주요 내용

1940년대

운영체제가 없음

기계어 사용

1950년대

일괄 처리 시스템

단일 흐름 일괄 처리

작업간의 전이 문제 중시

오류 복구 처리

1960년대

다중 프로그래밍

시분할 시스템

실시간 처리 시스템

가상 기억 장치

고급 언어로 운영체제 작성

데이터 통신 지원용 운영체제

1970년대 중반

범용 시스템 개념 도입

다중 모드 시스템

일괄 처리, 시분할 처리, 다중 모드

(실시간 처리, 다중 처리를 한 시스템에서 모두 제공)

1980년대

마이크로컴퓨터 운영체제

사용자에게 친절한 시스템 개념

가상 기억 장치

통신망 서비스 운영체제

데이터베이스 중요 인식

1990년대 이후

분산 처리 개념

네트워크 개념

개인용 컴퓨터

소규모 서버

소규모 서버

보안과 인증의 강화

에이전트(Agent) 프로그램의 활성화

 

그리고 운영체제의 기능들을 유형별로 나누면 다음과 같다.

 

 

 

다중교환(Multi-switching) : 다수의 작업이 동시 실행되나 포그라운드 프로그램만 동작하는 형태이다.

 

 

단일 작업(Single-tasking) : 컴퓨터가 한 번에 하나의 작업만 처리하는 형태이다.

 

 

다중 작업(Multi-tasking) : 한 사용자가 여러 개의 작업을 동시에 수행하는 시스템이다.

 

 

다중 사용자(Multi-user) : 단일 프로세서 시스템에서 여러 사용자의 프로그램이 실행되는 것이다.

 

 

대화형 처리(Interactive Processing) : 사용자가 단말기에서 대화형으로 작업을 처리하는 것으로 시분할 처리 기능이 필요하다.

 

 

일괄 처리(Batch Processing) : 여러 개의 작업을 묶어 한꺼번에 처리하는 것으로 작업 처리 효율이 높다.

 

 

실시간 처리(Real Time Processing) : 작업의 처리가 지연없이 즉각적으로 처리되는 것으로 신속한 반응을 요구한다.

 

 

가상 기계(Virtual Machine) : 실제로 있는 컴퓨터 시스템을 여러 명의 사용자가 동시에 사용할 수 있도록 하기 위해 그 컴퓨터 시스템을 마치 여러 대의 작은 컴퓨터 시스템이 있는 것처럼 분할하여 만든 것이다.

 

 

분산 처리(Distributed Processing) : 통신선으로 여러 시스템을 연결하고 작업을 나누어서 처리한다.

 

 

 

 

또한 고속의 통신선과 고신뢰도를 요구하는 것으로 마이크로프로세서의 사용이 필요하다.

병렬 계산(Parallel Processing) : 많은 프로세서들이 동시에 작동한다.

 

 

 

 

리눅스도 이 기능을 제공하며 높은 수준의 신뢰성을 보장한다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,017 명
  • 현재 강좌수 :  35,690 개
  • 현재 접속자 :  265 명