ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [운영체제]Chapter02 - 운영체제의 역사
    IT&컴퓨터공학/운영체제 2020. 1. 15. 21:15

    1. 운영체제의 역사

     

    컴퓨터는 영국의 수학자이자 철학자, 발명가, 기계공학자였던 '찰스 배비지(charles babbage)' 로부터 시작됩니다.

    https://ko.wikipedia.org/wiki/%EC%B0%B0%EC%8A%A4_%EB%B0%B0%EB%B9%84%EC%A7%80

    찰스 배배지는 기계식 컴퓨터를 최초로 개발한 인물로서,

    '프로그램이 가능한 컴퓨터' 개념의 시초자이자 '컴퓨터의 아버지' 로 불립니다.

     

    이 당시에 컴퓨터는 순전히 기계적 장치의 의존했었는데, 이후 사람들은 이 하드웨어 덩어리에 소프트웨어가 필요함을 인식하게 됩니다.

     

    ① 제 1 세대 (1945~1955)

    - 진공관과 플러그 보드 

    - 천공카드의 등장

    - 단순한 수치계산 ( 싸인, 코싸인, 로그 등)

     

    ② 제 2 세대 (1955~1965)

    - 트랜지스터 이용

    - 과학/ 공학 계산에 활용

    - 운영체제의 등장 : FMS(Fortran 우리가 잘 알고있는 포트란 Monitor System) , IBM 7094 의 운영체제였던 IBSYS

     

    ③ 제 3 세대 (1965~ 1980)

    - 이때부터 컴퓨터가 비약적으로 발전함

    - 컴퓨터가 두개로 나눠짐

    • 워드 기반 대형 컴퓨터 : 과학/ 공학 수치 계산에 이용 - 워드 단위로 데이터 처리
    • 문자 기반 상업용 컴퓨터 : 은행이나 보험회사에서 테이프를 정렬하고 프린트 하는데 이용 - byte 단위로 데이터 처리

    - IC(Integrated Circuit) 와 Multiprogramming ( 멀티프로그래밍 ) 의 등장

     

       ※ 주의 할 점

    • 멀티프로그래밍 : CPU는 단 하나. 메모리 관점에서 공간다중화를 이용한 프로그래밍 기법
    • 멀티프로세싱 : CPU 자체가 여러개 - 멀티 코어라고 부름. ( 멀티 프로그래밍을 포함하기도 함 )

    - 중요 기능 등장

     

    • 스풀링 : 대부분 처리장치보다 주변장치의 속도가 훨씬 느리다. 때문에 중앙처리장치 와 입출력장치가 독립적으로 동작하도록 함으로써 둘 사이의 속도차이를 개선하기 위해 고안된 기법이다.

          ex ) 컴퓨터로 50 장의 프린트를 출력한다고 한다면, 당연히 컴퓨터가 50장의 프린트를 정리하여 프린트기로 보내        는 시간은 매우짧고, 프린트기에서 한장 한장 50장의 프린트를 뽑는건 오래걸린다.

     

          만약CPU가 프린터 출력을 직접 제어한다면 프린터의 인쇄 작업이 끝날 때까지 다른 일을 하지 못하게 된다. 이런          문제를 해결하기 위해 프린터로 전송될 데이터를 하드디스크에 잠시 저장하고, CPU는 다른 일을 처리하면서 필요        할 때마다 조금씩 프린터로 보내주는 방식으로 CPU 사용효율을 향상시킬 수 있다.

     

    • 시분할( Time Sharing )  : 시간 다중화를 CPU에 적용한 방식 ( 시간다중화는 Chapter 01 에 소개되어 있다. )

    ④ 제 4 세대 ( 1980 ~ 현재 )

     

    - 두가지 운영체제의 등장

    • NOS ( Network Operating System ) : 네트워크 운영체제 : 원격지 자원에 대한 관리 담당
    • DOS ( Distributed Operating System ) : 여러개의 프로세서로 구성된 시스템이라도 사용자에게는 단일 프로세서 시스템으로 보이도록 한다. 병렬화를 최대화한다.

    ※ 중요 부분 : 멀티프로세싱 / 멀티 프로그래밍의 차이, 시분할과 스풀링

       멀티 프로그래밍은 공간다중화를 메모리 에 적용함 .

       시분할은 시간다중화를 CPU에 적용함.

       context switch : 프로세스간의 전환 . 멀티 프로그래밍 환경에서 A라는 프로세스가 CPU 를 사용하다가 B라는 프로세     스에게 CPU 사용권을 넘김.

    댓글

Designed by Tistory.