2013-08-20 4 views
1

제 질문은 커널 공간 프로그래밍에 관한 것입니다. 하드웨어 인터럽트 핸들러 사용자는/proc 파일에 무언가를 작성하기 때문에/PROC 핸들러를 방해하기 위해 실행하는 동안이 가능/proc 파일커널 공간 우선 순위

- 인터럽트 하드웨어 - : 의 우리가 2 핸들러가 있다고 가정하자?

그런 경우 두 핸들러의 우선 순위는 무엇입니까?

답변

1

귀하의 질문에 대답하거나 질문을 명확하게하려고 노력하겠습니다.

하드웨어 처리기가 인터럽트 컨텍스트에서 실행 중입니다. 물론 하나의 하드웨어 핸들러는 두 부분으로 나누어진다. 하나는 인터럽트 컨텍스트에서 실행되는 작지만 중요한 핸들이고 다른 하나는 soft-irq 컨텍스트에서 실행될 수있는 더 큰 핸들이다.

"/ proc 파일 처리기"(사용자가 호출 함)는 사용자 프로세스 컨텍스트에서 실행됩니다./proc 파일에 접근하면 핸들러가 실행되고 실행됩니다.

하드웨어 인터럽트 컨텍스트에서 언젠가는 로컬 하드웨어 인터럽트가 비활성화됩니다. soft-irq 컨텍스트에서 언젠가 BH가 비활성화되거나 커널 선매가 비활성화됩니다. 즉, 인터럽트 컨텍스트에서 언젠가는 일정이 발생하지 않습니다. 그래서 이것을 기반으로, "/ proc 파일 핸들러"의 우선 순위가 "인터럽트 핸들러"보다 낮다고 말할 수 있습니다.

"사용자가/proc 파일에 무언가를 써서 하드웨어 처리기가/proc handler로 인터럽트를 실행하는 것이 가능한가?" 현재 커널에서는 불가능합니다. 당신이 원한다면 해킹 할 가치가 없다고 생각합니다. 아무 의미가 없기 때문입니다.