2 minute read

운영체제의 역사

- 초장기 컴퓨터 (1940년대)

    진공관이라는 소자를 사용하여 진공관이 켜지면 1, 꺼지면 0이라고 판단했는데 이는 컴퓨터가 2진법을 사용하는 계기가 됨

    전선을 연결하여 논리회로를 구성하는 하드 와이어링을 통해 프로그램함

- 일괄 작업 시스템 (1950년대)

    모든 작업을 한꺼번에 처리해야 하고 프로그램 실행 준가에 사용자가 데이터를 입력하거나 수정하는 것이 불가능한 시스템

- 대화형 시스템 (1960년대)

    키보드, 모디터가 개발됨으로써 작업 중간에 사용자가 입력을 하거나 사용자에게 중간 결과값을 보여줄 수 있는 시스템

    - CPU 집중 작업과 입출력 집중 작업
        - CPU 집중 작업

            대부분의 작업이 CPU 만 사용하는 계산 작업

            일괄 작업 시스템에서 대부분의 작업

        - 입출력 집중 작업

            프로그램이 실행되는 동안에 입출력이 가능한 작업

            대화형 시스템에서 생김

- 시분할 시스템 (1960 년대)
    - 다중 프로그래밍

        하나의 CPU 로 여러 작업을 동시에 실행하는 기술

        - 시 분할 시스템

            여러 작업을 조심씩 처리하여 작업이 동시에 이루어지는 것처럼 보이게 하는 것

            여러 작업을 동시에 처리하기 위한 추가 작업 필요

            시스템 내에 많은 양의 작업 공전할 시 중요한 작업이 일정 시간 안에 끝나는 것 보장하지 못 함

            - 타임 슬라이스

                잘게 나뉜 시간 한 조각

            - 실시간 시스템

                일정 시간 안에 작업이 처리되도록 보장하는 시스템

                - 경성 실시간 시스템

                    지정한 응답 시간을 정확히 지키는 시스템

                - 연성 실시간 시스템

                    지정한 응답 시간을 최대한 지키지만 융통성이 어느 정도 허용된 시스템

    - 다중 사용자 시스템

        하나의 컴퓨터에서 여러 명이 작업할 수 있음

        - 멀티프로그래밍 정도

            시분할 시스템에서 동시에 실행되는 작업의 개수

- 분산 시스템(1970년대)

    개인용 컴퓨터와 인터넷을 이용하여 값이 싸고 크기가 작은 컴퓨터들을 하나로 묶어 대형 컴퓨터에 버금가는 시스템

    모든 컴퓨터가 동일한 지위이기 때문에 컴퓨터 고장이나 추가 시 작업 분배하고 결과 모으기 어려움

- 클라이언트/서버 시스템 (1990년대 ~ 현대)

    작업을 요청하는 클라이언트와 거기에 응답하여 요청받은 작업 처리하는 서버의 이중 구조

    서버의 과부하 생길 수 있음

    - 데몬

        멈추지 않고 계속 작동하는 프로그램

        데몬을 가진 컴퓨터를 서버라고 부름

- P2P 시스템 (2000년대 초반 ~ 현재)
    - P2P 시스템의 개념

        서버를 거치지 않고 peer(말단 노드인 사용자의 컴퓨터) 끼리 직접 연결한다는 의미

    - P2P 시스템의 예: 메신저

        클라이언트/서버로는 힘드므로 P2P 기술 이용

        서버에 접속하여 사용자 인증, 출석 등의 정보를 거친 후 완료될 시 서버를 거치지 않고 사용자 간에 직접 채팅하거나 데이터 전달

    - P2P 시스템의 예: 파일공유

        같은 파일을 가진 여러 사람으로부터 데이터 나누어 받음

- 기타 컴퓨팅 환경 (2000년대 초반 ~ 현재)
    - 그리드 컴퓨팅

        필요한 컴퓨팅 자원을 구매하여 사용하는 컴퓨팅

        분산 시스템의 한 분야

        서로 다른 기종의 컴퓨터들을 묶어 대용량의 컴퓨터 풀을 구성하고 이를 원격지와 연결하여 대용량 연산을 수행하는 컴퓨팅 환경

        - SaaS

            사용자가 필요할 때 소프트웨어 기능을 이용하고 그만큼만 비용을 지불하는 개념

    - 클라우드 컴퓨팅

        언제 어디서나 응용 프로그램과 데이터를 사용할 수 있는 컴퓨팅 환경

        그리드 컴퓨팅과 SaaS 합쳐놓음

    - 사물 인터넷

        사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술