[쉽게 배우는 운영체제] 1-2. 운영체제의 역사
2021. 8. 30. 20:00ㆍ03. Resources/Operating System
728x90
반응형
개요
- 주변장치의 개발과 연관지어 설명 예정
초창기 컴퓨터(1940년대)
- 최초의 컴퓨터 - 에니악
- 펜실베니아 대학의 존 모클리와 존 에커트가 만듬
- 미사일 탄도를 계산하기 위해 제작
- 진공관이라는 소자를 전선을 연결하여 이용함
- 켜지면 1, 꺼지면 0 → 2진법의 계기가 됨
- 하드 와이어링
- 전선을 연결하여 논리회로 구성
- 다른 계산이나 수식을 사용하려면 전선을 다시 연결해야함
- 모니터, 키보드, 마우스와 같은 주변장치 없음
일괄 작업 시스템(1950년대)
- IC(Integrated Circuit) 칩 - 진공관과 전선으로 만들어진 논리회로를 아주 작은 크기로 구현
- 이 시기의 컴퓨터에는 CPU, 메인 메모리는 존재, 키보드와 같은 입력장치와 모니터와 같은 출력장치는 존재하지 않았음
- 대신 천공카드 리더(punch card reader)를 입력장치로, 라인 프린터(line printer)를 출력장치로 사용
- 천공카드 리더
- OMR(Optical Mark Reader)의 원조
- 카드에 구멍을 뚫어 문자나 숫자를 표현
- 현대적인 프로그래밍을 가능하게 해줌
- 하드 와이어링 시스템은 프로그램을 바꾸기 어려움
- 천공카드 리더 시스템은 카드만 바꾸면 됨
- 라인 프린터
- 문자만 출력하는 프린터
- 한 번에 한 줄씩 출력
- 천공카드 리더
- 일괄 작업 시스템 / 일괄 처리 시스템 (batch job system / batch processing system)
- 모든 작업을 한꺼번에 처리해야 하고 프로그램 실행 중에 사용자가 데이터를 입력하거나 수정하는 것이 불가능
- 운영체제가 사용되었기 때문에 메인 메모리가 운영체제의 상주 영역과 사용자의 사용 영역으로 나뉨
대화형 시스템(1960년대 초반)
- 키보드와 모니터 등장 → 비효율적인 일괄 작업 시스템의 방식을 획기적으로 바꿈
- 키보드 - 타자기의 쿼티 자판에 다양한 키를 추가하여 만듦
- 모니터 - 초록색 또는 오렌지색의 화면
- 일괄 작업 시스템
- 프로그램과 데이터를 같이 입력하여 작업의 최종 결과만 얻을 수 있음
- 대화형 시스템(interactive system)
- 키보드와 모니터를 통해 작업 중간에 사용자가 입력하거나 중간 결과를 볼 수 있게됨
- 입력값에 따라 작업의 흐름 바꾸기 가능
- 대신 중간에 흐름이 변경될 수 있기 때문에 작업 시간 예측이 어려움
시분할 시스템(1960년대 후반)
시분할 시스템의 개념
- 컴퓨터 크기가 작아지고 계산 능력이 향샹 → 효율적인 자원 사용에 대한 고민 시작
- 다중 프로그래밍(multiprogramming)의 대두
- 하나의 CPU로 여러 작업을 동시에 실행하는 기술
- 다중 프로그래밍의 구현
- 시분할 시스템 (time sharing system) = 다중 작업(multitasking) 시스템
- CPU 사용 시간을 아주 잘게 쪼개어 여러 작업에 나눠줌 → 작업이 동시에 이루어지는 것처럼 보이게함
- 잘게 나뉜 시간 한 조각 = 타임 슬라이스(time slice) = 타임 퀀텀(time quantum)
- 단점
- 많은 양의 작업이 공존할 경우, 중요한 작업이 일정 시간 안에 끝나는 것을 보장하지 못함 → 이런 경우 실시간 시스템(real-time system)을 사용
- 시분할 시스템 (time sharing system) = 다중 작업(multitasking) 시스템
다중 사용자 시스템
- 멀티 프로그래밍 수준(level of multiprogramming) = 멀티 프로그래밍 정도(degree of multiprogramming)
- 시분할 시스템에서 동시에 실행되는 작업의 개수
- 여러 작업을 동시에 실행할 수 있다 = 여러 사람이 동시에 작업할 수 있다(= 다중 사용자 시스템, multi-user system)
분산 시스템(1970년대 후반)
- 개인용 컴퓨터의 출현으로 인한 운영체제 시장의 성장
- 1977년 스티브 잡스가 최초의 개인용 컴퓨터인 '애플 II' 발표
- 애플 - 매킨토시
- 마이크로소프트 - MS-DOS
- 인터넷의 등장
- 미국의 ARPAnet이 대중에게 개방되면서 TCP/IP 통신 규약 정의
- TCP/IP : Transmission Control Protocol/Internet Protocol
- 미국의 ARPAnet이 대중에게 개방되면서 TCP/IP 통신 규약 정의
- 분산 시스템(distributed system)
- 위의 두 가지 이유에 의해 고가의 컴퓨터 한 대를 쓰는 대신, 싸고 작은 컴퓨터를 네트워크로 묶어서 시스템 구축
클라이언트/서버 시스템(1990년대~현재)
- 분산 시스템의 단점
- 시스템에 포함된 모든 컴퓨터가 동일한 지위 = 컴퓨터가 고장나거나 추가되면 작업 분배 및 결과 수집에 어려움이 있음
- 클라이언트/서버 시스템(client/server system)
- 클라이언트 : 작업을 요청
- 서버 : 요청받은 작업을 처리
- 사례: 웹 시스템 기반 다양한 응용 서비스
- 단점: 서버 과부하
- 모든 요청이 서버로 집중되기 때문
P2P 시스템(2000년대 초반~현재)
P2P 시스템의 개념
- 사이즈가 큰 파일 공유를 클라이언트/서버 시스템으로 진행하는 경우, 서버 과부하가 일어나기 쉬움
- P2P 시스템(Peer-to-Peer system)
- 과부하를 줄이기 위한 방법
- 서버를 거치지 않고 사용자와 사용자 직접 연결
- 서버: 파일 검색만 진행 → 부하가 적음
P2P 시스템의 예: 메신저
- 수만 명이 동시에 채팅을 하고 파일을 주고 받기 때문에 클라이언트/서버 시스템이 맞지 않음 → P2P 기술을 이용하여 서버 부하 없이 구현
P2P 시스템의 예: 파일 공유
- 대용량 파일 공유 → 같은 파일을 가진 여러 사람으로부터 데이터 나눠 받는 방법 적용
기타 컴퓨팅 환경(2000년대 초반~현재)
그리드 컴퓨팅
- Grid computing
- 컴퓨팅 자원을 구매하여 사용하는 컴퓨팅 환경
- 컴퓨터 성능이 급속도로 발전하는 경우
- 대용량 컴퓨터 풀(computer pool)을 구성 → 원격지와 연결하여 대용량 연산을 수행하는 환경
- 하드웨어적인 컴퓨팅 환경의 통합
- ↔ SaaS(Software as a Service)
- 사용자가 소프트웨어 기능을 필요할 때 필요한 만큼만 이용하고 비용 지불
- 예시 - 웹하드
- 그리드 딜리버리(grid delivery)
- 이전에 해당 파일을 받은 컴퓨터로부터 몰래 데이터를 빼와서 전달하는 기술
- 사용자의 컴퓨터를 느리게 하는 주범
- 그리드 딜리버리(grid delivery)
클라우드 컴퓨팅
- Cloud computing
- 그리드 컴퓨팅 + SaaS
- 언제 어디서나 응용 프로그램과 데이터를 자유롭게 사용할 수 있는 컴퓨팅 환경
- 2006년 구글의 크리스토프 비시글리아(Christophe Bisciglia)가 처음 제안
- 특히 회사차원의 유지보수 측면에서 강점
- 과거
- 회사에 서버 설치, IDC(Internet Data Center)에 서버를 두고 서비스
- 이 경우 서버 관리, 네트워크 관리, 보안 관리 등을 사내 인력으로 해결해야 함
- 클라우드 컴퓨팅 환경
- 클라우드 서버 제공자가 위의 내용을 알아서 해줌
- 과거
사물 인터넷
- IOT(Internet of Things)
- 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술
반응형
'03. Resources > Operating System' 카테고리의 다른 글
[맥북/맥OS] 맥북 스크린샷 찍는 방법, 스크린샷 저장 위치 바꾸는 법 (2) | 2022.08.28 |
---|---|
[쉽게 배우는 운영체제] 1-3. 운영체제의 구조 (0) | 2022.05.16 |
[쉽게 배우는 운영체제] 1-1. 운영체제의 개요 (0) | 2021.08.28 |