Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Procesor na komputerze z systemem Windows działa w dwóch różnych trybach: tryb użytkownika i tryb jądra. Procesor przełącza się między tymi trybami w zależności od typu wykonywanego kodu. Aplikacje działają w trybie użytkownika. Podstawowe składniki systemu operacyjnego działają w trybie jądra. Chociaż wiele sterowników działa w trybie jądra, niektóre mogą działać w trybie użytkownika.
Tryb użytkownika
Po uruchomieniu aplikacji w trybie użytkownika system Windows tworzy proces. Proces ten zapewnia aplikacji prywatną wirtualną przestrzeń adresową oraz prywatną tabelę uchwytów. Ponieważ wirtualna przestrzeń adresowa każdej aplikacji jest prywatna, jedna aplikacja nie może modyfikować danych innej aplikacji. Każda aplikacja działa w izolacji. Takie podejście gwarantuje, że jeśli aplikacja ulegnie awarii, nie wpłynie to na inne aplikacje ani system operacyjny.
Wirtualna przestrzeń adresowa aplikacji trybu użytkownika jest również ograniczona. Proces uruchomiony w trybie użytkownika nie może uzyskać dostępu do adresów wirtualnych zarezerwowanych dla systemu operacyjnego. Ograniczenie wirtualnej przestrzeni adresowej aplikacji w trybie użytkownika uniemożliwia aplikacji modyfikowanie lub uszkadzanie krytycznych danych systemu operacyjnego.
Tryb jądra
Kod uruchamiany w trybie jądra używa wspólnie jednej wirtualnej przestrzeni adresowej. W związku z tym sterownik trybu jądra nie jest odizolowany od innych sterowników ani systemu operacyjnego. Jeśli sterownik trybu jądra błędnie zapisuje w niewłaściwym adresie wirtualnym, może naruszyć bezpieczeństwo danych należących do systemu operacyjnego lub innego sterownika. Jeśli sterownik trybu jądra ulegnie awarii, powoduje awarię całego systemu operacyjnego.
Na poniższym diagramie przedstawiono komunikację między składnikami trybu użytkownika i trybu jądra.