[OS] 운영체제 역사 (1950년대 ~ 최근)
2021. 9. 16. 22:48ㆍ프로그래밍/운영체제
반응형
💻 1950년대
- ENIAC : 최초의 현대적 컴퓨터 (진공관 기반의 컴퓨터. 제 1세대 컴퓨터)
- 운영체제 없었음
- 하나의 응용 프로그램 실행
- 운영체제가 아직 없었기 때문에 응용 프로그램이 시스템 자원을 제어했음
💻 1960년대 초기
- 프로그램 종류도 좀 많아지고 사용자도 많아지기 시작
- 배치 처리 시스템 출현 (Batch processing system)
- 배치처리시스템을 기반으로 운영체제 출현
💡 배치처리 시스템
▪ 여러 응용 프로그램을 등록해놓으면 순차적으로 실행하는 시스템.
▪ 응용프로그램들의 순서를 어떻게 정하냐에 따라서 실행속도가 달라지게 된다.
👎 단점
▪ 컴퓨터 응답시간이 오래 걸릴 수 있다. (앞단의 실행시간이 많이 필요하는 응용프로그램이 실행될 경우)
▪ 실행 시간도 오래 걸릴 수 있다. (CPU가 필요없음에도 응용 프로그램이 CPU를 점유할 수 있기 때문)
💻 1960년대 후반
- 시분할 시스템, 멀티 태스킹 개념 등장
- 아직 운영체제로는 구현되지 않았음
∘ C언어가 개발된 이후 시분할 시스템, 멀티태스킹이 도입된 UNIX 운영체제 개발됨
💡 시분할 시스템과 멀티 태스킹
▪ 응용 프로그램이 CPU를 사용하는 시간을 잘개 쪼개서, 여러 개의 응용 프로그램을 동시에 실행시키는 방법.
▪ 보통 시분할 시스템 == 멀티 태스킹
💡 시분할 시스템(Time sharing system)
▪ 다중 사용자 지원, 컴퓨터 응답 시간을 최소화 하는 시스템.
** 다중 사용자를 지원하기 위해 응답시간을 줄여야 했기 때문에!
💡 멀티 태스킹(Multi Tasking)
▪ 단일 CPU에서 여러 응용 프로그램의 병렬 실행을 가능하게 하는 시스템.
▪ 아주 짧은 시간 단위로 여러 개의 프로그램을 돌아가면서 실행시키면 사용자가 보기에는 동시에 실행하는 것처럼 보임.
💡 멀티 프로그래밍(Multi Programming)
▪ 최대한 CPU를 많이 활용하도록 하는 시스템.
▪ 전체 응용 프로그램의 실행 시간을 줄일 수 있음.
💁♀️ App1이 파일을 읽는 처리를 하면, 그 동안 다른 App2를 실행하면서 주기적으로 App1 파일 읽기 처리가 끝났는지 확인하여 CPU가 쉬지 않게 최대한 많이 활용하도록 함.
(시간을 잘게 쪼갤수록 CPU를 빈 공간 없이 활용할 수 있다)
💻 1970년대
- UNIX OS 등장~~~
∘ AT&T 사의 벨 연구소 (켄톰슨, 데니스 리치)
∘ 멀티 태스킹, 시분할 시스템, 멀티 프로그래밍 구현 - 현대 운영체제 기술 확립
💻 1980년대
- 1980년대 초반 : 터미널 환경
- 1980년대 중후반: GUI 환경
- 개인용 컴퓨터 시대
💻 1990년대
- 응용 프로그램 시대 (GUI 환경과 개인용 컴퓨터로 인해 사용자 증대)
∘ 엑셀, 워드 등 Killer Application
∘ Windows OS 대중화
∘ 자바 언어 등장
Killer Application 이란?
응용 프로그램을 사용하기 위해 하드웨어를 구매할 때, 그 응용 프로그램을 Killer Application이라 함.
- 네트워크 기술 발전 - 월드 와이드 웹(WWW) 인터넷 대중화
- 오픈 소스 운동 활성화 시작
∘ 리눅스 운영체제의 소스 오픈
💻 2000년대 이후
- 오픈 소스 활성화
∘ 리눅스, 아파치, MySql, 안드로이드, 딥러닝 등등등 - 가상 머신, 대용량 병렬 처리 등 활성화
반응형
'프로그래밍 > 운영체제' 카테고리의 다른 글
[OS] 운영체제의 주변 장치 관리 (0) | 2021.01.02 |
---|---|
[OS] Thread - 동기화, Critical Section, 뮤텍스와 세마포어, 교착상태와 기아상태 (0) | 2020.12.20 |
[OS] Thread - 개념, 장단점, Thread vs Process (0) | 2020.12.20 |
[OS] 프로세스간 커뮤니케이션(IPC 기법 - 파이프, 메시지큐, 공유메모리) (0) | 2020.12.20 |
[OS] 컨텍스트 스위칭(Context Switching, PCB, PC, SP) (0) | 2020.12.20 |