Windows 10 소프트 실시간은 디바이스 제조업체가 디바이스에 소프트 실시간 기능을 도입할 수 있는 Windows 10 IoT Enterprise 버전 21H2 새로운 기능입니다.
이 실시간 동작은 4가지 주요 설정을 통해 도입됩니다.
CPU 격리: 격리된 CPU에서 시스템 수준 방해 요소를 마이그레이션하여 사용자의 실시간 애플리케이션에서 잠재적인 지터를 줄입니다.
격리된 CPU 사용자 지정 ISR/DPC 고정: 모든 하드웨어 인터럽트는 시스템 및 비 실시간 코어로 라우팅되지만 사용자 지정 ISR/DPC 드라이버를 작성하면 디바이스별 인터럽트를 실시간 코어로 라우팅할 수 있습니다.
뮤텍스 우선 순위 상속: 이 설정은 복잡한 다중 스레드 시나리오에서도 우선 순위가 가장 높은 스레드가 실행되도록 합니다.
최대 16개의 RT 스레드 우선 순위 수준: 프로그래머가 실시간 작업 간에 리소스를 분할하여 가장 중요한 작업이 먼저 실행되도록 할 수 있습니다.
Real-Time 운영 체제란?
프로그램을 실행할 때 일반 운영 체제는 결정적 결과를 제공하지만 비결정적인 시간 동안 작업을 완료할 수 있습니다. 실시간 운영 체제에서는 프로그램 실행 결과와 이러한 결과를 가져오는 데 걸린 시간이 모두 (적어도 부분적으로) 결정적입니다.
하드 Real-Time 및 소프트 Real-Time
하드 실시간 운영 체제는 필요한 시간이 정확하게 결정되는 시스템입니다. 이러한 운영 체제는 정시에 결과를 얻지 못하면 전체 시스템 오류가 발생하는 사용 사례에 배포됩니다. 예를 들어 자동차 엔진 또는 비행기 내의 마이크로 컨트롤러, 프린터, 레이저 커터 등이 있습니다. Azure Real-Time OS는 이러한 OS의 예입니다.
소프트 실시간 운영 체제는 운영 체제의 약간의 지터로 인해 정확한 순간보다는 프로그램 완료를 위한 약간의 시간이 있는 운영 체제입니다. 소프트 실시간 시스템은 정확도가 낮지만 여러 코어에서 실행할 수 있으며 애플리케이션에 더 적은 제한을 적용할 수 있습니다. 이 가이드를 사용한 후 Windows 10 IoT Enterprise에서 기대할 수 있는 실시간 성능 유형입니다.
Real-Time 성능이 필요한 경우는 언제인가요?
실시간 성능이 반드시 더 빠른 성능은 아닙니다. 그것은 단지 예측 가능한 성능입니다. 전반적인 시스템 성능을 향상시키려면 소프트 실시간이 이를 달성하는 가장 좋은 경로가 아닐 수 있습니다. 그러나 실제 제약 조건(예: 로봇의 환경이 변경되기 전에 수행해야 하는 계산 또는 컨베이어 벨트가 움직이기 전에 활성화해야 하는 모터)이 있는 경우 부드러운 실시간이 필요할 수 있습니다.
소프트 실시간 디바이스는 더 광범위한 제어 루프 내에서 상태 컴퓨터에서 동작을 트리거하는 데 더 자주 사용됩니다. 더 작은 하드 실시간 제어 루프는 더 넓은 루프 내에 있으며 소프트 실시간 컴퓨터가 동작을 변경하는 입력을 제공 할 때까지 독립적 인 마이크로 컨트롤러에서 작동합니다. 많은 명령 및 제어 루프에는 격렬한 주기 시간 요구 사항이 있으며 직접 제어를 위해 루프에서 하드 실시간 디바이스를 사용해야 합니다.