운영체제 역사

sujeong kim·2022년 1월 4일
0

CS-운영체제

목록 보기
2/6

1950

  • ENIAC : 운영체제 없이 응용 프로그램이 시스템 자원을 직접 제어

1960년대 초기

프로그램의 종류, 사용자도 늘어나다보니 여러 개의 프로그램을 돌릴 수 없는 컴퓨터의 한계가 큰 단점으로 부각되었습니다. 이는 누군가는 자신의 프로그램을 실행하기 위해 계속 기다리거나 다른 일을 할 수 없도록 만들었습니다. 이를 해결하기 위해 여러 응용 프로그램을 등록시켜 놓으면 순차적으로 실행하는 배치 처리 시스템이 생겨났습니다.

1960년대 후반

배치처리 시스템으로 순차적으로 앱을 실행할 수 있어 누군가가 다음 프로그램을 실행시키기 위해 지켜봐야 하는 수고로움은 덜었습니다. 그러나, 단순히 순차적으로 실행하기 때문에 선행된 어플리케이션의 시간이 길다면 뒤에 어플리케이션은 간단한 것임에도 한참을 기다려야 했습니다. 또, cpu도 한 번에 하나의 어플리케이션만 실행하므로 cpu의 유휴시간이 늘어나 비생산적이었습니다.

따라서 이때에는 시분할 시스템과 멀티태스킹 개념이 제안되었지만 운영체제에 반영되지는 못했습니다.

  • 시분할 시스템(Time Sharing System): 다중 사용자를 지원하기 위해 컴퓨터 응답시간을 최소화 하려는 것으로 하나의 어플리케이션이 끝나는 걸 기준으로 프로세스를 바꾸는 것이 아니라 일정 시간동안만 해당하는 어플리케이션을 실행하는 것으로 기준을 바꿈.
  • 멀티프로그래밍(Multi Programing): 시간대비 cpu사용률을 높이기 위함. app1에서 cpu사용 이외의 일을 처리할 때 app2의 일을 가져와서 cpu를 계속 사용하게 함. 단일 cpu에서 여러 응용 프로그램의 병렬 실행을 가능하게 하는 시스템으로 응용프로그램 실행시간이 최소화
  • 멀티태스킹(Multi Tasking): 사용자 입장에서 여러 응용프로그램이 동시에 실행되는 것처럼 보이게 함.

1970년대

1970년대 이전에는 어셈블리어로 소프트웨어를 개발하다보니 컴퓨터 제조사마다 다른 명령어로 개발을 해야했고 본 목적을 하기 위해 제어해야 할 것이 너무 많아 프로그래밍 복잡도가 높았습니다. 그러다 1970년대에 C언어가 개발되어 컴퓨터 출신 의존도가 없어지고 프로그래밍 복잡도가 낮아졌습니다. 이에 힘입어 UNIX OS가 탄생하였습니다.

UNIX OS

  • 미국 AT&T사의 벨 연구소에서 켄톰슨, 데니스 리치가 만듦
  • 현대 운영체제의 기본 기술(멀티태스킹, 시분할시스템, 멀티프로그래밍, 다중사용자 지원)을 모두 포함한 최초의 운영체제

1980년대

  • PC의 시대
  • CLI -> GUI

사용자와 컴퓨터를 연결하는 인터페이스의 종류
CLI(Command Line Interface) : 터미널 환경
GUI(Graphical User Interface) : GUI 환경

1990년대

  • GUI환경, pc보급이 되면서 응용프로그램의 시대가 열림. Window OS 대중화
  • 네트워크 기술의 발전 -> 인터넷의 대중화
  • 오픈소스 운동 활성화 시작: UNIX, LINUX

2000년대

  • 오픈소스 활성화: Apache, MySQL...
  • 가상머신, 대용량 병렬처리 활성화
profile
개발자

0개의 댓글