고등운영체제, 인터럽트 기반 운영체제

hwakyungChoi·2020년 10월 21일
0

  • 다중 프로세서 시스템(Multiprocessor system)
    - 프로세서가 여러 개(CPU가 여러 대, 메모리가 한 개)
    - 병럴 시스템(페러렐 시스템)
    - 강결합 시스템(하나의 메모리에 CPU가 여러 개 강하게 연결)
    - 왜 여러개 달린 걸까?
    1) 퍼포먼스 : 더 많은 계산을 할 수 있음, 성능 향상의 목표
    2) 비용 : 하나의 강한 CPU를 구입하는 것보다는 더 약한 CPU 여러 개 구매하는 것이 더 저렴
    3) 신뢰성 : 하나가 고장나더라도 다른 CPU가 동작함
    - CPU가 여러개 있을 때와 하나 있을 때와의 OS 는 달라야 함 => 다중 프로세서 운영체제 (Multiprocessor OS)

  • 분산 시스템(Distributed system)
    - 강한 컴퓨터를 만드는 방법 중 하나로 CPU-Memory들을 LAN에 연결함
    • 하나의 LAN에 들어있기 때문에 서로 메세지를 주고 받음
    • 멀티 컴퓨터 시스템 : CPU-메모리가 하나의 컴퓨터이기 때문 멀티 컴퓨터 시스템으로 불림
    • 소결합 시스템 : 서로 떨어져있고 랜 상으로 느슨하게 연결
    • 각각 OS가 들어 있음, 하나의 일을 여러 컴퓨터에서 나눠서하고 있으며 메세지로 주고 받음 => 분산 운영체제

  • 실시간 시스템(Real-time system)
    - 위의 시스템들과 목적이 다름, 실시간 시스템은 꼭 정해진 시간에 끝내야 함 - deadline이 강력하게 제한되어 있음
    • ex) 내비게이션
    • 공장 자동화(FA),군사,항공,우주 => 미사일,
    • 실시간 운영체제 (RTOS)
      • 단순히 빠르기만 하는 것 중요 포인트가 아님

인터럽트 기반 시스템

가로채기?

  • 현대 운영체제는 인터럽트 기반 시스템
  • 부팅이 끝나면?
    - OS는 메모리에 상주 => 대기 중
    • 마우스를 움직이면 전기 신호가 발생 => 인터럽트
    • 마우스의 인터럽트 서비스 루틴이 발동
    • OS안의 코드는 인터럽트가 발생할 때 구동

  • 하드웨어인터럽터(마우스, 키보드 등)
  • 소프트웨어 인터럽터
    • 특정 명령어를 실행하면 인터럽터가 구동됨
    • int - 인터럽터의 약자
  • 내부 인터럽트
    - 대표적인 예 : 자기 자신한테 거는 interrupt는 exception
  • 아무 일 안하는 OS가 하드웨어 인터럽터에 의해 전기 신호가 발생 => OS 루틴으로 실행 -> 소프트웨어 인터럽터가 실행 => 인터럽트 기반 시스템

0개의 댓글