운영체제 history

Nam Eun-Ji·2020년 11월 19일
0

운영체제

목록 보기
2/3

간단 설명

  • 1950년대 : 운영체제 없음, 프로그램이 시스템 자원 직접 제어
  • 1960년대 : 배치 처리 시스템
  • 1970년대 : 시분할 시스템 / 멀티 태스킹 시스템
  • 1980년대 : GUI, 개인용 컴퓨터
  • 1990년대 : 다양한 응용 프로그램, 인터넷 발달, 오픈 소스 운동 활성화
  • 2000년대 : 오픈 소스 활성화, 가상머신, 대용량 병렬 처리


1950년대

  • 첫번째 컴퓨터 : ENIAC
  • 처음에는 1개의 응용 프로그램을 실행시키기도 바빠 운영체제가 없었다.
  • 그래서 응용프로그램이 직접 시스템 자원을 제어했다.


1960년대 초반

  • 프로그램 종류도 많아지고, 사용자도 점점 증가하기 시작한 상황
  • 배치 처리 시스템 출현 : 응용프로그램을 실행시켜 놓으면 순차적으로 실행하는 시스템
  • 배치 처리 시스템 단점
    1. 컴퓨터 응답시간이 오래 걸릴 수 있다. (앞단에 실행시간이 긴 프로그램이 실행될 경우 뒷단 프로그램은 기다려야하기 때문)
    2. 실행 시간도 오래 걸릴 수 있다. (CPU가 필요없음에도 응용프로그램이 CPU를 점유할 수 있기 때문)



1960년대 후반

  • 실제로 기능이 구현된 것은 아니나 새로운 개념이 제안되었다.
  • 시분할 시스템(Time Sharing System)
    • 시간을 분할해서 여러 프로그램을 돌려가며 실행하는 방식
      - 목적 : 다중사용자를 지원하고, 컴퓨터 응답 시간을 최소화하는 시스템
  • 멀티 태스킹(Multi Tasking)
    • 단일 CPU에서 여러 응용프로그램의 병렬 실행을 가능하게 하는 방식
    • 시간을 분할해서 마치 동시실행되는 것처럼 보이는 것
    • 목적 : 가능한 CPU를 많이 활용하도록 하는 기능(시간대비 CPU사용율을 높이자)
  • 위 2가지는 목적은 다르지만 기술적으로는 비슷했다.
    • 기술 : 응용프로그램이 cpu를 사용하는 시간을 잘게 쪼개서, 여러개의 응용프로그램을 동시에 실행하는 기법
    • 그래서 보통 동일시하게 얘기하기도 함. 시분할시스템 = 멀티태스킹
  • 다중 사용자를 지원하려면 응답시간을 줄어야하는데 배치처리시스템에서는 불가능하다. 그 이유는 앱1이 끝나고 앱2가 실행될때까지의 응답시간을 기다려야하기 떄문이다. 만약 1초 단위로 시간을 쪼개서 각각의 응용프로그램을 실행한다면 다중 사용자를 지원할 수 있다.(마치 동시실행되는 것처럼 보이는 것)
  • 참고 - 멀티프로그래밍(최대한 CPU를 많이 활용하도록 하는 시스템(시간대비 CPU활용도를 높이자). 위 2가지와 기능은 동일)
  • 시분할, 멀티태스킹 둘다 스케줄러라는 운영체제 기술과 관련되어 있음




1970년대

  • 본격적으로 운영체제 중요성 부각
  • 현대 운영체제 기술 확립, UNIX(유닉스) OS 에 최초 구현
    • 미국 AT&T사의 벨 연구소
    • 켄톰슨, 데니스 리치(C언어를 개발한 사람)
    • 유닉스 특징
      • 현대 운영체제의 기본 기술을 모두 포함한 최초의 운영체제
      • 멀티태스킹, 시분할 시스템, 멀티프로그래밍 (다중 사용자 지원)


1980년대

  • 개인용 컴퓨터 시대
    • 1980년대 이전 : 대형 컴퓨터를 여러 명이 접속해서 사용(UNIX)
    • 1980년대 : Personal Computer(PC)
  • 인터페이스 변경 CLI → GUI
    • CLI (Command Line Interface) : 터미널 환경(keyboard)
    • GUI (Graphical User Interface) : GUI 환경(mouse)


1990년대

  • 다양환 응용프로그램 활성화 (killer application이 많아짐)
    • 엑셀, 워드프로세서 등
    • Windows OS 대중화
  • 네트워크 기술 발전 - 월드와이드웹(WWW) 인터넷 대중화
  • 오픈 소스 운동 활성화 시작
    • UNIX 계열 OS + 응용프로그램 자체 개발 및 소스 오픈
    • LINUX 운영체제, 소스 오픈, 무료


2000년대

  • 오픈 소스 활성화
    • 리눅스 운영체제 활성화
    • Apache(아파치, 웹서버)
    • MySQL(데이터베이스)
    • 안드로이드, 딥러닝, 데이터사이언스, IoT 관련
  • 가상머신, 대용량 병렬 처리 등 활성화
    • 가상머신 : 컴퓨터 한대에 여러 운영체제
    • 대용량 병렬처리 : 코어가 여러개 있을 때 여러 코어를 동시에 써가면서 프로그램을 빨리 실행시킴
profile
한 줄 소개가 자연스러워지는 그날까지

0개의 댓글