Czym jest tryb użytkownika a tryb jądra w systemie Windows?
Być może słyszałeś o aplikacjach działających w trybie „jądra” lub „użytkownika”. Wszystko zależy od tego, jak działają systemy operacyjne, gdy wykonują swoją pracę. Kiedy już to zrozumiesz, łatwo zrozumiesz różnicę między trybem użytkownika a trybem jądra.
Zrozumienie działania systemu operacyjnego(Does)
Komputer składa się ze sprzętu, elementów elektronicznych i oprogramowania, kodu komputerowego wykonywanego przez ten sprzęt. Mniej jasne może być jednak to, jak ze sobą współpracują.
Najistotniejszym elementem komputera jest bit lub „cyfra binarna”. „Wszystko(” Everything) , co robi komputer, jest przedstawiane jako jedynki i zera. Różne(Different) komponenty komputera reprezentują bity na różne sposoby. W procesorze(CPU) mikroskopijne tranzystory reprezentują jedynki i zera, gdy są włączone lub wyłączone. Tranzystory te są ułożone w struktury logiczne, zwane bramkami logicznymi.
W elektronicznej pamięci komputera bity są reprezentowane przez komórki pamięci mające ładunek powyżej lub poniżej pewnego progu. Na mechanicznym dysku twardym bity są przedstawiane jako fluktuacje magnetyczne mierzone na wirującym talerzu. Na dyskach optycznych wgłębienia i obszary, które odbijają lub nie odbijają światła laserowego, wykonują tę samą pracę.
Bez względu na to, w jaki sposób zostanie osiągnięta fizyczna reprezentacja kodu binarnego, można ostatecznie zredukować wszystkie komponenty komputerów konsumenckich do tego surowego kodu maszynowego.
Jak więc przejść od przyjaznego dla człowieka interfejsu komputera do surowych, niskopoziomowych procesów w samym komputerze? Tu właśnie pojawia się system operacyjny. Bezpośrednio kontroluje sprzęt komputera.
To oprogramowanie tłumaczy wszystko, czego chcą aplikacje (a tym samym użytkownik), na instrukcje kodu maszynowego, które rozumieją procesor(CPU) i inne komponenty. Najważniejszym elementem oprogramowania w tym procesie jest jądro.
Co to jest jądro?
Jądro jest, jak sama nazwa wskazuje, rdzeniem systemu operacyjnego. Jądro to oprogramowanie, które znajduje się w pamięci RAM(RAM) i kieruje wszystkim, co robi komputer. Kiedy coś jest zapisywane w pamięci, to jądro kieruje wykonaniem.
Jądro wie, jak łączyć się ze sprzętem, takim jak procesory graficzne(GPUs) i karty sieciowe, ale może nie wiedzieć, jak wykorzystać ich pełny potencjał, opierając się na ogólnych standardach w branży komputerowej.
Tutaj wchodzą w grę sterowniki sprzętowe. Sterowniki informują system operacyjny, jak pracować z określonymi komponentami, dlatego potrzebujesz różnych sterowników na przykład dla procesorów graficznych Nvidia i AMD(AMD GPUs) .
Wyposażone w odpowiednie sterowniki jądro jest najwyższym autorytetem w komputerze, włączając w to robienie rzeczy, które mogą katastrofalnie zniszczyć dane.
Rola interfejsów(Role) programowania aplikacji(Application Programming Interfaces) ( API(APIs) )
W czasach MS-DOS twórcy oprogramowania musieli pisać swoje oprogramowanie specjalnie dla sprzętu użytkownika. Najbardziej znanym tego przykładem w systemach MS-DOS(MS-DOS) były sterowniki kart dźwiękowych.
Dana gra wideo musiałaby obsługiwać najpopularniejsze karty ( Sound Blaster , Ad-lib , Gravis Ultrasound itp.) i mieć nadzieję, że większość graczy zostałaby objęta. Dziś wszystko działa zupełnie inaczej, dzięki API(APIs) .
Świetnym przykładem jest Microsoft DirectX(Microsoft DirectX) . Jeśli chcesz uzyskać szczegółowe wyjaśnienie, sprawdź Co to jest DirectX i dlaczego jest to ważne? (What Is DirectX and Why Is It Important?)Jednak najważniejszą rzeczą, o której należy wiedzieć, jest to, że interfejs API(API) oferuje programistom standardowy sposób żądania zasobów sprzętowych z komponentów takich jak GPU . Ponadto producenci sprzętu muszą jedynie zapewnić, że ich produkty są zgodne z DirectX , aby zapewnić pełną kompatybilność z każdym podobnie zgodnym oprogramowaniem.
Interfejsy API(APIs) oferują warstwę translacji między aplikacjami programowymi a jądrem niskiego poziomu wraz ze sterownikami sprzętowymi. Tak, wiąże się to z niewielką utratą wydajności. Jednak na nowoczesnych komputerach jest to znikome i ma wiele zalet, w którym w końcu dochodzimy do trybu użytkownika i trybu jądra.
Tryb użytkownika a tryb jądra
Nowoczesne systemy operacyjne obsługują jednocześnie setki lub tysiące „procesów”, dynamicznie dając im czas procesora(CPU) zgodnie z potrzebami w oparciu o ich priorytety i wymagania dotyczące mocy obliczeniowej.
Po uruchomieniu aplikacja generuje procesy, a procesor(CPU) może je wykonywać w trybie użytkownika lub w trybie jądra.
Proces Windows działający w trybie użytkownika ma dostęp tylko do własnej prywatnej przestrzeni adresowej pamięci wirtualnej i tablicy uchwytów. Oprogramowanie wykorzystuje te tabele do przechowywania danych w pamięci RAM(RAM) i żądania zasobów. Nie ma bezpośredniego dostępu do pamięci ani innego sprzętu, a od systemu operacyjnego zależy mapowanie tych wirtualnych przestrzeni na rzeczywisty sprzęt komputera.
Jest to dobre z wielu powodów, ale najważniejszą korzyścią jest to, że aplikacja nie może nadpisywać ani zmieniać danych poza przestrzenią adresową pamięci wirtualnej. Ponadto niektóre funkcje są niedostępne dla procesów trybu użytkownika, głównie te, które mogą spowodować awarię systemu lub zniszczyć dane.
Gdy proces zostaje uruchomiony lub przechodzi w tryb jądra, ma pełny dostęp do zasobów systemowych, nawet tych zarezerwowanych dla systemu operacyjnego. Tak więc teoretycznie może nadpisać kluczowe dane, których system operacyjny potrzebuje do prawidłowego działania.
Pułapki i wyjątki
Ważne jest, aby zrozumieć, że te dwa tryby są wymuszane na poziomie sprzętowym przez sam procesor(CPU) . Jeśli aplikacja działająca w trybie użytkownika próbuje zrobić coś, co wymaga dostępu w trybie jądra, generuje „pułapkę” lub „wyjątek”. System operacyjny zajmie się wtedy aplikacją, zwykle zamykając ją i generując dziennik awarii, aby programiści mogli zobaczyć, co wydarzyło się w pamięci, gdy coś poszło z torów.
Niebezpieczeństwa (Dangers)trybu(Kernel Mode) jądra : niebieski (Death)ekran(Blue Screen) śmierci _
Jeśli kiedykolwiek doświadczyłeś niebieskiego ekranu(Blue Screen) śmierci ((Death) kto nie?), który zmusił komputer do wyłączenia lub ponownego uruchomienia, istnieje duża szansa, że winę ponosi proces trybu jądra.
Gdy proces w trybie jądra robi coś, czego nie powinien, system operacyjny nie może go odzyskać, a cały komputer zatrzymuje się. Kiedy proces w trybie użytkownika wariuje, tylko aplikacja ulega awarii, a reszta oprogramowania i systemu operacyjnego mogą działać bez żadnych problemów.
Jest to jeden obszar, w którym API(APIs) odgrywają zasadniczą rolę, ponieważ jest to API proszące o uprawnienia trybu jądra. Aplikacje trybu użytkownika zasadniczo delegują żądania, które wymagałyby uprawnień trybu jądra do interfejsu API(API) .
Dlatego tryb jądra jest zwykle przyznawany tylko procesom systemowym niskiego poziomu, które potrzebują bezpośredniego dostępu do sprzętu komputera. Zwykle to uprawnienie jest rozszerzane na proces, ponieważ wymaga on większej wydajności, niż może zapewnić tryb użytkownika. Niektóre instrukcje procesora(CPU) działają tylko w trybie jądra, więc jeśli proces musi korzystać z tych funkcji, musi zostać podwyższony.
Jeśli masz problemy z niebieskim ekranem(Blue Screen) śmierci , koniecznie przeczytaj nasz Przewodnik rozwiązywania problemów z niebieskim ekranem śmierci dla systemu Windows (Blue Screen of Death Troubleshooting Guide for Windows 10)10(Death) !
Related posts
Jak włączyć tryb ciemny w systemie Windows 11?
Jak zainstalować system Windows 11 za pomocą konta lokalnego?
6 sposobów na wylogowanie się z systemu Windows 11 —
Jak uruchomić system Windows 11 w trybie awaryjnym (8 sposobów) —
5 sposobów tworzenia i dodawania nowego użytkownika w systemie Windows 11 -
Jak stawić czoła odblokowaniu systemu Windows 11 za pomocą funkcji Windows Hello —
Jak zmienić rozmiar paska zadań w systemie Windows 11?
Windows 11 dla firm i przedsiębiorstw — nowe funkcje
Jak przełączyć się na lokalne konto Windows 11 z konta Microsoft?
Nie można przełączyć kanału Windows Insider w systemie Windows 11 — wersja deweloperska lub beta
Jak ukryć odznaki na ikonach paska zadań w systemie Windows 11?
Jak zmienić motyw w Microsoft Teams na Windows 11?
Jak dostosować jasność kamery internetowej w systemie Windows 11?
Jak zainstalować podsystem Windows dla systemu Linux w systemie Windows 11?
Na tym komputerze nie można uruchomić systemu Windows 11 — napraw to!
7 sposobów na zablokowanie komputera z systemem Windows 11 —
Checkit Tool powie Ci, dlaczego Twój komputer nie obsługuje systemu Windows 11
Jak ustawić inną tapetę na różnych komputerach stacjonarnych w systemie Windows 11?
Kliknij tutaj, aby wprowadzić swój najnowszy komunikat o poświadczeniach w systemie Windows 11
Jak przełączyć kanał Insider w systemie Windows 11?