반응형
실시간(Real-time) 시스템이란 정해진 시간이내에 태스크를 수행하는 시스템이다. 이 정해진 시간을 Deadline이라고 한다.
예를들면, 비행기에서 1ms 주기로 비행기 데이터 신호를 입력받은 후 신호를 처리하여 비행기 제어명령을 주는 비행 제어시스템이 있다고 가정한다. 만약 태스크가 Deadline인 1ms을 넘어간다면 비행기는 정상적으로 제어되지 못하고 추락할 수 있다.
실시간 시스템은 처리가 빠른지 느린지로 정의되는 것이 아니고 정해진 시간 이내에 태스크를 항상 처리할 수 있는지로 정의되는 시스템이다. 어떤 태스크를 실행하는데 1초가 걸리더라도 태스크를 항상 1초 이하로 실행한다면 그것은 실시간 시스템이다.
MS 윈도우는 매우 고속으로 데이터를 처리하지만 가끔 백그라운드 프로그램이 실행되면 몇 초간 지연되기도 하는 등 실행 시간을 예측할 수 없다. 그래서, MS 윈도우는 실시간 OS가 아니다.
실시간 시스템은 다음과 같이 분류할 수 있다.
- Hard Real-time : Deadline을 넘으면 절대 안되는 시스템
- Soft Real-time : Deadline을 넘어도 성능 저하는 있지만 동작은 하는 시스템
비행기 제어시스템, 엔진 제어시스템 등은 Hard 실시간 시스템을 사용해야 하고, 오디오/비디오 신호처리나 게임 엔진 등은 Soft 실시간 시스템을 사용해도 된다.
Hard 실시간 시스템은 Soft 실시간 시스템에 비해 구현이 어렵고 가격도 높기 때문에 Hard 실시간이 꼭 필요하지 않으면 Soft 실시간 시스템을 사용할 수 있다.
반응형
'전자 > 임베디드 시스템' 카테고리의 다른 글
STM32 HAL UART 인터럽터 함수 (0) | 2022.09.27 |
---|---|
STM32 Flash 지우기/쓰기 (0) | 2022.09.26 |
MCU 리셋 회로 (0) | 2022.09.07 |
캘릭터 LCD 초기화 및 사용법 (0) | 2022.08.24 |
여러 MPU/MCU 사이의 통신 방법 (0) | 2022.08.07 |
댓글