ksiazki24h.pl
wprowadź własne kryteria wyszukiwania książek: (jak szukać?)
Twój koszyk:   0 zł   zamówienie wysyłkowe >>>
Strona główna > opis książki

WINDOWS OD ŚRODKA


YOSIFOVICH P. IONESCU A. RUSSINOVICH M.E. SOLOMON D.A.

wydawnictwo: HELION , rok wydania 2018, wydanie VII

cena netto: 131.39 Twoja cena  124,82 zł + 5% vat - dodaj do koszyka

Windows od środka

Architektura systemu, procesy, wątki, zarządzanie pamięcią i dużo więcej


Systemy operacyjne Windows 10 i Windows Server 2016 bardzo różnią się od swoich poprzedników. Są bardziej złożone, a niektóre zastosowane rozwiązania można określić jako zaawansowane i wysublimowane. Zwłaszcza znajomość wewnętrznych mechanizmów systemu, architektury jądra i systemowego modelu bezpieczeństwa okazuje się niezwykle istotna dla programistów i inżynierów ds. bezpieczeństwa. Bez tej wiedzy trudno mówić o prawdziwie niezawodnej pracy oprogramowania tworzonego dla maszyn pracujących pod kontrolą najnowszych wersji systemu Windows.

Ta książka jest pierwszym tomem klasycznego przewodnika po wewnętrznych mechanizmach podstawowych komponentów systemu Windows. Omówiono w niej architekturę systemu Windows, sposoby implementowania i modyfikacji procesów, przetwarzania wątków oraz korzystania z pamięci fizycznej i wirtualnej. Sporo miejsca poświęcono operacjom wejścia-wyjścia oraz integracji ze sterownikami poszczególnych urządzeń. Szczegółowo przedstawiono zabezpieczenia wbudowane w system. Projektanci oprogramowania, specjaliści ds. bezpieczeństwa oraz administratorzy systemów informatycznych znajdą tu wiele ważnych informacji, dzięki którym dogłębnie zrozumieją sposób działania systemu, co pozwoli im na podejmowanie lepszych decyzji.

Najważniejsze zagadnienia:

  • wprowadzenie do wewnętrznych mechanizmów systemu Windows

  • omówienie komponentów architektury systemu

  • procesy, zadania, wątki

  • funkcjonowanie menedżera pamięci i sposoby jej modyfikacji

  • operacje wejścia-wyjścia i obsługa urządzeń peryferyjnych

  • mechanizmy zabezpieczeń i zwalczanie złośliwego oprogramowania


    • Wprowadzenie
      • Historia książki
      • Zmiany w siódmym wydaniu
      • Praktyczne eksperymenty
      • Pominięte zagadnienia
      • Ostrzeżenie
      • Założenia dotyczące czytelnika
      • Struktura książki
      • Konwencje
      • Informacje o dodatkowych materiałach
      • Podziękowania
    • Rozdział 1. Zagadnienia i narzędzia
      • Wersje systemu operacyjnego Windows
        • Windows 10 i przyszłe wersje systemu Windows
        • Windows 10 i platforma OneCore
      • Podstawowe pojęcia i terminy
        • Interfejs API systemu Windows
          • Warianty interfejsu API systemu Windows
          • Architektura Windows Runtime
          • Środowisko .NET Framework
        • Usługi, funkcje i programy
        • Procesy
        • Wątki
          • Włókna
          • Wątki planowania w trybie użytkownika
        • Zadania
        • Pamięć wirtualna
        • Porównanie trybu jądra i trybu użytkownika
        • Hipernadzorca
        • Oprogramowanie sprzętowe
        • Usługi terminalowe i wiele sesji
        • Obiekty i dojścia
        • Zabezpieczenia
        • Rejestr
        • Unicode
      • Analizowanie wewnętrznych mechanizmów systemu Windows
        • Monitor wydajności i Monitor zasobów
        • Debugowanie jądra
          • Symbole powiązane z debugowaniem jądra
          • Debugging Tools for Windows
            • Debugowanie w trybie użytkownika
            • Debugowanie w trybie jądra
          • Narzędzie LiveKd
        • Windows Software Development Kit
        • Windows Driver Kit
        • Narzędzia z witryny Sysinternals
      • Podsumowanie
    • Rozdział 2. Architektura systemu
      • Wymagania i cele projektowe
      • Model systemu operacyjnego
      • Opis architektury systemu
        • Przenośność
        • Wieloprocesorowość symetryczna
        • Skalowalność
        • Różnice między wersjami kliencką i serwerową
        • Wersja Checked build (kompilacja testowa)
      • Krótki opis architektury z mechanizmami bezpieczeństwa opartymi na wirtualizacji
      • Kluczowe komponenty systemu
        • Podsystemy środowiskowe i biblioteki podsystemów
          • Uruchamianie podsystemu
          • Podsystem Windows
            • Windows 10 a Win32k.sys
        • Inne podsystemy
          • Pikodostawcy i podsystem Windows dla systemu Linux
          • Biblioteka Ntdll.dll
          • Obrazy natywne
        • Centrum wykonawcze
        • Jądro
          • Obiekty jądra
          • Obszar i blok kontrolny procesora
          • Obsługa sprzętu
        • Warstwa abstrakcji sprzętowej
        • Sterowniki urządzeń
          • Model sterowników systemu Windows
          • Fundament sterownika
          • Uniwersalne sterowniki Windows
        • Procesy systemowe
          • Proces bezczynności
          • Proces System a wątki systemowe
          • Proces bezpieczeństwa systemu
          • Proces kompresji pamięci
          • Menedżer sesji
          • Procesy inicjalizacyjne
          • Menedżer kontroli usług
          • Procesy Winlogon, LogonUI oraz Userinit
      • Podsumowanie
    • Rozdział 3. Procesy i zadania
      • Tworzenie procesu
        • Argumenty funkcji CreateProcess*
        • Tworzenie nowoczesnych procesów systemu Windows
        • Tworzenie innych rodzajów procesów
      • Wewnętrzne elementy procesów
      • Chronione procesy
        • Protected Process Light (PPL)
        • Obsługa zewnętrznych procesów przez rozszerzenie PPL
      • Procesy minimalne i procesy Pico
        • Procesy minimalne
        • Procesy Pico
      • Programy Trustlet (bezpieczne procesy)
        • Struktura programu Trustlet
        • Metadane zasad programów Trustlet
        • Atrybuty programów Trustlet
        • Programy Trustlet wbudowane w system
        • Tożsamość programów Trustlet
        • Usługi izolowanego trybu użytkownika
        • Wywołania systemowe dostępne dla programów Trustlet
      • Przepływ funkcji CreateProcess
        • Etap 1. Przekształcanie i sprawdzanie poprawności parametrów i flag
        • Etap 2. Otwieranie obrazu do wykonania
        • Etap 3. Tworzenie obiektu procesu wykonawczego systemu Windows
          • Etap 3A. Konfigurowanie obiektu EPROCESS
          • Etap 3B. Tworzenie początkowego obszaru adresów procesu
          • Etap 3C. Tworzenie struktury procesu jądra
          • Etap 3D. Zakończenie konfigurowania obszaru adresów procesu
          • Etap 3E. Konfigurowanie struktury PEB
          • Etap 3F. Zakończenie konfigurowania obiektu procesu wykonawczego
        • Etap 4. Tworzenie początkowego wątku oraz jego stosu i kontekstu
        • Etap 5. Przeprowadzanie inicjalizacji powiązanej z podsystemem systemu Windows
        • Etap 6. Rozpoczęcie wykonywania wątku początkowego
        • Etap 7. Przeprowadzanie inicjalizacji procesu w kontekście nowego procesu
      • Kończenie procesu
      • Program ładujący obrazy
        • Wczesna inicjalizacja procesu
        • Przekierowywanie i rozwiązywanie nazw bibliotek DLL
          • Przekierowywanie nazw bibliotek DLL
        • Baza danych załadowanych modułów
        • Analizowanie importu
        • Inicjalizacja procesu po imporcie
        • Technologia SwitchBack
          • Identyfikatory GUID technologii SwitchBack
          • Tryby zgodności technologii SwitchBack
          • Działanie technologii SwitchBack
        • Mechanizm API Sets
      • Zadania
        • Limity zadań
        • Obsługa zadania
        • Zadania zagnieżdżone
        • Kontenery systemu Windows (silosy serwerowe)
          • Obiekty zadania i silosy
          • Izolacja silosów
          • Granice izolacji silosów
          • Konteksty silosów
          • Monitory silosów
          • Tworzenie silosu serwerowego
          • Funkcja pomocnicza
          • Szablon kontenera
      • Podsumowanie
    • Rozdział 4. Wątki
      • Tworzenie wątków
      • Wewnętrzne mechanizmy wątków
        • Struktury danych
        • Powstanie wątku
      • Sprawdzanie aktywności wątków
        • Ograniczenia wątków chronionych procesów
      • Planowanie wątków
        • Przegląd planowania w systemie Windows
        • Poziomy priorytetów
          • Priorytety czasu rzeczywistego
          • Użycie narzędzi pozwalających na interakcję z priorytetem
        • Stany wątków
        • Baza danych dyspozytora
        • Kwant
          • Obliczanie kwantu czasu
          • Kontrolowanie kwantu czasu
          • Zmienne kwanty czasu
          • Wartość rejestru z ustawieniami kwantu czasu
        • Zwiększanie priorytetu
          • Zwiększenia priorytetu spowodowane zdarzeniami planisty/dyspozytora
          • Przyspieszenie przechodzenia ze stanu oczekiwania
          • Zwiększenia priorytetu związane z własnością blokady
          • Zwiększenia priorytetu po zakończeniu operacji wejścia-wyjścia
          • Zwiększenia priorytetu podczas oczekiwania na zasoby wykonawcze
          • Zwiększenia priorytetu wątków pierwszoplanowych po oczekiwaniu
          • Zwiększenia priorytetu wątków graficznego interfejsu użytkownika po ich aktywacji
          • Zwiększenia priorytetu związane z brakiem dostępu do zasobów procesora
          • Stosowanie zwiększeń priorytetu
          • Usuwanie zwiększeń priorytetu
          • Zwiększenia priorytetu w wypadku gier i aplikacji multimedialnych
          • Automatyczne zwiększanie priorytetu
        • Przełączanie kontekstu
          • Direct Switch
        • Warianty planowania
          • Dobrowolne przełączanie
          • Wywłaszczanie
          • Upłynięcie kwantu czasu
          • Zakończenie
        • Wątki bezczynności
        • Wstrzymanie wątków
        • Głębokie zamrożenie
        • Wybór wątku
          • Planista bezczynności
        • Systemy wieloprocesorowe
          • Zestawy pakietu i zestawy SMT
          • Systemy NUMA
          • Przypisywanie procesorów do grupy
          • Procesory logiczne przypadające na grupę
          • Stan procesora logicznego
          • Skalowalność planisty
          • Koligacja
          • Rozszerzona maska koligacji
          • Systemowa maska koligacji
          • Idealny i ostatni procesor
          • Idealny węzeł
          • Zestawy procesorów
        • Wybór wątku w systemach wieloprocesorowych
        • Wybór procesora
          • Wybór procesora dla wątku, gdy dostępne są bezczynne procesory
          • Wybór procesora dla wątku, gdy nie ma żadnych bezczynnych procesorów
        • Planowanie heterogeniczne (big.LITTLE)
      • Planowanie oparte na grupach
        • Planowanie dynamiczne ze sprawiedliwym udostępnianiem
        • Limity wykorzystania procesora
        • Dynamiczne dodawanie i usuwanie procesorów
      • Fabryki procesów roboczych (pule wątków)
        • Tworzenie fabryki wątków roboczych
      • Podsumowanie
    • Rozdział 5. Zarządzanie pamięcią
      • Wprowadzenie do menedżera pamięci
        • Składniki menedżera pamięci
        • Strony małe i duże
        • Sprawdzanie wykorzystania pamięci
        • Synchronizacja wewnętrzna
      • Usługi menedżera pamięci
        • Stany stron i przydzielanie pamięci
        • Ładunek deklaracji i limit deklaracji
        • Blokowanie pamięci
        • Ziarnistość alokacji
        • Pamięć współdzielona i pliki mapowane
        • Ochrona pamięci
        • Zapobieganie wykonywaniu danych
        • Kopiowanie przy zapisie
        • Okienkowe poszerzanie przestrzeni adresowej
      • Sterty w trybie jądra (systemowe pule pamięci)
        • Rozmiary pul
        • Monitorowanie wykorzystania puli
        • Listy asocjacyjne
      • Menedżer sterty
        • Sterty procesu
        • Typy stert
        • Sterta NT
        • Synchronizacja sterty
        • Sterta o małej fragmentacji
        • Sterta segmentowa
        • Bezpieczeństwo stert
          • Funkcje bezpieczeństwa typowe dla stert segmentowych
        • Funkcje debugowania sterty
        • Mechanizm pageheap
        • Sterta odporna na błędy
      • Układy wirtualnej przestrzeni adresowej
        • Układy przestrzeni adresowej na platformie x86
        • Układ systemowej przestrzeni adresowej na platformie x86
        • Przestrzeń sesji na platformie x86
        • Systemowe wpisy tabeli stron
        • Układ przestrzeni adresowej na platformie ARM
        • Układ przestrzeni adresowej 64-bitowej
        • Ograniczenia adresowania wirtualnego na platformie x64
        • Dynamiczne zarządzanie systemową wirtualną przestrzenią adresową
        • Przydziały systemowej wirtualnej przestrzeni adresowej
        • Układ przestrzeni adresowej użytkownika
          • Randomizacja obrazu
          • Randomizacja stosu
          • Randomizacja sterty
          • ASLR w przestrzeni adresowej jądra
          • Kontrolowanie ograniczeń ochronnych
      • Tłumaczenie adresów
        • Tłumaczenie adresów wirtualnych na platformie x86
          • Tabele stron i ich wpisy
          • Bity zapisu sprzętowego i programowego we wpisach tabeli stron
        • Asocjacyjny bufor translacji
        • Tłumaczenie adresów wirtualnych na platformie x64
        • Tłumaczenie adresów wirtualnych na platformie ARM
      • Obsługa błędów strony
        • Niewłaściwe wpisy PTE
        • Prototypowe wpisy PTE
        • Operacje wejścia-wyjścia w stronicowaniu
        • Błąd strony kolidującej
        • Błędy stron klastrowanych
        • Pliki stronicowania
          • Plik wymiany
          • Wirtualny plik stronicowania
        • Ładunek deklaracji i systemowy limit deklaracji
        • Ładunek deklaracji a rozmiar pliku stronicowania
      • Stosy
        • Stosy użytkownika
        • Stosy jądra
        • Stos DPC
      • Deskryptory adresów wirtualnych
        • Struktury VAD procesu
        • Rotacja deskryptorów adresów wirtualnych
        • NUMA
      • Obiekty sekcji
      • Zestawy robocze
        • Stronicowanie na żądanie
        • Logiczny prefetcher i funkcja ReadyBoot
        • Strategia rozmieszczania
        • Zarządzanie zestawami roboczymi
        • Menedżer zestawu równowagi i program wymiany
        • Systemowe zestawy robocze
        • Powiadomienia o stanie pamięci
      • Baza danych numerów stron pamięci
        • Dynamika list stron
        • Priorytet stronicowy
        • Moduł zapisujący strony zmodyfikowane i zmapowane
        • Struktury danych PFN
        • Rezerwacja pliku stronicowania
      • Ograniczenia pamięci fizycznej
        • Limity pamięci w klienckich wersjach systemu Windows
      • Kompresja pamięci
        • Ilustracja kompresji
        • Architektura kompresji
      • Partycje pamięci
      • Scalanie pamięci
        • Etap wyszukiwania
        • Etap klasyfikacji
        • Etap scalania stron
        • Konwersja wpisu PTE z prywatnego na współdzielony
        • Zwalnianie stron scalonych
      • Enklawy pamięci
        • Interfejs programowy
        • Przygotowywanie enklaw pamięci
        • Konstruowanie enklawy
        • Wczytywanie danych do enklawy
        • Inicjalizacja enklawy
      • Proaktywne zarządzanie pamięcią (mechanizm SuperFetch)
        • Komponenty
        • Śledzenie i rejestrowanie
        • Scenariusze
        • Priorytet strony oraz ponowne bilansowanie
        • Niezawodność działania
        • Funkcja Ready Boost
        • Funkcja Ready Drive
        • Dublowanie procesu
      • Podsumowanie
    • Rozdział 6. System operacji wejścia-wyjścia
      • Komponenty systemu operacji wejścia-wyjścia
        • Menedżer operacji wejścia-wyjścia
        • Typowe przetwarzanie operacji wejścia-wyjścia
      • Poziomy żądań przerwania IRQL i wywołania DPC
        • Poziomy żądań przerwania
        • Wywołania DPC
      • Sterowniki urządzeń
        • Typy sterowników urządzeń
          • Sterowniki WDM
          • Warstwy sterowników
        • Struktura sterownika
        • Obiekty sterowników i obiekty urządzeń
        • Otwieranie urządzeń
      • Przetwarzanie operacji wejścia-wyjścia
        • Typy operacji wejścia-wyjścia
          • Synchroniczne i asynchroniczne operacje wejścia-wyjścia
          • Szybka operacja wejścia-wyjścia
          • Operacja wejścia-wyjścia z mapowaniem plików i buforowanie plików
          • Operacja wejścia-wyjścia z techniką rozrzucania/zbierania
        • Pakiety żądań operacji wejścia-wyjścia IRP
          • Położenia stosu operacji wejścia-wyjścia
          • Przepływ pakietu IRP
        • Żądanie operacji wejścia-wyjścia wysyłane do jednowarstwowego sterownika urządzenia
          • Dostęp do buforu obszaru adresów użytkownika
            • Buforowana operacja wejścia-wyjścia
            • Bezpośrednia operacja wejścia-wyjścia
            • Żadna operacja wejścia-wyjścia
          • Synchronizacja
        • Żądania operacji wejścia-wyjścia kierowane do sterowników z warstwami
        • Operacja wejścia-wyjścia agnostyczna względem wątków
        • Anulowanie operacji wejścia-wyjścia
          • Anulowanie operacji wejścia-wyjścia zainicjowane przez użytkownika
          • Anulowanie operacji wejścia-wyjścia w przypadku zakończenia wątku
        • Porty ukończenia operacji wejścia-wyjścia
          • Obiekt IoCompletion
          • Użycie portów ukończenia
          • Działanie portu ukończenia operacji wejścia-wyjścia
        • Określanie priorytetu operacji wejścia-wyjścia
          • Priorytety operacji wejścia-wyjścia
          • Strategie określania priorytetów
          • Unikanie inwersji priorytetów operacji wejścia-wyjścia
          • Zwiększanie i podnoszenie priorytetu operacji wejścia-wyjścia
          • Rezerwacja przepustowości (zaplanowana operacja wejścia-wyjścia na pliku)
        • Powiadomienia kontenerów
      • Driver Verifier
        • Opcje weryfikacji powiązane z operacjami wejścia-wyjścia
        • Opcje weryfikacji związane z pamięcią
          • Special Pool
          • Śledzenie puli
          • Wymuszanie sprawdzania poziomu IRQL
          • Low Resources Simulation
          • Systematic Low Resources Simulation
          • Różne sprawdzenia
      • Menedżer technologii PnP
        • Poziom obsługi technologii Plug and Play
        • Wyliczanie urządzeń
        • Stosy urządzeń
          • Ładowanie sterowników stosu urządzeń
        • Obsługa technologii Plug and Play przez sterowniki
        • Instalacja sterownika Plug and Play
      • Ładowanie i instalowanie ogólnego sterownika
        • Ładowanie sterowników
        • Instalacja sterownika
      • Środowisko WDF
        • Środowisko KMDF
          • Struktura i działanie sterownika KMDF
          • Model obiektów KMDF
          • Model operacji wejścia-wyjścia środowiska KMDF
        • Środowisko UMDF
      • Menedżer zasilania
        • Stany Connected Standby i Modern Standby
        • Działanie menedżera zasilania
          • Działanie zasady zasilania związanej ze sterownikami
        • Kontrola zasilania urządzenia przez aplikację i sterownik
        • Środowisko zarządzania zasilaniem
          • Zarządzanie stanami wydajności
        • Żądania dostępności zasilania
      • Podsumowanie
    • Rozdział 7. Bezpieczeństwo
      • Klasy bezpieczeństwa
        • Kryteria oceny zaufanych systemów komputerowych (TCSEC)
        • Wspólne kryteria
      • Składniki systemu zabezpieczeń
      • Bezpieczeństwo oparte na wirtualizacji
        • Ochrona poświadczeń
          • Ochrona hasła
          • Ochrona klucza NTOWF (TGT)
          • Bezpieczna komunikacja
          • Blokada UEFI
          • Reguły uwierzytelniania i pancerny Kerberos
          • Przyszłe usprawnienia
        • Ochrona urządzenia
      • Ochrona obiektów
        • Sprawdzanie dostępu
        • Identyfikatory zabezpieczeń
          • Poziomy integralności
          • Tokeny
          • Personifikacja
          • Tokeny ograniczone
          • Filtrowany token administracyjny
        • Wirtualne konta usług
        • Deskryptory zabezpieczeń i kontrola dostępu
          • Przypisywanie list ACL
          • Zaufane wpisy ACE
          • Określanie dostępu
        • Dynamiczna kontrola dostępu
      • Interfejs AuthZ
        • Warunkowe wpisy ACE
      • Prawa i przywileje konta
        • Prawa konta
        • Przywileje
        • Superprzywileje
      • Tokeny dostępowe procesów i wątków
      • Inspekcje zabezpieczeń
        • Inspekcje dostępu do obiektów
        • Globalne zasady inspekcji
        • Ustawienia zaawansowanych zasad inspekcji
      • Kontenery aplikacji
        • Przegląd aplikacji UWP
        • Kontener aplikacji
          • Bezpieczeństwo środowiska AppContainer
          • Możliwości kontenera aplikacji
          • Kontener aplikacji a przestrzeń nazw obiektów
          • Uchwyty kontenera aplikacji
          • Brokery
      • Logowanie
        • Inicjacja procesu Winlogon
        • Etapy logowania użytkownika
          • MSV1_0
          • Kerberos
        • Wzmocnione uwierzytelnianie
        • Biometria w systemie Windows
        • Windows Hello
      • Kontrola konta użytkownika i wirtualizacja
        • Wirtualizacja systemu plików i rejestru
          • Wirtualizacja plików
          • Wirtualizacja rejestru
        • Podwyższanie uprawnień
          • Uruchamianie aplikacji z uprawnieniami administracyjnymi
          • Żądanie uprawnień administracyjnych
          • Automatyczne podnoszenie uprawnień
          • Ustawianie kontroli konta użytkownika
      • Osłabianie exploitów
        • Zasady osłabiania procesów
        • Integralność przepływu sterowania
          • Ochrona przepływu sterowania
          • Bitmapa CFG
          • Konstruowanie bitmapy CFG
          • Wzmacnianie mechanizmu CFG
          • Współdziałanie modułu ładującego z mechanizmem CFG
          • Ochrona CFG w jądrze
        • Asercje bezpieczeństwa
          • Obsługa kompilatora i systemu operacyjnego
          • Kody asercji bezpieczeństwa
      • Identyfikacja aplikacji
      • AppLocker
      • Zasady ograniczeń oprogramowania
      • Ochrona przed poprawkami jądra
        • PatchGuard
        • HyperGuard
      • Podsumowanie

864 stron, Format: 16.5x24.5cm, oprawa twarda

Po otrzymaniu zamówienia poinformujemy,
czy wybrany tytuł polskojęzyczny lub anglojęzyczny jest aktualnie na półce księgarni.

 
Wszelkie prawa zastrzeżone PROPRESS sp. z o.o. 2012-2022