Jestem początkującym dla Linux Kernel.
Wiem, że istnieją dwa kontekst
1. Proces Kontekst, działa w przestrzeni użytkownika lub Kernel przestrzeni (ex: w ramach połączenia System)
2. Przerwanie kontekścieW jakim kontekście wątek jądra działa w systemie Linux?
W jakim kontekście wątek jądra (nie związane z żadnym wątkiem użytkownika, na przykład: flush task) działa?
Czy istnieje inny kontekst inny niż kontekst przetwarzania i przerwań w jądrze systemu Linux?
Zasadniczo * Punkt * wątków jądra jest umożliwienie jądro na wykonanie kodu w kontekście procesu, ale nie bezpośrednio w imieniu danej przestrzeni użytkownika proces. – caf
@Pavan: Obsługiwane przerywacze przerwań (softirqs) wykazują cechy kontekstu przerwań (możesz nie spać), więc twierdzenie, że są one kontekstem procesu, jest sprzeczne. –
@ jørgensen Jeśli czytasz dokumentację GPIO tutaj-http: //www.kernel.org/doc/Documentation/gpio.txt, mówi ona: 'Dostęp do takich GPIO wymaga kontekstu, który może się uśpić, na przykład gwintowany przerywnik IRQ'' Czy to oznacza, że wątkowe procedury obsługi przerwań mogą spać w prawo? Masz rację co do softirqs. Ale czy nie są one jedynym rodzajem obsługiwanych przerwań? Czy nawet naprawdę odnosi się to do softirqów, kiedy mówią one o wątku obsługi przerwań? –