1950년대
- ENIAC : 첫 번째 컴퓨터
+ 운영체제가 없었음
+ 1개의 응응프로그램을 실행시키도 바쁘다.
+ 응용프로그램이 직접 시스템 자원을 제어하며 실행.
1960년대 초반
- 프로그램 종류도 많아지고, 사용자도 슬슬 많아지기 시작했다.
+ 프로그램이 많아지면 단일 프로그램을 실행시키는 상황은 여러 프로그램을 실행시키기엔
시간이 너무 오래 걸렸다.
- 배치 처리 시스템(batch processing system) 출현
+ 여러 응용 프로그램을 등록시켜놓으면, 순차적으로 실행하는 시스템
+ 배치 처리 시스템을 기반으로 운영체제가 출현
1960년대 후반
- 새로운 개념이 제안됨
+ 시분할 시스템(Time Sharing System)
+ 멀티 태스팅(Multi Tasking)
- 멀티 프로그래밍(다중 프로그래밍)
+ 최대한 CPU를 많이 활용하도록 하는 시스템(시간 대비 CPU활용도를 높인다.)
+ 프로세서가 항상 수행할 작업을 가지도록 하여 프로세스 이용률을 증진 시키는 방법이다.
- 시분할 시스템, 멀티태스킹이 아이디어로 나왔지 운영체제로 구현되지는 않았다.
- 시분할 시스템, 멀티태스킹 공통점
+ 응용 프로그램이 CPU를 사용하는 시간을 잘개 쪼개서, 여러 개의 응용 프로그램을 동시에 실행하는 기법
- 시분할 시스템
+ 다중 프로그래밍을 논리적으로 확장한 개념이다.
+ 다중 사용자를 지원하고, 컴퓨터 응답 시간을 최소화하는 시스템
ex) 리눅스에 여러 사용자가 로그인하여 사용하면 각자 컴퓨터를 사용하고있는것처럼 지원해준다.
+ 다중 사용자가 사용하려면 응답시간을 줄여야한다(최소화).
+ 배치 프로그램보다 컴퓨터 응답시간을 줄어드는 장점이 있다.
- 멀티태스킹
+ 가능한 CPU를 많이 활용하도록 하는 기능(시간대비 CPU 사용율을 높이는것)
+ 단일 CPU에서, 여러 응용프로그램의 병렬 실행을 가능하게 하는 시스템
(시간을 잘게 쪼개서 응용프로그램을 바꿔가면서 실행, 여러응용프로그램이 동시 실행되는것처럼 보임)
- 시분할 시스템,멀티태스킹은 유사한 기술이다.
- 시분할 시스템,멀티태스킹은 스케줄러를 사용한다.
- 배치 처리 시스템의 단점
+ 컴퓨터 응답 시간이 오래 걸릴 수 있다.(앞단에 실행시간이 많이 필요로 하는 응용 프로그램이 실행될 경우)
+ 실행 시간도 오래걸릴 수 있다.(CPU가 필요 없음에도 응용프로그램이 CPU를 점유할 수 있다.
- 1960년대 후반부 정리
+ 시분할 시스템, 멀티태스킹 기술이 아이디어로 제공 (구현 X)
+ 기술 : CPU 시간을 쪼개서 사용한다.
+ 결과 : 다중 사용자 지원, 응용 프로그램 동시 실행
1970년대
- 제대로된 운영체제가 나왔다.(UNIX)
+ 미국 AT&T 사의 벨 연구소
+ 켐톰슨, 데니스 리치 개발
+ 데니스 리치는 C언어를 개발
- 운영체제 개발에 C언어가 필요했던 이유
+ 1970년대 이전 : Assembly 언어로 소프트웨어 개발
+ CPU(명령어), Memory(주소) 물리적 주소를 직접 지정해서 활용
+ 각각 컴퓨터마다 사양이 다르기에 컴퓨터마다 다시 개발해줘야 하는 단점이 있다.
+ 프로그래밍 복잡도가 높음(활용도는 좋다)
+ 1970년대 C언어가 개발된 후
+ 컴파일러 : 다시 작성할 필요가 없음
+ 여러 컴퓨터에 같은 C언어를 사용 가능하다.
+ Assembly 언어에 비해 복잡도가 낮다.
- 이러한 이유로 C언어를 기반으로 운영체제를 개발했다.
- UNIX 특징
+ 현대 운영체제의 기본 기술을 모두 포함한 최초의 운영체제
+ 멀티 태스킹, 시분할 시스템, 멀티프로그래밍
+다중 사용자 지원
'개발 소발 > 기초 컴퓨터,통신' 카테고리의 다른 글
HTTP기초,PORT,DNS 란? (0) | 2021.08.03 |
---|---|
HTTP,TCP/IP란 무엇일까? 기초 (0) | 2019.08.02 |
컴퓨터공학 Operating System 시스템콜 (0) | 2018.12.19 |
컴퓨터공학 Operating System 역사 - 2 (0) | 2018.12.12 |
컴퓨터공학 Operating System 응용프로그램이란? (0) | 2018.12.05 |