Real Time System 이란?
Real-Time System은 컴퓨팅 시스템이 잘 돌아가는 지 판단하는 요소로 시간적 요소가 추가됨.
논리적으로 올바른 값을 계산했어도 이를 주어진 시간 안에 계산해내지 못하면 Real-Time System으로 가치가 없음.
Embedded System은 주로 특정 작업만 하도록 설계고 시간 안에 처리하는 것이 중요한 Embedded System에서 많이 사용됨.
자동차나 항공기에 들어가는 Embedded system의 결과가 1, 2초 늦어지는 것만으로도 큰 피해로 이어질 수 있습니다.
Hard Real-time
어떤 작업을 일정한 시간동안 반드시 수행, 처리 해야 하며, 그 시간이 지난 경우 결과값은 의미가 없는 경우
군사장비 등.
Soft Real-time
주어진 시간안에 처리하면 좋으나, 그렇지 못한경우 약간의 지연도 용인 되는 경우
GPS 등
일반 목적 OS와 차이

실시간 == Demerministic –결정론적?


비실시간 VS 실시간


RHEL for Real Time 특징
- Network Low Latency를 제공하는 것이 아님
- microsec(us) 단위의 tick 제공
- tuna tuning tool
- gettimeofday() -> clock_gettime()
- Full preempt 커널
시험환경
서버 | ||
Redhawk | RedHat | |
CPU | XEON SILVER 4116T, 2.1GHz 12 core | XEON SILVER 4116T, 2.1GHz 12 core |
# of CPU | 2 (total 24 Core) | 2 (total 24 Core) |
CPU Turbo Mode | 3.10 GHz | 3.10 GHz |
OS | Redhawk 8.2 | Redhat 8.5 |
Kernel Version | 5.4.109-rt56-RedHawk-8.2.2 | 4.18.0-305.rt7.72 |
- 결과
- 비교를 위해 동일 서버에서 Redhat 8.5와 Redhawk 8.2 임 비교 시험
- Network 시험의 경우 RedHat은 미시험
항목 | Redhawk 8.2 | Redhat 8.5 | |
GPIO Latency | Min | 1.2 us | 1.4 us |
Max | 41.4 us | 20.3 us | |
GPIO Jitter | 40.2 us | 18.9 us | |
쓰레드 지연시간 |
Min | 2 us | 3 us |
Max | 29 us | 56 us | |
Network | Throughput | 9.4 Gbits/s | N/T |
UDP Jitter | 0.007 ms | N/T | |
TCP Latency | 20.4 us | N/T | |
UDP Latency | 21.6 us | N/T |