본문 바로가기

카테고리 없음

RTOS?

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