운영체제의 역사

임동혁·2022년 9월 27일
0

[쉽게 배우는 운영체제](조성호, 한빛아카데미, 2018)의 내용과 목차를 기반으로 하여 여러 참고 자료와 함께 공부하며 스스로 이해한 내용을 정리했습니다.

개요

  • 운영체제 없음 -> 일괄 작업 시스템 -> 대화형 시스템 -> 시분할 시스템 -> 분산 시스템 -> 클라이언트/서버 시스템 -> P2P 시스템 -> 기타(그리드 컴퓨팅, 클라우드 컴퓨팅, 사물 인터넷)

일괄 작업 시스템(batch job system, batch processing system)

  • 작업에 필요한 프로그램과 데이터를 동시에 입력해야 작업이 가능하다.

  • 모든 작업을 한꺼번에 처리해야 하고 프로그램 중간에 데이터 입력/수정을 할 수 없다.

대화형 시스템(interactive system)

  • 키보드와 모니터의 개발로 가능해졌다.

  • 작업 중간에 중간 결과물을 보여주고, 출력하거나 또는 작업의 흐름을 바꾸는 것도 가능해졌다.

  • 일괄 작업 시스템은 입출력이 거의 없어서 작업 시간을 예측할 수 있었으나, 대화형은 사용자가 언제 반응할지 모르는 등의 이유로 작업 시간 예측이 어려워졌다.

시분할 시스템

개념

  • 다중 프로그래밍(multiprogramming): 하나의 CPU로 여러 작업을 동시에 수행하는 것으로, 일괄 작업 시스템에 비해 고효율이다.

  • 이는 시간을 매우 잘게 쪼개어 여러 작업에 나누어 주어 여러 작업이 동시에 이루어지는 것처럼 보이게 하는 것으로 컴퓨터 내부에서 구현되었고, 따라서 시분할 시스템(time sharing system, multitasking system)이라고 한다.

  • 잘게 나뉜 시간 조각을 타임 슬라이스(time slice) 또는 타임 퀀텀(time quantum)이라고 한다.

  • 단점으로 작업들을 동시에 처리하기 위한 추가 작업이 필요한 점과 중요한 작업이 제 시간에 끝나는 것을 보장할 수 없다는 점이 있다.

다중 사용자 시스템

  • 멀티프로그래밍 수준(level/degree of multiprogramming): 시분할 시스템에서 동시 프로그래밍되는 작업의 개수

  • 시분할 시스템에서 여러 작업을 동시에 할 수 있다는 것은 한 사람이 작업을 여러 개 동시에 할 수 있거나, 여러 사람이 동시에 작업할 수 있다는 의미도 된다. 즉 다중 사용자 시스템(multi-user system)을 가능하게 했다.

분산 시스템(distributed system)

  • 값이 싸고 크기가 작은 컴퓨터를 한데 묶어 대형 컴퓨터 같은 역할을 하게 한 것이다. 여러 컴퓨터로 작업하여 그 결과를 서로 교환한다.

클라이언트/서버 시스템

  • 모든 컴퓨터가 동일한 분산 시스템에서 나아가 작업을 요청하는 클라이언트와 작업을 처리하는 서버의 이중 구조로 나누는 구조이다.

  • 서버에 이용자가 몰릴 때 서버 과부하가 생길 수 있다.

  • 데몬: 서버에서 멈추지 않고 계속 작동하는 프로그램

P2P(peer-to-peer) 시스템

  • peer: 말단 노드로 이용자의 컴퓨터

  • p2p는 이 말단 노드 사이를 서버를 거치지 않고 연결하는 것으로 서버 부하가 적다

  • 메신저, 파일 공유

기타

그리드 컴퓨팅

  • 필요한 컴퓨터 자원을 구매하여 사용하는 컴퓨팅 환경이다.

클라우드 컴퓨팅

  • 그리드 컴퓨팅 + SaaS

사물 인터넷

  • 사물에 통신, 센서 기능을 내장하여 인터넷에 연결하는 기술이다.
    참고: [쉽게 배우는 운영체제], 조성호, 한빛아카데미, 2018

https://parksb.github.io/article/5.html

사진: https://onlinesmarttrainer.blogspot.com/2020/02/distributed-systems.html

profile
즐겁게 새로운 것을 공부하고, 이미 배운 것들을 이리 저리 연결하며 글을 써보고, 공부한 것을 다른 분들과 공유하면서 꾸준히 발전하고자 만든 공간입니다!

0개의 댓글