reklama - zainteresowany?

Windows od środka. Architektura systemu, procesy, wątki, zarządzanie pamięcią i dużo więcej. Wydanie VII - Helion


ebook
Autor: Pavel Yosifovich, Alex Ionescu, Mark E. Russinovich, David A. Solomon
Tytuł oryginału: Windows Internals, Part 1: System architecture, processes, threads, memory management, and more (7th Edition)
Tłumaczenie: Piotr Pilch, Zbigniew Waśko
ISBN: 978-83-283-3902-6
stron: 864, Format: ebook
Data wydania: 2018-06-01
Księgarnia: Helion

Cena książki: 64,50 zł (poprzednio: 129,00 zł)
Oszczędzasz: 50% (-64,50 zł)

Dodaj do koszyka

Tagi: Windows 10 | Windows Server

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

Windows od podszewki - poznaj i zrozum!

Dodaj do koszyka

 

Osoby które kupowały "Windows od środka. Architektura systemu, procesy, wątki, zarządzanie pamięcią i dużo więcej. Wydanie VII", wybierały także:

  • Systemy operacyjne. Architektura, funkcjonowanie i projektowanie. Wydanie IX
  • ABC komputera. Wydanie XI

Dodaj do koszyka

Spis treści

Windows od środka. Architektura systemu, procesy, wątki, zarządzanie pamięcią i dużo więcej. Wydanie VII eBook -- spis treści

  • 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

Dodaj do koszyka

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2020 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.