This post is about the Windows operating system.
Hardware Abstraction Layer (HAL) is part of the kernel, and it uses different code depending on the hardware technology below.
MinWin is an internal minimalistic Windows version used just to test the kernel.
Windows Nanoserver is a runnable Windows version.
Process Management
There is a total of 139 priority values for process management.
The user processes range between 40 values.
Other sources says that Windows work with 32 values (from 0 to 31).
The level can be a “level impulse” in certain situation
- I/O: +1 level
- Semaphore: +2 levels
- GUI: +1 level
User Mode Scheduling (UMS) implies that there are two threads for each process where one runs in kernel mode and other in user mode.
The Windows microkernel only work with threads, not processes.
Each Windows process has at least one thread.
Process Environment Block (PEB)
Threat Environment Block (TEB)
PEB and TEB have specific fields.
There are 9 process states, the same number as Unix but more than Linux (that has 5).
Memory Management
It used FAT32 at the beginning
Then it developed NTFS.
A soft page failure means that the page was previously allocated and has not been deleted.
Memory management works only with processes, not threads.
SuperFetch means that it loads in advance.
Logging Management
You can read this post about tools to get Windows logs.
Device Handling
Windows 95 is the first version to feature plug ‘n play.
Windows Security
You can read this post about Windows security.
Windows BitLocker was introduced in Windows Vista. It uses encryption algorithm AES-XTS.
A security descriptor is assigned to a file.
Window Versions
MS-DOS-based Windows versions:
- 1
- 2
- 3
- 3.11
- 95
- 98
- Me
NT-based Windows versions:
- NT
- 2000
- XP
- Vista
- 7
- 8
- 10
- 11
Windows server versions:
- Server 2003
- Server 2008
- Server 2012
- Server 2016
- Server 2019
- Server 2022
Windows 11 requires a minimum processor of Intel Gen8 or AMD Zen+.
Windows Server 2022 has at least the following versions:
- Standard
- Datacenter
- Azure Datacenter
WS 2022 Datacenter has no limits in the number of virtualized OSs.
Executable files in Windows Systems
Executable files in Windows systems:
- COM
- EXE MZ
- EXE PE
- EXE NE
- EXE LE
You can read this post about DOS COM files.
You can read this post about EXE MZ files.
Software Development
OS API
- Win32 API
Low Level Graphics
- GDI+
- DirectX 9-12
GDI+ is for 2D graphics.
DirectX is for 3D graphics.
Application UI Frameworks
- WPF
- WinForms
- UWP
- WinUI
Windows Presentation Foundation (WPF)
MFC, WinForms, and WPF are sometimes referred as Win32 apps.
Component Models and Interoperability
- COM
- ActiveX
- ATL
Component Objetct Model (COM)
ActiveX
Active Template Library (ATL)
Application Runtime
Windows subsystems:
- MFC
- .NET Framework
Compatibility of other OS software on Windows
Linux software compatibility on Windows
Main solutions to ensure Linux compatibility on Windows:
- Cygwin
- MinGW
- WSL
- Virtual machine
Cygwin adds a layer of compatibility to convert calls to the Linux API to the Windows system. It also includes common Linux tools.
MinGW is a lighter version of Cygwin. MSYS2 is related to MinGW.
Windows Subsystem for Linux (WSL) is a lightweight virtual machine offered by Microsoft. Latest version is WSL 2.
A full virtual machine with Linux running on Windows is another solution.