Windows -Systemprogrammierung, das das Gehirn stimuliert
Kapitel 1 Die erste Geschichte der Computerstruktur
- Systemprogrammierung verstehen und nähern
- Systemprogrammierung?
- Hauptkomponenten von Computersystemen
- Computerhardwarekonfiguration
- CPU (zentrale Verarbeitungseinheit)
- Arbeitsspeicher
- Eingangs-/Ausgangsbus
- CPU verstehen
- ALU (Arithmetische Logikeinheit)
- Steuereinheit
- Registrieren Sie Sets in der CPU
- Busschnittstelle
- Uhrpuls
- Programmausführungsprozess
- Großer Mathematiker von Neuman
- Programmausführungsprozess
- Versöhnung
Kapitel 2 Asciicode vs. Unicode
- Unicode in Windows
- Typen und Eigenschaften des Zeichensatzes
- MBCS -basierte Zeichenfolge
- WBCS -basierte Programmierung
- Gleichzeitige Unterstützung von MBCs und WBCs
- `#include <Windows.h>
- Von Windows definierte Ressourcen
- Makro zur Unterstützung von MBCs und WBCs (Unicode) gleichzeitig
- Funktionen zur Unterstützung von MBCs und WBCs (Unicode) gleichzeitig
3 KAPITEL 64 -BIT -Basis -Programmierung
- Gewinnen Sie 32 gegen 64
- 64 -Bit und 32 -Bit
- 64 -Bit -Computer aus Sicht des Programmierers
- Gewinnen Sie 32 gegen 64 aus Sicht der Programmumsetzung 64
- LLP64 gegen LP64
- 64 -Bit- und 32 -Bit -Koexistenzprobleme
- Windows -Style -Materialien
- Überprüfen Sie den Windows -Datentyp
- Polymorpher Datentyp
- Aus Fehlern
- GetLasterRor -Funktion und Fehlercode
- Systemprogrammierungsprojektdesign
- Vorschlag des Eingabeaufforderungsprojekts
- Vorschläge für Eingabeaufforderungsprojekte und Implementierung von Exit -Befehlen
Kapitel 4 Die zweite Geschichte der Computerstruktur
- Wie man sich der Computerstruktur nähert
- Entwerfen wir den Computer
- Lassen Sie uns das Register entwerfen
- Entwurfsbefehlsstruktur und -befehl
- Befehlsdesign laden und speichern
- Die Notwendigkeit des Befehls für Load & Store
- Befehlsdesign laden und speichern
- Direktmodus und indirekter Modus
- Probleme im direkten Modus und Vorschlag im indirekten Modus
- Indiret -Modus verstehen
- Beispiel für die Verwendung des indirekten Modus
Kapitel 5 Die Schöpfung und Aussterben von Prozessen
- Verständnis des Prozesses
- Was ist ein Prozess?
- Element
- Zeitplan und Statuswechsel des Prozesses
- Planung des Prozesses
- Änderung im Prozess des Prozesses
- Verständnis des Status des Prozesses und Verständnis mit Szenarien
- Kontextumschaltung
- Erstellung von Prozessen
- Erstellung von Prozessen
- Verständnis der Funktion der Kreaturenprozess
- Verständnis der Kreateprozessfunktion durch ein Beispiel
- Zusammensetzung und Ausführung der Umwelt für die Praxis
- Beispiele und Probleme im Zusammenhang mit der Erstellung der Prozesse
- Fügen Sie die Eingabeaufforderungsprojektfunktion hinzu
Kapitel 6 Kernelobjekte und Objektstahl
- Das Kernelobjekt verstehen
- Das Kernelobjekt verstehen
- Andere Kernelobjekte
- Kernelobjekt und Abhängigkeitsbeziehung umgehen
- Kernelobjekt und Nutzungsanzahl
- Fügen Sie die Eingabeaufforderungsprojektfunktion hinzu
Kapitel 7 Kommunikation zwischen Prozessen (IPC) 1
- Die Bedeutung der Inter -Process -Kommunikation (IPC)
- E -Mail -Slot -Typ IPC
- Signalisiert gegen nicht signalisierte
Kapitel 8 Interceptors (IPC) 2
- Vererbung von Grifftischen und Objektgrenzen
- Rohr
- Prozessvariable der Prozessumgebung
- Fügen Sie die Eingabeaufforderungsprojektfunktion hinzu
Kapitel 9 Planungsalgorithmus und Priorität
- Planung des Prozesses
- Unterschiede zwischen gewöhnlichem Betriebssystem und Echtzeit -Betriebssystem
- SOTT RTOS gegen Hard RTOs
- Präventiv OS und Nicht -Line -Punkt -Betriebssystem
- Prioritätsplanungsalgorithmus
- Round -Robin -Planungsalgorithmus
- Planung durch Planung von Algorithmus
- Prioritätsinversion
- Windows -Prozesspriorität
- Fügen Sie die Eingabeaufforderungsprojektfunktion hinzu
- Umleitung verstehen
- So implementieren Sie die Umleitung
- Die Antwort, die ich implementiert habe
Kapitel 10 dritte Geschichte der Computerstruktur
- Procedural Call Support CPU -Modell
- Stapelrahmenstruktur
- SP -Register
- Rahmenzeigerregister
- Lassen Sie es uns auf dem Stapel, Rahmenzeiger aufbewahren
- Funktion für den Callfaktor und Push & Pop -Befehlsdesign
- Funktionsablieferraum für den Callfaktor
- Push & Pop -Befehlsdesign
- Ausführungsbewegung durch Funktionsaufruf
- Speicherstruktur und Programmzähler zum Rückblick (Programmzähler)
- Funktionsaufruf und Funktionende
- Konventur anrufen
Kapitel 11 Fadenverständnis
- Was ist ein Thread?
- Multi -Process -Basis -Programm
- Probleme und neue Vorschläge für Multi -Process -Betriebssystem -basierte Programme
- Lösung, Faden
- Der Prozess und der Einfädeln Dieser Vorgang von einer Speicherstruktur
- Prozesse und Fäden in Windows
- Klassifizierung nach Thread -Implementierungsmodell
- Kernel -Ebene -Thread und Benutzerebene Thread
- Kernelmodus und Benutzermodus
- Vor- und Nachteile von Threads auf Kernelebene und Threads der Benutzerebene
Kapitel 12 Schöpfung und Zerstörung von Thread
- Erstellung und Aussterben von Fäden in Fenstern
- Thread -Generierung
- Verschwinden des Threads (einschließlich zusätzlicher Geschichten über die Thread -Produktion)
- Persönlichkeit und Eigenschaften des Threads
- Überprüfung der Hüften, Datenbereiche und Codebereiche
- Probleme im gleichzeitigen Ansatz
- Fadentrennung vom Prozess
- ANSI Standard C -Bibliothek und Thread
- Faden
- Fadenwechsel
- Suspend & Resume
- Prioritätskontrolle des Threads
Kapitel 13 Thread -Synchronisierungstechnik 1
- Was ist Thread -Synchronisation?
- Fadensynchronisation aus zwei Perspektiven
- Zwei Methoden zur Threadsynchronisation
- Synchronisation des kritischen Abschnittsansatzes
- Kritischer Abschnitt verstehen
- Synchronisation im Benutzermodus
- Synchronisation basierend auf dem kritischen Abschnitt
- Verriegelte Funktionsfamilie basierte Synchronisation
- Synchronisation im Kernelmodus
- Synchronisation basierend auf Mutex
- Semapore -basierte Synchronisation
- Synchronisation des Namens Mutex basierend auf dem Namen Mutex
- Besitz von Mutex und Wait_Annoned
Kapitel 14 Thread -Synchronisierungstechnik 2
- Synchronisation in der Reihenfolge der Ausführung
- Hersteller/Verbrauchermodell
- Ereignisbasierte Synchronisation
- Beispiel für die Verwendung des manuellen Reset -Modus -Ereignisses
- Ereignis plus Mutex
- Beispiel für Anwendungen und Mutex -Objekte
- Timer -basierte Synchronisation
- Manuell Reset -Timer
- Periodisch
Kapitel 15 Threading Pooling
- Threadpool verstehen
- Thread -Pool -Implementierung
- Interpretation durch Modulmodul der Threadpool -Implementierung
- Thread Voller Implementierungsquellcode
- Fügen Sie die Eingabeaufforderungsprojektfunktion hinzu
- Rohrverbindung Eingang und Ausgabe anschließen
- Implementierungsprinzip
- Durchführung
Kapitel 16 Die vierte Geschichte der Computerstruktur
KAPITEL 17 SEH -Technik (Structural Exception Processing)
- SEH (strukturierte Ausnahmebehandlung)
- Die Notwendigkeit einer Ausnahmeverarbeitung
- Der Unterschied zwischen Ausnahmen und Fehlern
- Hardware -Ausnahme und Software -Ausnahme
- Kündigungsbehörde
- Grundzusammensetzung und Aktionsprinzip der Termlanten
- End Handler -Anwendungsfallstudie 1
- End Handler -Anwendungsfallstudie 2
- Ausnahmebehandler
- Ausnahmebehandler und Filter
- Anwendungsfallstudie von Ausnahmehandler
- Bewegung unverarbeiteter Ausnahmen
- Handler
- Wie man zwischen den Typen und Ausnahmen der definierten Ausnahmen unterscheidet
- AUCECT_CONTINUE_EXCUSION & AUCECTE_CONTINUE_SEARCH
- Software -Basis -Entwickler -Definitionsausnahme
- Auftreten von Softwareausnahmen
- GetExceptionInformation
Kapitel 18 Datei I/O und Verzeichniskontrolle
- Grundlegende Dateiverarbeitungsfunktionen
- Datei öffnen und schließen
- Lesen & Schreiben und Zeiger Datei
- Beispiele für das Öffnen, Lesen, Schreiben und Schließen der Datei
- Holen Sie sich die Zeitinformationen der Datei
- Dateigröße abrufen
- Holen Sie sich die charakteristischen Informationen der Datei
- Holen Sie sich die charakteristischen Informationen der Datei
- Holen Sie sich die Pfadinformationen der Datei
- Bewegung des Dateizeigers -32 -Bit -Basis
- Dateizeigerbewegung -64 -bit -Basis
- Verzeichnis -bezogene Funktionen und andere Funktionen
- Schöpfung und Aussterben des Verzeichnisses
- Aktuelles Verzeichnis, Systemverzeichnis und Windows -Verzeichnis
- Suchen Sie eine Datei im Verzeichnis
- Fügen Sie die Eingabeaufforderungsprojektfunktion hinzu
- Xcopy -Verständnis
- Umfang und Methode der Implementierung von XCopy
- XCOPY -Implementierungsfall
Kapitel 19 Asynchrone I/O und APC
- Asynchron I/O
- Verständnis von asynchronem I/O
- Überlappte i/o
- Überlapptes E/O -Beispiel
- Abschlussroutine -Infrastrukturausdehnung I/O
- Aufmerksamer Zustand
- Dateispositionsinformationen der überlappenden Struktur
- Vollständige Routine am Timer
- Der Inhalt bisher
- APC (asynchroner Verfahrensaufruf)
- APC -Struktur
- APC -Warteschlangenzugriff
Kapitel 20 Virtual Memory (Heap, MMF)
- Virtuelle Speicherkontrolle
- Reserve, Verpflichtung und kostenlos
- Überprüfen Sie den Startpunkt und die Einheit der Speicherzuweisung
- Virtualalloc & VirtualFree -Funktion
- Dynamisches Array -Design
- Haufen Kontrolle
- Mein Gedächtnis an Heap Control
- Standard -Heap & Windows Hip im Windows -System
- Standard -HIP -Steuerung
- Ein weiterer Vorteil der Produktion von dynamischem Haufen
- Hüftschöpfung, Aussterben und Zuordnung
- Beispiel für Heap & Linked List
- MMF (Speichergekitanterdatei)
- MMF verstehen
- MMF -Implementierungsprozess
- MMF -Implementierungsfunktion
- Beispiel für die Konfiguration von MMF 1
- MMF zum Schreiben
- Kopie auf dem Schreiben (Kuh)
Kapitel 21 Dynamische Verknüpfungsbibliothek
- Bibliothek und Printf!
- Frage
- Die Antwort ist die Bibliothek
- Motivation zum Schreiben von Bibliotheken
- Schreiben Sie eine Bibliothek
- Statische Bibliothek
- Eine andere Bibliothek DLL
- Dynamic Linking Library (DLL) verstehen
- Der Unterschied zwischen DLL und statischer Bibliothek
- DLL -Produktion 1: implizite Verknüpfung
- DLL und externe Erklärung
- DLL -Produktion 2: Explizite Verknüpfung
- DLL, das mehr als einmal geladen werden kann
- Es geht darum, einige der Hoder -Dateien zu erstellen!
- Mindestens drei Headudiles
- Unterstützung alles mit einer Header -Datei