티스토리 뷰

컴퓨터공학

[운영체제] 운영체제의 역사

walk_through_me 2019. 10. 23. 02:40

1950년대

ENIAC(Electronic Numerical Integrator And Computer, 전자식 숫자 적분 및 계산기)

 

이미지 출처 : Wikipedia

  • 최초의 컴퓨터
  • 운영체제가 존재하지 않음
    • 1개의 응용 프로그램을 실행시키기도 바빴기 때문
    • 응용 프로그램이 직접 시스템 자원을 제어했음

 

1960년대

초반 : 프로그램 종류 및 사용자가 많아지기 시작함

 

배치 처리 시스템(Batch Processing System)

  • 여러 응용프로그램을 등록시켜 놓으면 순차적으로 실행하여 자료를 처리하는 방식.
  • 순서를 어떻게 등록하느냐에 따라 실행시간이 다를 수 있음
    1. 순서 포함 등록
    2. 첫번째 순서부터 실행
    3. 실행이 끝나면 다음 응용프로그램 실행 

배치 처리 시스템을 기반으로 운영체제 출현

 

 

후반 : 새로운 개념이 제안됨 → 그러나 운영체제로 구현되지는 않음

 

멀티 태스킹(Multi Tasking, 다중작업)

  • 단일 CPU에서 마치 동시에 실행되는 것처럼, 여러 응용 프로그램의 병렬 실행을 하는 것과 같은 환경을 제공하는 것
  • 운영체제가 멀티 태스킹을 할 때 시분할, 멀티 프로그래밍 같은 스케줄링 방식 중 하나를 채택함

시분할 시스템(Time Sharing System)

  • 응용 프로그램이 CPU를 사용하는 시간을 잘게 쪼개서, 여러 응용프로그램을 동시에 실행하는 기법
  • 다중 사용자를 지원
  • 컴퓨터 응답시간 최소화함

멀티 프로그래밍(Multi Programing)

  • 최대한 CPU를 많이 활용하도록 하는 시스템(시간 대비 CPU 활용도를 높이자) → 사용률 극대화
  • 현재 실행되고 있는 태스크는 다른 외부 이벤트를 기다려야 하는 상황이 되거나, 컴퓨터의 스케줄러가 강제로 실행 중인 태스크를 중단시킬 때까지 계속 진행됨
배치 처리 시스템 단점
1. 컴퓨터 응답시간(Response time)이 오래 걸릴 수 있다 (실행시간이 많이 필요로하는 응용 프로그램이 앞에 실행될 경우)
2. 실행 시간도 오래 걸릴 수 있음. (CPU가 필요 없어도 응용 프로그램이 CPU를 점유 할 수 있기 때문)

이 것을 극복 하기 위한 것...
사용자가 느낄 때, 여러 응용 프로그램이 동시에 실행되는 것 처럼 보임 → 멀티태스킹
응답시간 단축, 다중사용자 지원 → 시분할 시스템
전체 실행시간 단축 → 멀티 프로그래밍 

 

 

1970년대

제대로된 운영체제의 출현(운영체제의 중요성 부각)

 

UNIX OS

이미지 출처 : Wikimedia

  • 미국 AT&T사 벨연구소의 켄톰슨, 데니스리치(C언어 개발)이 개발
  • 현대 운영체제의 기본 기술을 모두 갖춘 최초의 운영체제
    • 멀티태스킹, 시분할 시스템, 멀티 프로그래밍
    • 다중 사용자 지원
운영체제 개발에 C언어가 필요했던 이유
1970년대 이전 : 어셈블리어로 소프트웨어 개발했기 때문에 CPU(명령어), Memory(주소)를 직접입력 해야했음. 때문에 컴퓨터마다 각각 다시 개발해줘야하는 단점이 있었음 → 프로그래밍 복잡도가 높음
1970년대 C언어가 개발된 후 : 컴파일러가 해당컴퓨터에 맞게 기계어로 변환해주었기 때문에 한번 개발하면 다시 작성할 필요가 없음 → 복잡도가 비교적 낮음 

 

 

1980년대

개인용 컴퓨터의 시대

 

PC 보급 및 대중화

  • 80년대 이전에는 대형컴퓨터에 여러 사람이 접속해서 사용(UNIX)

GUI 환경 제공

  • 80년대 초반까지는 터미널을 이용한 CLI환경
  • 80년대 중후반 매킨토시가 최초로 GUI 환경 제공 → 마우스의 등장
GUI(Graphical User Interface)
사용자가 알기 쉽도록 기능을 아이콘 등 그래픽으로 표현함
주로 마우스를 이용하여 그래픽을 조작하는 방식으로 사용함

CLI(Command Line Interface)
터미널을 통해 명령어를 입력하여 컴퓨터와 상호작용함

 

 

1990년대

응용프로그램의 시대

  • GUI환경, PC 보급으로 사용자 증대
  • 엑셀, 워드 프로세서 등 응용프로그램 출시 → Windows 95 운영체제가 대중화됨(일종의 Killer Application)

 

네트워크 기술 발전

  • WWW(World Wide Web)의 대중화

 

오픈소스 운동 활성화 시작

  • UNIX OS 개발 시 기술 공유가 되지 않음
  • UNIX 계열 운영체제와 응용프로그램 자체개발하고 소스를 오픈함 → LINUX OS

 

 

2000년대 이후

오픈소스 활성화

  • LINUX OS
  • Apache(웹서버)
  • MySQL(데이터베이스)
  • 이 외에 안드로이드, 딥러닝, 데이터사이언스, IoT 등 다양한 오픈 소스 존재

 

가상머신, 대용량 병렬처리 등 활성화

  • 빅데이터 처리를 위한 다양한 기술들 활성화

 

 

 

 

 

참고 | Wikipedia, Fast campus 컴퓨터 공학 전공 필수

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함