2010-05-04 5 views
1

분할 된 인터럽트 아키텍처 RTOS는 인터럽트 처리기와 스케줄러 간의 작업을 영리 분할하여 "제로 인터럽트 대기 시간"을 자랑 할 수 있습니다. 이 접근 방식에는 독점 폐쇄 소스 인스턴스가 두 개 이상 있습니다 (예 : AVIX 및 Quasarsoft-Q-Kernel).오픈 소스 세그먼트 화 인터럽트 아키텍처 RTOS?

관련 질문은 open source RTOS links에 대해 물었습니다. 그러나 제안 된 모든 운영 체제는 통합 인터럽트 아키텍처를 사용했습니다.

오픈 소스 세그먼트 화 인터럽트 아키텍처 RTOS가 있습니까?

답변

1

"지연된 인터럽트"서비스 또는 처리라고도하는 것으로 생각합니다. 따라서이 용어를 사용하여 후보를 찾을 가치가 있습니다.

ISR 서비스를위한 우선 순위가 가장 높은 작업 레벨을 예약하여 '가짜'로 만들 수 있습니다. 즉, 32 개의 인터럽트 벡터가 있다고 가정하면 ISR2 레벨의 우선 순위 0 ~ 31 (0으로 가정)을 예약하게됩니다. . 각각의 실제 인터럽트는 단순히 ISR2 태스크를 알리는 이벤트 플래그를 설정합니다. 이 경우 ISR2 작업에서 차단 기능을 호출하지 않아도되지만 너트 논 블로킹 커널 서비스는 자유롭게 사용할 수 있습니다.

이것이 정확히 똑같은 효과를 줄지 확신하지 못합니다. (지금 가지고있는 것보다 더 충분히 연구해야합니다.) 그렇다고해서 사실에서 최소한의 작업 만 할 수 있습니다. ISR 및 실제 ISR은 항상 ISR2를 선점합니다.

+0

감사합니다. Clifford, "지연된 인터럽트"힌트로 인해 독점적이지만 소스 코드가 제공되는 smx RTOS가 나타납니다. 현재 내가 언급 한 접근 방식을 사용합니다 (우선 순위가 높은 인터럽트는 낮은 우선 순위 인터럽트를 활성화하기 위해 플래그를 설정 함). 일부 응용 프로그램에서는 잘 작동하지만 백그라운드 스레드 스케줄러와의 상호 작용은 쉽지 않습니다. –

관련 문제