4장. 애플리케이션 튜닝 및 배포
최적의 구성과 설정을 조합하여 실시간 커널을 튜닝하면 RHEL for Real Time 애플리케이션을 개선하고 개발하는 데 도움이 될 수 있습니다.
일반적으로 POSIX 정의 API(애플리케이션 프로그래밍 인터페이스)를 사용하십시오. RHEL for Real Time은 POSIX 표준을 준수합니다. RHEL for Real Time 커널의 대기 시간 감소도 POSIX 를 기반으로 합니다.
4.1. 실시간 애플리케이션의 신호 처리 링크 복사링크가 클립보드에 복사되었습니다!
기존 UNIX 및 POSIX 신호는 오류 처리에 유용하지만 실시간 애플리케이션에서 이벤트 전달 메커니즘으로 적합하지 않습니다. Linux 커널 신호 처리 코드는 레거시 동작 및 지원되는 많은 API로 인해 복잡하므로 신호 전달을 위한 코드 경로가 항상 최적이 아니며 대기 시간이 길어질 수 있습니다.
UNIX 신호의 원래 동기는 서로 다른 실행 "스레드" 간에 하나의 제어 스레드(프로세스)를 멀티플렉싱하는 것이었습니다. 신호는 운영 체제 인터럽트와 유사하게 작동합니다. 즉, 신호가 애플리케이션에 전달되면 애플리케이션의 컨텍스트가 저장되고 이전에 등록된 신호 처리기를 실행하기 시작합니다. 신호 처리기가 완료되면 애플리케이션은 신호가 전달된 위치로 돌아갑니다. 이는 실제로 복잡해질 수 있습니다.
신호는 실시간 애플리케이션에 대한 신뢰에 너무 비 결정적입니다. 더 나은 옵션은 POSIX Threads(pthreads)를 사용하여 워크로드를 배포하고 다양한 구성 요소 간에 통신하는 것입니다. 뮤지션의 pthreads 메커니즘을 사용하여 스레드 그룹을 조정할 수 있습니다. 비교적 새로운 구성을 통한 코드 경로는 신호에 대한 레거시 처리 코드보다 훨씬 깔끔합니다.