죄송합니다, 이것이이 질문에 적합한 장소인지 잘 모르겠습니다 만, 그렇지 않다면 사과하겠습니다. :)누군가가 이해할 수없는 운영체제 개념을 좀 도와 주실 수 있습니까? 인터럽트
저는 현재 운영체제 이론에서 모듈을 만들고 있는데, 저는 이것이 이해할 수없는 몇 가지 개념을 가지고 있습니다. 이것은 질문 할 수있는 적절한 곳이 될까요?
내 주요 질문은 인터럽트에 관한 것입니다. CPU가 인터럽트가 있음을 감지하면이 인터럽트가 발생한 곳을 찾아야한다는 것을 이해합니다. 내 이해는 다음과 같습니다. 누구에게이 말이 맞는지 말해 줄 수 있습니까? 내 지식의 몇 가지 차이점을 설명해주십시오.
CPU가 인터럽트가 발생한 곳을 감지하기 위해 모든 개체를 쿼리하여 원본을 식별 할 수 있지만 이러한 I/O 기반 질문에는 시간이 오래 걸릴 수 있습니다. 대신, 인터럽트 사이클을 사용하고 데이터 버스에서 인터럽트 식별자를 예상합니다. 그것이 8 비트 데이터 버스라면, 256 인터럽트 레벨 (즉, 2^8)이있다. (이유는 무엇입니까?)
그래서 가능한 모든 인터럽트 수준에 대해 인터럽트 서비스 루틴 (ISR)이 기록되고 프로세서에서 표준화 된 고정 위치 (인터럽트 벡터)의 테이블에 저장됩니다. 내 메모에 "주소를 알기 전에 위치를 알아야합니다"라고 표시됩니다 (의미는 무엇입니까?)
인터럽트주기의 일부로 수신 된 인터럽트 수준 식별자는 인터럽트 벡터에 대한 인덱스로 사용됩니다 이것 좀 내려주세요?). 내 이해 가치, 인터럽트 수준 식별자는 CPU로 전달되며 인터럽트 벡터를 가리 키도록 사용됩니다.
또한 인터럽트가 "서비스되는"경우는 무엇을 의미합니까?
대단히 감사합니다. 긴 단락으로 인해 유감스럽게 생각합니다. 나는이 부분의 많은 부분에 대해 조금 혼란스러워합니다!