Windows system programming that stimulates the brain
Chapter 1 The first story of computer structure
- Understanding and approaching system programming
- System Programming?
- Main components of computer systems
- Computer hardware configuration
- CPU (Central Processing Unit)
- Main memory
- Input/output bus
- Understanding CPU
- ALU (Arithmetic Logic Unit)
- Control unit
- Register sets inside the CPU
- Bus Interface
- Clock Pulse
- Program execution process
- Great mathematician von Neuman
- Program execution process
- Reconciliation
Chapter 2 ASCIICode vs. Unicode
- Unicode in Windows
- Types and characteristics of character set
- MBCS -based string
- WBCS -based programming
- Simultaneous support of MBCS and WBCS
- `#include <Windows.h>
- Resources defined by Windows
- Macro for supporting MBCS and WBCS (Unicode) at the same time
- Functions to support MBCS and WBCS (Unicode) at the same time
3 Chapter 64 -bit -based programming
- Win 32 vs Win 64
- 64 -bit and 32 -bit
- 64 -bit computer from the programmer's point of view
- Win 32 vs Win 64 from the point of view of the program implementation
- LLP64 vs LP64
- 64 -bit and 32 -bit coexistence problems
- Windows style materials
- Check Windows data type
- Polymorphic data type
- Out of errors
- GetLasterRor function and error code
- System Programming Project Design
- Proposal of the command prompt project
- Suggestions for command prompt projects and implementation of exit commands
Chapter 4 The second story of computer structure
- How to approach computer structure
- Let's design the computer
- Let's design the register
- Design command structure and command
- Load & Store command design
- The necessity of Load & Store command
- Load & Store command design
- Direct mode and indirect mode
- Problems in Direct mode and proposal of indirect mode
- Understanding Indiret mode
- Example of utilizing indirect mode
Chapter 5 The creation and extinction of processes
- Understanding of the process
- What is a process?
- Element
- Schedule and status change of the process
- Scheduling of the process
- Change in the process of the process
- Understanding the status of the process, re -understanding with scenarios
- Context switching
- Creation of processes
- Creation of processes
- Understanding the CreateProcess function
- Understanding the CreateProcess function through an example
- Composition and execution of the environment for practice
- Examples and problems related to process creation
- Add command prompt project function
Chapter 6 Kernel Objects and Object Steel
- Understanding the kernel object
- Understanding the kernel object
- Other kernel objects
- Kernel object and handle dependency relationship
- Kernel Object and Usage Count
- Add command prompt project function
Chapter 7 Communications between Processes (IPC) 1
- The meaning of inter -process communication (IPC)
- Mail slot type IPC
- Signaled vs Non-Signaled
Chapter 8 Interceptors (IPC) 2
- Inheritance of handle tables and object handles
- Pipe
- Process environment variable
- Add command prompt project function
Chapter 9 Scheduling algorithm and priority
- Scheduling of the process
- Differences between ordinary OS and Real Time OS
- Sott RTOS vs Hard RTOS
- Preemptive OS and non -line point OS
- Priority scheduling algorithm
- Round Robin Scheduling Algorithm
- Scheduling by scheduling algorithm
- Priority inversion
- Windows process priority
- Add command prompt project function
- Understanding Redirection
- How to implement redirection
- The answer I implemented
Chapter 10 Third Story of Computer Structure
- Procedural call support CPU model
- Stack frame structure
- SP register
- Frame Pointer Register
- Let's store it on the stack, frame pointer
- Function call factor delivery and push & pop instruction design
- Function call factor delivery room
- Push & POP command design
- Movement of execution by function calling
- Memory structure and program counter to look back (Program Counter)
- Function call and function end
- Calling Convention
Chapter 11 Thread Understanding
- What is a thread?
- Multi -process -based program
- Problems and new proposals for multi -process operating system -based programs
- Solution, thread
- The process and thread this process from a memory structure
- Processes and threads in Windows
- Classification according to thread implementation model
- Kernel Level Thread and User Level Thread
- Kernel Mode and User Mode
- Advantages and disadvantages of kernel level threads and user level threads
Chapter 12 Creation and Destruction of Thread
- Thread creation and extinction in Windows
- Thread generation
- Thread's disappearance (including additional stories about thread production)
- Thread's personality and characteristics
- Verification of hips, data areas, and code areas
- Problems in the simultaneous approach
- Thread separation from the process
- ANSI standard C library and thread
- Thread
- Thread change
- SUSPEND & Resume
- Thread's Priority Control
Chapter 13 Thread Synchronization Technique 1
- What is Thread Synchronization?
- Thread synchronization from two perspectives
- Two methods in thread synchronization
- Synchronization of Critical Section approach
- Understanding Critical Section
- Synchronization in User Mode
- Synchronization based on Critical Section
- Interlocked Family of Function -based synchronization
- Synchronization in Kernel Mode
- Synchronization based on mutex
- Semapore -based synchronization
- Synchronization of the name mutex based on the name mutex
- Ownership of Mutex and Wait_abandoned
Chapter 14 Thread Synchronization Technique 2
- Synchronization in the order of execution
- Producer/Consumer Model
- Event -based synchronization
- Example of use of manual reset mode events
- Event Plus Mutex
- Example of applications and mutex objects
- Timer -based synchronization
- Manual Reset Timer
- Periodic
Chapter 15 Threading Pooling
- Understanding Thread Pool
- Thread pool implementation
- Interpretation by module of thread pool implementation
- Thread full implementation source code
- Add command prompt project function
- Pipe connecting input and output
- Implementation principle
- Implementation
Chapter 16 The fourth story of computer structure
Memory Hierarchy
- Memory range and type
- Memory hierarchy
Cash and cash algorithm
- General characteristics of computer programs
- Cash algorithm
- Cash Frerindly Code Creation Technique
Virtual memory
- Physical
- Virtual Address System 1
- Virtual Address System 2
Chapter 17 Structural Exception Processing (SEH) Technique
- SEH (Structed Exception Handling)
- The need for exception processing
- The difference between exceptions and errors
- Hardware exception and software exception
- Termination Handler
- Basic composition and action principle of the termlants
- End Handler Use Case Study 1
- End Handler Use Case Study 2
- Exception Handler
- Exception handler and filter
- Exception handler's use case study
- Movement of unprocessed exceptions
- Handler
- How to distinguish between the types and exceptions of the defined exceptions
- Exception_Continue_excusion & Exception_Continue_search
- Software -based developer definition exception
- Occurrence of software exceptions
- GetExceptionInformation
Chapter 18 File I/O and Directory Control
- Basic file processing functions
- File Open & Close
- File Reading & Writing and Pointers
- Examples of opening, reading, writing, and closing the file
- Get the time information of the file
- Get file size
- Get the characteristic information of the file
- Get from the characteristic information of the file
- Get the path information of the file
- File pointer's movement -32 -bit base
- File pointer movement -64 -bit base
- Directory -related functions and other functions
- Creation and extinction of directory
- Current directory, system directory and Windows directory
- Find a file in the directory
- Add command prompt project function
- XCOPY understanding
- Scope and method of implementation of xcopy
- XCOPY implementation case
Chapter 19 asynchronous I/O and APC
- Asynchronous I/O
- Understanding of asynchronous I/O
- Overlapped I/O
- Overlapped I/O example
- Completion Routine Infrastructure Expansion I/O
- Alertable state
- File location information of the overlapped structure
- Complete routine on the timer
- The content so far
- APC (Asynchronous Procedure Call)
- APC structure
- APC Queue access
Chapter 20 Virtual Memory (HEAP, MMF)
- Virtual memory control
- Reserve, Commit and Free
- Checking the starting point and unit of memory allocation
- Virtualalloc & VirtualFree function
- Dynamic Array Design
- Heap control
- My memory of heap control
- Default Heap & Windows Hip in Windows System
- Default Hip Control
- Another advantage of the production of dynamic heap
- Hip creation, extinction and assignment
- HEAP & LINKED LIST example
- MMF (Memory Mapped File)
- Understanding MMF
- MMF implementation process
- MMF's implementation function
- Example of configuration of MMF 1
- MMF for writing
- Copy-on-WRITE (COW)
Chapter 21 Dynamic Linking Library
- Library and printf!
- question
- The answer is the library
- Motivation for writing libraries
- Write a library
- Static library
- Another library dll
- Understanding Dynamic Linking Library (DLL)
- The difference between DLL and static library
- DLL production 1: implicit linking
- DLL and EXTERN Declaration
- DLL production 2: Explicit linking
- DLL that can be loaded more than once
- It's a matter of creating some of the Hoder files!
- At least three headudiles
- Supporting all with one header file