고등 운영체제
다중 프로세서 시스템 (Multiprocessor system)
메모리는 하난데, 프로세서(CPU)가 여러 개 있는 시스템을 말한다. 강한 결합이라고도 한다.
- Performance
CPU는 계산하는 역할을 한다. 여러 개가 있으면 더 많은 계산을 할 수 있어 성능 향상이 된다.
- Cost
컴퓨터는 빠를 수록 좋다. 하나의 좋은 CPU를 두는 것보다 안 좋은 CPU를 여러 개 두는 것이 비용적인 면에서 더 좋다.
- Reliability
하나가 고장나도 다른 것들이 동작할 수 있어서 신뢰성이 높다.
- Multiprocessor OS
다중 프로세서 운영체제라고도 부른다.
분산 시스템 (Distributed System)
CPU와 메모리로 구성된 컴퓨터 여러 대가 LAN
으로 연결되어 있는 구조이다. LAN
으로 느슨하게 묶여져 있다고 해서 소결합이라고도 한다.
- Multi Computer System
다중 컴퓨터 시스템이라고도 한다. 분산되어 있는 컴퓨터들을 위한 운영체제가 따로 있다.
다중 프로세서 시스템과 목적이 같아 Performance, Cost, Reliable
측면에서 차이가 나지 않는다.
실시간 시스템 (Real-time System)
시간 내에 컴파일이 반드시 끝나야하는 시스템, 정해둔 시간 내에 컴파일을 못하면 실패한다.
단순히 빠르게 하는 것이 중요한게 아닌, 요구하는 정보를 시간 내에 제시해줘야하는 것이 포인트
리얼 타임 OS는 해당 요구정보를 제 시간 내에 제시해주기 위해 프로세서가 잘 끝낼 수 있도록 조절해 주는 역할을 한다.
ex) 네비게이션, 공장 자동화(factory operation), 군사 목적 시스템
인터럽트 기반 시스템
가로챈다
현대 운영체제는 인터럽트 기반 시스템이다.
프로세서와 메모리, 보조기억장치
부팅이 된 후, 운영체제는 메모리에 상주하게 되고, 운영체제는 아무일도 하지 않는다.
그리고 사용자가 마우스를 움직일 때, 전기 신호가 발생하는데, 이 전기 신호가 인터럽트한다고 한다. 그래서 전기 신호가 발생하면 CPU는 현재 하던 일을 중지하고 OS의 마우스가 전기신호를 보냈을 때 어떤 일을 하라는 일(Interrupt Service Routine)을 찾아서 해당 일을 CPU가 수행하게 된다.
특정 아이콘을 마우스가 더블 클릭했을 때, 그 특정 아이콘의 좌표를 가져와서 마우스가 더블 클릭했을 때 수행하는 일을 OS에서 찾아서 CPU에서 수행하도록 한다.
즉, 인터럽트가 발생할 때 작동한다. 하드웨어 인터럽트(마우스, 키보드 등)에 의해서 실행된다. 소프트웨어 인터럽트도 존재한다.
OS 안에는 수많은 인터럽트 시스템 코드가 들어있는데, 해당 코드들은 특정 인터럽트가 발생했을 때 실행된다는 것이 포인트이다.
- 하드웨어 인터럽트
- 소프트웨어 인터럽트(hwp, swi)
- 내부 인터럽트(CPU가 특정 코드를 실행할 때 코드가 실행완료하지 못하는 구조일 때, 내부적으로 인터럽트를 일으킨다 - 강제종료)