Nie jestem pewien, czy rozumiem pojęcie przerw w sprzęcie i oprogramowaniu.
Jeśli dobrze rozumiem, celem przerwania sprzętowego jest zwrócenie uwagi na procesor, co jest częścią implementacji wielozadaniowości procesora.
- Co zatem powoduje przerwanie sprzętowe? Czy to proces sterownika sprzętu?
- Jeśli tak, gdzie przebiega proces sterownika sprzętu? Jeśli działa na CPU, to nie będzie musiał zwracać na niego uwagi przez przerwanie sprzętowe, prawda? Czy to działa gdzie indziej?
- Czy przerwanie sprzętowe przerywa procesor bezpośrednio, czy też najpierw kontaktuje się z procesem jądra, a następnie proces jądra kontaktuje się / przerywa procesor?
Z drugiej strony, myślę, że celem przerwania oprogramowania jest proces aktualnie działający na CPU, który zażąda pewnych zasobów.
- Jakie są zasoby? Czy wszystkie mają postać uruchomionych procesów? Na przykład, czy proces sterownika procesora i procesy sterownika pamięci reprezentują zasoby procesora i pamięci? Czy proces sterownika urządzeń we / wy reprezentuje zasoby we / wy? Czy inne uruchomione procesy, z którymi proces chciałby się komunikować, również mają zasoby?
- Jeśli tak, to czy oprogramowanie przerywa kontakt z procesami (które reprezentują zasoby) pośrednio poprzez proces jądra? Czy to prawda, że w przeciwieństwie do przerwania sprzętowego, przerwanie programowe nigdy nie przerywa bezpośrednio procesora, ale zamiast tego przerywa / kontaktuje się z procesem jądra?