728x90
반응형

운영체제의 역사

  1. 1940년
    에니악: 특정 명령에 맞는 스위치와 배선을 연결하여 프로그래밍을 함.
    문제 1) 30톤짜리 기계에 많은 스위치와 배선을 이용하기 때문에 인력이 많이 필요하고 시간이 오래 걸림.
  2. 1950년도 초반
    직접회로(IC): 진공관과 전선으로 만들어진 논리 회로를 아주 작은 크기로 만든 전자회로
    => 스위치와 배선 작업을 하는 것보다 훨씬 편해짐
    동작 방식: 펀치 카드를 이용해서 프로그래머가 카드에 구멍을 뚫어 프로그래밍을 하면 컴퓨터가 카드를 읽어 계산을 하고 결과가 프린터로 출력이 됨.
    문제 1) 프로그래머가 작성한 펀치 카드(프로그램)를 오퍼레이터가 컴퓨터에 카드를 넣고 그 결과를 프로그래머에게 전달함. 이런 과정이기에 오퍼레이터의 오버헤드가 너무 컸음.
    문제 2) 입출력 작업을 하는 동안에는 CPU를 사용할 수 없음
  3. 1950년도 중후반
    싱글스트림 배치시스템: 프로그래머가 오퍼레이터에게 펀치 카드 여러 개를 한 번에 전달하고, 컴퓨터는 여러 개의 프로그램을 순서대로 실행해서 결과도 한 번에 확인가능하도록 함
    => 작업이 끝날 때마다 일일이 오퍼레이터가 결과를 꺼내고 다시 다른 프로그램을 실행시키는 과정이 사라져서 CPU 사용량이 올라감.
    I/O 디바이스 컨트롤러: 입출력 중에도 CPU가 계산할 수 있도록 함. 입출력 작업이 끝나면 CPU에게 인터럽트 신호를 주고, 인터럽트를 받은 CPU는 다시 처리를 진행함.
    문제 1) CPU와 입출력을 분리했지만, 입출력에도 CPU를 기다려야 하는 작업이 존재함
            => 입력 처리 작업의 경우 입력이 완료될 때까지 기다려야 함.
  4. 1960년도
    시분할 시스템: 메모리에 여러 프로그램을 올려놓고 시간을 나누어서 번갈아 가면서 프로그램을 실행함.
    UNIX: 멀티프로그래밍, 다중 사용자, 파일 시스템을 구현한 운영체제
    문제 1) 메모리에 여러 프로그램이 올라와서 작업을 진행하기에 메모리 침범 이슈가 발생함
    문제 2) 기존에는 프로그램이 하나라고 가정하고 개발해서 바로 하나의 메모리 위치만 알면 됐는데, 프로그램이 여러 개가 돼서 각 프로그램의 메모리 위치를 알 수가 없어짐.
            => 베이스 레지스터를 사용하여 해결함.
    베이스 레지스터: 메모리에서 프로그램이 사용하는 데이터와 명령어의 시작 주소를 저장하는 레지스터
728x90
반응형

'운영체제 > 1. 운영체제란?' 카테고리의 다른 글

1.3 운영체제의 구조  (0) 2024.09.23
1.1 운영체제란?  (0) 2024.09.23

+ Recent posts