[운영체제] 운영체제의 역사

ideal dev·2022년 12월 19일
0

운영체제

목록 보기
2/9

컴퓨터의 역사

- 1940년대말

: No OS
: 건물 하나 정도 크기의 컴퓨터가 있었음 ( 왕 큰 컴퓨터 )
: 컴퓨터 오퍼레이터가(아래 참고) 전산실에서 넘겨준 종이를 컴퓨터에 직접 입력
: Card reader > memory > processing > line printer

- 일괄처리 시스템 (Batch processing system)

: 최초의 OS
: 컴파일 -> 링크 -> 로딩 순서를 자동화하여 프로그램을 작성
: 해당 프로그램을 프로세서의 메모리 안에 할당 (=resident monitor : 항상 프로세서 안에 상주함)

: 단점
컴퓨터는 비싼 자원인데, 하나의 프로세스씩 처리하면 CPU가 노는 시간 즉, idle 상태가 길어짐. (CPU와 I/O 장치는 교대로 동작)
ex) User Program1이 I/O장치 수행 중일 때, CPU는 idle 상태

- 다중프로그래밍 시스템 (Multiprogramming system)

: 빠른 CPU와 느린 I/O로 CPU의 idle 상태의 단점을 보완하여 메모리에 여러 개의 프로세스 실행
ex) User Program1이 I/O 처리 중일 때, User Program2 실행하여 idle 상태의 시간을 줄임.

: 문제점
프로그램을 올릴 때 어느 위치에 넣을 것인가, 다른 프로그램에 대한 보호는 어떻게 할 것인가 등의 문제 -> 해결법 : CPU 스케쥴링

- 시공유 시스템 (Time-Sharing System)

: CPU가 하나의 프로그램을 수행하는 시간을 제한하는 것
: 일정시간이 지났을 때 다음 프로그램으로 swtiching , 강제 절환

일정 시간
-> 매우 짧은 시간(ms)
-> CPU가 하나인 환경에서도 여러 사용자가 동시에 사용하는 듯한 효과
-> 프로세스간의 통신이 가능해짐 ( 대화형 시스템 , interactive system )
-> 가상 메모리, 동기화 등의 문제점

ex)
3명의 유저가 1/100초씩 수행하며 번갈아가며 사용
(1초당 user1,user2,user3 는 약 33회 사용 가능)

- 인터럽트 기반 시스템 (Interrupt-Based System)

: 현대 운영체제는 인터럽트 기반 시스템
컴퓨터 Power On ! = 부팅시작
-> 부트로더가 하드 디스크에 있는 OS 를 RAM에 가져와 할당
-> 할당된 운영체제는 MEMORY에 상주하며, 사건을 기다림.
사건 : 키보드, 마우스 ...

ISR ( Interrupt Service Routine)
: 사용자가 마우스, 키보드 등의 동작을 할 때, 인터럽트를 통해 알 수 있음.
마우스 클릭
-> 마우스에서 인터럽트 전기 신호 발생
-> 이를 CPU에게 보냄
-> CPU는 하던 일을 멈춘 후, 신호 처리를 위해 운영체제 내부에 있는 ISR 로 이동
이와 같이 하드웨어에서 발생한 인터럽트 : 하드웨어 인터럽트 (Hardware Interrupt)

소프트웨어에서도 인터럽트 요청 가능 : 소프트웨어 인터럽트 (Software Interrupt)
-> 명령어로 직접 인터럽트 전기 신호를 CPU에게 보낼 수 있음.
ex)
-> 마우스로 워드 실행 -> 하드웨어 인터럽트
-> 워드프로그램에서 하드디스크에 있는 다른 워드 파일을 읽고 싶을 때 -> 소프트웨어 인터럽트

내부 인터럽트(Internal Interrupt)
: 프로그램을 수행하는 도중에 발생하는 예외 상황 처리
: 잘못된 동작을 수행한 프로그램을 강제 종료

  • 운영체제는 평소에는 대기 상태
  • CPU는 인터럽트가 들어오면 하던 일을 중지하고, 해당 인터럽트를 처리하기 위해 운영체제 내부에 있는 ISR로 이동하여 수행
  • 끝나면 다시 돌아감

컴퓨터 오퍼레이터 (computer operator) = 컴퓨터 운영자


출처 : https://www.scienceall.com/컴퓨터-오퍼레이터computer-operator/

강의 : http://www.kocw.net/home/search/kemView.do?kemId=978503
(명강의👍)
참고 : https://velog.io/@codemcd/운영체제OS-2.-운영체제-역사

🤔
정리도 뭔가 복잡해보이고, 한 눈에 들어오지 못하는 느낌이 강하군!
계속 강의정리 해나가면서 가독성 좋아지게 노력해야겠다.

0개의 댓글