2009-10-08 3 views

답변

0

질문이 있으시면 다른 작업의 우선 순위를 상속하는 작업이 있으며이 다른 작업을 식별하는 데 어려움이 있습니다. i WindSh 명령이 상속 된 우선 순위를 인쇄하지만 그럴 경우 보류해야하는 보류 작업에 대한 단서를 제공 할 수 있습니다. 몇 가지 작업으로 범위를 좁히면 tw 명령을 사용하여 작업이 보류중인 개체에 대한 정보를 인쇄 할 수 있어야합니다.

중요한 점은 왜 우선 순위 상속에 대한 우려입니까? 모든 우선 순위 상속이 문제가 아니라 우선 순위 반전에 대한 해결책입니다.

+0

예,'i' 명령은 상속 된 우선 순위를 인쇄합니다. – bstpierre

1

작업에서 백 트레이스를 얻을 수 있으면 어떤 종류의 시스템 엔티티 (예 : 세마포어)에서 차단 된 것을 볼 수 있습니다. 백 트레이스에 인쇄 된 arg 목록을보고 C 쉘의 semShow를 사용하여 해당 세마포어에 대한 정보를 얻을 수 있습니다. 다른 시스템 동기화 엔티티도 비슷한 * Show 루틴을 제공합니다.

엔티티가 "소유자"개념을 지원한다고 가정하면 semShow는 소유자의 TID를 표시해야합니다.

1

이전 버전의 토네이도 기반 시스템에서 WindView 도구를 사용하면 시간이 지남에 따라 작업 간의 관계를 볼 수 있습니다. WindView는 모든 작업 상태 전환, 인터럽트, 세마포어 작업 등을 표시 할 수 있습니다.

새로운 Workbench 기반 시스템의 경우 이제 동일한 도구를 시스템 뷰어라고합니다.

WindView/System Viewer는 작업 상태와 관련하여 발생하는 문제를 조사 할 수있는 고급 방법입니다.

0

작업이 READY + I이면 더 이상 세마포어를 기다리지 않는다고 생각합니다. CPU에 액세스하려고 대기 중입니다. READY + I 태스크 실행을 방해하는 더 높은 우선 순위의 태스크를 실행해야합니다.