Notice
suyeonme
[운영체제] 운영체제의 역사 본문
운영 체제의 역사 흐름
1940년
- 최초의 컴퓨터 에니악 등장(미사일 탄도를 계산하기 위해서 제작)
- 18000개의 진공관을 전선으로 연결하여 논리회로를 구성했다.(hard writing) 다른 작업을 하기 위해서는 전선을 일일히 다시 연결해야했다.
1950년
- 천공 카드리더 사용
- OMR(Optical Mark Reader)의 원조
- 일괄 처리 시스템(batch processing system)
- 한번에 한작업만 할 수 있다. 작업에 필요한 프로그램과 데이터를 동시에 입력해야한다.
- 모든 작업을 한꺼번에 처리해야하고 프로그램 실행 중간에 사용자가 데이터를 입력하거나 수정할 수 없다.
- 단순 계산 위주의 작업만 가능
- 라인 프린터 사용
1960년
- 키보드, 모니터 등장
- 대화형 시스템(Interactive System)
- 작업 중간에 사용자가 입력을 하거나 사용자에게 중간 결과값을 보여줄 수 있었으며 결과값을 출력하여 프로그램에 이상이 있는지 확인할 수 있게 되었다.
- 입출력 때문에 작업 시간을 예측하기 어렵다는 단점이 있다.
- 유닉스 운영체제 등장
1960년대 후반
- 다중 프로그래밍 (Multiprogramming) 등장
- 컴퓨터의 크기가 작아지고 계산 능력이 향상되었지만, 고가였다. 따라서 고가인 컴퓨터를 효율적으로 사용하기 위해서 등장했다.
- 하나의 CPU로 여러 작업을 동시에 실행했다.
1970년대
- 1977년 스티브잡스가 최초의 개인용 컴퓨터인 애플 II 출시
- 운영체제로 매킨토시, MS의 MS-DOS가 주로 사용되었다.
- 1970년 후반 인터넷 등장
- ARPA(Advanced Research Project Agency)는 서로 호횐되지 않는 LAN(Local Area Network)를 하나로 묶기 시작한 연구를 진행했는데 그 결과로 ARPAnet이 만들어졌다.
- ARPAnet은 TCP/IP 프로토콜을 정의했다.
- 분산 시스템(distributed system) 등장
- 분산시스템은 시스템의 모든 컴퓨터가 동일한 지위엿머 컴퓨터가 고장나거나 추가되면 작업을 분배하고 결과를 모으기 쉽지않다는 단점이 있다.
1990년대~현재
- 클라이언트/서버 시스템 등장
- 분산 시스템의 단점을 해결하는 기술이다.
- 요청하는 클라이언트와 응답하여 요청받은 작업을 처리하는 서버의 이중 구조로 나뉜다.
- 웹 시스템은 전형적인 클라이언트/서버 구조이다.
- 서버 과부하가 될 수 있는 단점이 있다.
2000년대 초반~현재
- P2P(Peer-to-Peer system) 시스템 등장
- 1990년대 전세계의 MP3 음악 파일을 공유하려는 시도가 있었으나 클라이언트/서버 시스템의 서버 과부화로 실패했다. (MP3 파일은 수 메가바이트)
- 서버의 부하를 줄일수 있는 시스템이다. 서버를 거치지 않고 사용자와 사용자를 직접 연결한다. 서버가 검파일 검색만 맡고 사용자간에 파일 전송이 이루어지기 때문에 서버의 부하가 적다.
- 메신저, MP3파일 공유 프로그램, 대용량 파일 공유
- 그리드 컴퓨팅(grid computing) 등장
- 필요한 컴퓨팅 자원을 구매하여 사용하는 컴퓨팅 환경
- SaaS(Software as a service) 등장
- 사용자가 필요할 때 소프트웨어 기능을 사용하고 그만큼만 비용을 지불한다.
- 필요한 기능을 모아 서버에서 실행하고 사용자는 인터넷을 통해 서비스를 제공받는다. 프로그램을 깔거나 업데이트를 할 필요가 없이 인터넷에 접속하면 누구나 이용할 수 있다.
- 클라우드 컴퓨팅(cloud computing) 등장
- 언제 어디서나 응용 프로그램과 데이터를 자유롭게 사용할 수 있는 컴퓨터 환경
- 그리드 컴퓨팅과 SaaS를 합친 형태
- 과거에는 회사에 서버를 설치하거나 IDC에 서버를 뒀지만, 클라우드 컴퓨팅 환경에서는 클라우드 서버에 서비스를 올려놓고 사용한 만큼만 비용을 지불하며 서버, 네트워크 관리는 클라우드 서버 제공자가 알아서 해줘서 편리하다.
- AWS, Google Cloud, Google photo, 스마트폰의 클라우드 백업
- 사물 인터넷(Internet of Things) 등장
- 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술
- 인공지능, 로봇 공학, 무인 운송수단, 3D인쇄, 나노 기술
'프로그래밍👩🏻💻 > 운영체제' 카테고리의 다른 글
[운영체제] CPU 스케줄링(CPU Scheduling) (0) | 2022.08.10 |
---|---|
[운영체제] 스레드(Thread) (0) | 2022.08.10 |
[운영체제] 프로세스(Process) (0) | 2022.08.07 |
[운영체제] 컴퓨터 성능 향상 기술 (0) | 2022.08.07 |
[운영체제] 운영체제의 구조와 하드웨어의 구성 (0) | 2022.07.28 |
Comments