W jaki sposób Windows 7 może odzyskać sprawność po awarii sterownika?

0

Zauważyłem, że komputer do gier mojego brata z systemem Windows 7 miał awarię sterownika dla karty graficznej nvidia 690, ale sam system nie uległ awarii, twierdząc, że odzyskał. Byłem ciekawy, jak to możliwe? Miałem wrażenie, że skoro jądro nie ma ochrony pamięci, awaria sterownika spowodowałaby upadek całego systemu operacyjnego, który bazuję na mojej wiedzy na temat jądra Linuksa. Jak system Windows 7 zapobiega awarii całego systemu operacyjnego?

Fred Thomsen
źródło

Odpowiedzi:

2

Począwszy od systemu Windows Vista i modelu sterownika WDDM, sterowniki GPU są dzielone w części jądra i trybu użytkownika. Więc problem w części trybu użytkownika nie powoduje już awarii systemu Windows.

Widoczna funkcja jest nazywana Wykrywanie przekroczenia limitu czasu i odzyskiwanie GPU (TDR) . Microsoft wyjaśnił to tutaj w artykule .

  1. Komponent Video Scheduler stosu graficznego systemu Windows Vista   wykrywa, że ​​GPU zabiera więcej niż dozwolony czas kwantowy   wykonać konkretne zadanie i próbuje wyprzedzić to konkretne zadanie.   Operacja wyprzedzająca ma limit czasu oczekiwania („wait”) - rzeczywisty „limit czasu TDR”.   Ten etap jest zatem fazą „wykrywania przekroczenia limitu czasu” procesu. The   domyślny limit czasu w systemie Windows Vista wynosi 2 sekundy. Jeśli GPU   nie można ukończyć lub wyprzedzić bieżącego zadania w ramach limitu czasu TDR,   wtedy GPU jest diagnozowany jako zawieszony.

  2. System operacyjny informuje sterownik WDDM, że wykryto przekroczenie limitu czasu i musi to zrobić   zresetować GPU. Kierowca powinien zatrzymać dostęp do pamięci i powinien   nie uzyskaj dostępu do sprzętu po tym czasie. System operacyjny i WDDM   sterownik zbiera sprzęt i inne informacje o stanie, które mogą być   przydatne w diagnostyce pośmiertnej.

  3. System operacyjny resetuje odpowiedni stan grafiki   stos. Komponent Video Memory Manager w czystkach stosu grafiki   wszystkie przydziały z pamięci wideo. Sterownik WDDM resetuje GPU   stan sprzętu. Stos grafiki podejmuje ostateczne działania i   przywraca pulpit do stanu responsywnego. Jak wcześniej wspomniano,   niektóre starsze aplikacje DirectX mogą teraz renderować tylko czarne, a   użytkownik może być zobowiązany do ponownego uruchomienia tych aplikacji. Dobrze napisane   Aplikacje DirectX 9Ex i DirectX 10 obsługujące „Usuń urządzenie”   kontynuować pracę poprawnie. Aplikacja musi się zwolnić, a następnie   odtworzyć urządzenie Microsoft Direct3D i wszystkie jego obiekty.

    Przez cały proces wykrywania i odzyskiwania GPU, pulpit   nie odpowiada, a zatem jest niedostępny dla użytkownika. W końcowych etapach   odzyskiwania, pojawia się krótki ekran podobny do tego   po zmianie rozdzielczości ekranu. Po pulpicie został   pomyślnie odzyskane, pojawi się następujący komunikat informacyjny   użytkownik. enter image description here

Jeśli ten komunikat jest wyświetlany zbyt często, sprawdź ten artykuł w bazie wiedzy:

„Sterownik wyświetlania przestał odpowiadać i odzyskał” błąd w systemie Windows 7 lub Windows Vista

http://support.microsoft.com/kb/2665946/en-us

Jeśli używasz procesora graficznego AMD, sprawdź ten artykuł w AMD:

Jak rozwiązywać problemy „Sterownik wyświetlania przestał odpowiadać i odzyskał”, błędy typu ATIKMDAG.sys

http://support.amd.com/en-us/kb-articles/Pages/737-27116RadeonSeries-ATIKMDAGhasstoppedrespondingerrormessages.aspx

magicandre1981
źródło
Kilka miesięcy temu ten sam problem i okna odzyskały się automatycznie. Nigdy nie zorientowałem się, jak to się wyzdrowieje beze mnie.
Hunter
1

„Crash” to bardzo szeroki termin. Prawdopodobnie masz na myśli ten balonowy komunikat:

Sterownik wyświetlania przestał odpowiadać i został przywrócony.

Nie jest też zbyt szczegółowy i powinieneś przeczytać to tak:

Twój GPU zrobił coś nieoczekiwanego, ale kierowca zrobił trochę magii, aby go odzyskać. Nie panikuj, sytuacja jest teraz pod kontrolą.

Więc zasadniczo nie jest to sterownik, który się rozbił, ale sprzęt. Kierowca zrobił wszystko, co w jego mocy i odniósł sukces. Co dzieje się pod maską, gdy awarie GPU zależą od implementacji, ale generalnie sterownik resetuje go, aby upewnić się, że nie jest w jakimś nienormalnym stanie.

Uważam, że odzyskiwanie po awarii GPU w tej formie jest obsługiwane przez system Windows od wersji Vista, ale pamiętam podobne podobne automatyczne odzyskiwanie na kartach ASUS z GPU ATI na XP jakieś 8 lat temu, przed wydaniem Vista.

gronostaj
źródło
Jest to rzeczywiście sterownik, a nie sprzęt, który uległ awarii, a Windows wszedł i ponownie uruchomił sterownik. Sterownik niekoniecznie działa w trybie kernal. Mój sterownik wideo firmy Intel jest sterownikiem w trybie użytkownika i często się zawiesza (co oznacza stały czarny ekran) i losowo przez 3 wersje aktualizacji.
kreemoweet
0

Sterownik nie uległ awarii, GPU tak. Komputer został odzyskany przez zresetowanie GPU.

David Schwartz
źródło
1
To raczej nadużywanie języka, aby powiedzieć, że GPU „ulega awarii”. Z pewnością sprzęt może działać nieprawidłowo, ale każdy dobrze napisany sterownik może podjąć większość takich zdarzeń krok po kroku. To, co opisuje pytający, jest prawie na pewno wadliwym oprogramowaniem sterownika.
kreemoweet
0

Nie mogę powiedzieć na pewno na Win7, ale na innych systemach sterowniki mają górną i dolną część. Dno najprawdopodobniej spowoduje awarię całego systemu, ponieważ działa we wspólnej pamięci. Top działa na znacznie wyższym poziomie i możliwe jest zabezpieczenie go przed uszkodzeniem innych rzeczy, a tym samym przed wykryciem awarii przez żądania pamięci poza granicami, a tym samym przechwyceniem przed zniszczeniem czegoś innego.

Elliptical view
źródło