Windows: Architecture and Evolution from Past to Present

Windows: Architecture and Evolution from Past to Present

The Beginning: From MS-DOS to Windows (1981–1990)

MS-DOS — The Foundation of Everything

MS-DOS (Microsoft Disk Operating System), which shipped with the IBM PC in 1981, was far removed from what we'd call a modern operating system:

  • Single-tasking (no multitasking)
  • Single-user
  • Command-line interface only
  • 640 KB RAM limit (Bill Gates's famous "640K ought to be enough for anybody")
  • 16-bit real mode — no memory protection, every program can access all of RAM
MS-DOS Memory Map
┌─────────────────┐ 0xFFFFF (1 MB upper limit)
│   ROM BIOS      │
├─────────────────┤ 0xC0000
│  Video Memory   │
├─────────────────┤ 0xA0000
│   High Memory   │ ← some drivers loaded here
├─────────────────┤ 0x9FFFF
│   User /        │
│  Program Area   │ ← 640 KB (actual program space)
├─────────────────┤ 0x00600
│   DOS Kernel    │
└─────────────────┘ 0x00000

Windows 1.0 — 2.0 (1985–1990): A Graphical Shell

Windows was not an operating system at first — it was a graphical shell running on top of MS-DOS.

  • Windows 1.0 (1985): Non-overlapping windows, mouse support
  • Windows 2.0 (1987): Overlapping windows, keyboard shortcuts
  • Windows/386 (1987): Used 386 protected mode to run multiple DOS applications

Users still launched Windows by typing WIN from the DOS prompt.


The Windows 3.x Era (1990–1994): Mass Adoption

Windows 3.0 (1990) and Windows 3.1 (1992) delivered the first real commercial success.

Technical Innovations

  • 386 Enhanced Mode: 32-bit protected mode, virtual memory, multiple DOS sessions
  • Virtual Machine Manager (VMM): Each DOS application ran in its own virtual machine
  • GDI (Graphics Device Interface): Graphics drawing API — still present today
  • USER module: Window management and message system
Windows 3.1 Layered Architecture
┌──────────────────────────────┐
│      User Applications       │
├──────────────────────────────┤
│  USER.EXE │ GDI.EXE │ ...   │  ← Win16 API (16-bit DLLs)
├──────────────────────────────┤
│         KRNL386.EXE          │  ← Kernel (still 16-bit!)
├──────────────────────────────┤
│           MS-DOS             │  ← DOS still underneath
├──────────────────────────────┤
│           Hardware           │
└──────────────────────────────┘

Problems

  • Weak memory protection: if one app crashed, Windows usually crashed with it
  • Cooperative multitasking: applications had to "voluntarily" yield the CPU
  • 16-bit architecture bottleneck: couldn't fully exploit 32-bit hardware

The Windows NT Lineage — A New Kernel (1993)

Why NT?

While working with IBM on OS/2, Microsoft hired Dave Cutler (architect of VMS). Cutler designed an enterprise-grade operating system kernel from scratch: Windows NT.

NT's design goals:

  • Portability (x86, MIPS, Alpha, PowerPC)
  • Security (targeting C2 security certification)
  • Reliability (user-mode crashes don't affect the kernel)
  • POSIX and OS/2 compatibility

Windows NT Kernel Architecture

┌─────────────────────────────────────────────────────┐
│                    User Mode                         │
│                                                      │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │
│  │Win32 App │ │POSIX App │ │ OS/2 App │ │Service │ │
│  └────┬─────┘ └────┬─────┘ └────┬─────┘ └───┬────┘ │
│       │             │             │           │      │
│  ┌────▼─────────────▼─────────────▼───────────▼────┐│
│  │            Environment Subsystems                ││
│  │  Win32 (csrss.exe) │ POSIX │ OS/2               ││
│  └────────────────────┬───────────────────────────┘ │
│                        │ NT Native API               │
├────────────────────────┼────────────────────────────┤
│                   Kernel Mode                        │
│                        │                            │
│  ┌─────────────────────▼──────────────────────────┐ │
│  │              Executive Subsystem                │ │
│  │                                                 │ │
│  │  ┌─────────┐ ┌────────┐ ┌──────┐ ┌──────────┐  │ │
│  │  │ Process │ │ Object │ │ I/O  │ │ Security │  │ │
│  │  │ Manager │ │Manager │ │ Mgr  │ │Reference │  │ │
│  │  └─────────┘ └────────┘ └──────┘ └──────────┘  │ │
│  │  ┌──────────────────┐  ┌─────────────────────┐  │ │
│  │  │  Memory Manager  │  │   Cache Manager     │  │ │
│  │  └──────────────────┘  └─────────────────────┘  │ │
│  └──────────────────────┬──────────────────────────┘ │
│                          │                           │
│  ┌───────────────────────▼──────────────────────────┐│
│  │              NT Kernel (ntoskrnl.exe)             ││
│  │    Scheduling │ Synchronization │ Interrupt Hdlg  ││
│  └───────────────────────┬──────────────────────────┘│
│                           │                          │
│  ┌────────────────────────▼─────────────────────────┐│
│  │       Hardware Abstraction Layer (HAL)            ││
│  └────────────────────────┬─────────────────────────┘│
└───────────────────────────┼─────────────────────────┘
                             │
                          Hardware

Core NT Concepts

Object Manager In NT, everything is an object: files, processes, threads, mutexes, sockets. All share the same reference-counting and security mechanism.

Object Types
├── Process
├── Thread
├── File
├── Event
├── Mutex
├── Semaphore
├── Token (security)
└── Section (shared memory)

HAL (Hardware Abstraction Layer) Isolates hardware-specific code in a single layer. The same NT kernel can run on x86, MIPS, or Alpha with a different HAL.

Windows NT Releases

VersionYearHighlight
NT 3.11993First NT, workstation + server
NT 3.511995Performance improvements
NT 4.01996Win95 UI + GDI moved to kernel mode

Windows 95/98/Me — The Consumer Line (1995–2000)

In parallel with NT, Microsoft maintained a separate line for home users.

Windows 95 (1995)

One of the most significant OS launches in history. Key innovations:

  • 32-bit API (Win32) — same API surface as NT
  • Long file names — end of the 8.3 limit
  • Plug and Play — automatic hardware detection
  • Taskbar + Start menu — a UI paradigm that endures to this day
  • Preemptive multitasking (for Win32 applications)

But MS-DOS was still underneath. IO.SYS and MSDOS.SYS remained as hidden system files. The kernel was a hybrid of MS-DOS and 16-bit Windows components.

Windows 98 / 98 SE (1998–1999)

  • USB support added
  • Deep integration with Internet Explorer 4/5 (subject of the antitrust case)
  • FAT32 support
  • Multi-monitor support

Windows Me (2000) — The Bottom of the Barrel

One of the worst-received Windows releases in history:

  • Removed MS-DOS mode (but DOS was still there underneath)
  • Added System Restore (good idea, poor implementation)
  • Heavy instability and crash complaints
  • Short-lived: everyone abandoned it the moment Windows XP shipped

Windows 2000 and XP — The Merger (2000–2007)

Windows 2000 (2000)

Also known as NT 5.0. Brought the NT kernel outside of the enterprise:

  • Active Directory for the first time
  • NTFS 3.0 (quotas, encryption, sparse files)
  • Plug and Play + WDM driver model
  • First attempt to bring the NT kernel to the consumer segment

Windows XP (2001) — The Long Reign

The convergence point of the consumer (95/98/Me) and enterprise (NT/2000) lines. Built on the NT 5.1 kernel.

Windows XP Architecture
┌─────────────────────────────────────────────┐
│                 User Mode                    │
│                                              │
│  ┌─────────────────────────────────────────┐│
│  │          Win32 Subsystem                ││
│  │  csrss.exe │ winlogon.exe │ services.exe││
│  └────────────────────┬────────────────────┘│
│                        │ Win32k.sys (syscall)│
├────────────────────────┼────────────────────┤
│                Kernel Mode                   │
│                                              │
│  ┌─────────────────────────────────────────┐│
│  │  ntoskrnl.exe (Executive + Kernel)      ││
│  └─────────────────────────────────────────┘│
│  ┌─────────────┐  ┌──────────────────────┐  │
│  │  win32k.sys │  │   Drivers (.sys)     │  │
│  │  (GDI+USER) │  │  NDIS, FS, HID...   │  │
│  └─────────────┘  └──────────────────────┘  │
│  ┌─────────────────────────────────────────┐│
│  │              HAL.DLL                    ││
│  └─────────────────────────────────────────┘│
└─────────────────────────────────────────────┘

XP's biggest contributions:

  • ClearType font smoothing
  • Fast User Switching — switch users without logging out
  • System Restore (the version that actually worked)
  • Driver Signing — warnings for unsigned drivers
  • WPA (Windows Product Activation) — anti-piracy

XP was supported by Microsoft until 2014. 13 years.


Windows Vista (2007) — Major Architectural Shift, Difficult Birth

Vista was the product of five years of development and brought deep architectural changes. However, hardware requirements and compatibility issues led to a poor reception.

Key Architectural Innovations

Windows Display Driver Model (WDDM) The graphics driver no longer runs entirely in kernel mode:

  • The bulk of the driver was moved to user mode
  • GPU memory is managed like virtual memory
  • GPU crashes no longer bring down the system (the driver can restart)

User Account Control (UAC) Admin privileges are no longer automatic. Every privileged operation requires consent. (Users initially hated it, but it was a security revolution.)

Integrity Levels (IL) Every process and file has an integrity level:

System      → kernel components
High        → administrator processes
Medium      → normal user applications
Low         → Internet Explorer, sandboxed applications

A Low IL process cannot write to a Medium IL resource. A browser exploit can't take over the system because IL protection kicks in.

BitLocker Full-disk encryption integrated with TPM (Trusted Platform Module).

Kernel Patch Protection (KPP / PatchGuard) Prevents patching the kernel on 64-bit systems. Revolutionary for both rootkits and antivirus software (it impacted both).


Windows 7 (2009) — Vista Matured

Vista's criticised aspects were fixed; its solid architecture was kept.

  • Aero Snap: Snap windows by dragging to screen edges
  • Jump Lists: Recent files right from the taskbar
  • HomeGroup: Home network sharing
  • UAC tuning: Users can choose their preferred level
  • XP Mode: Run XP applications inside a virtual machine

Kernel: NT 6.1 — not very different from Vista (NT 6.0). But the perception was completely different: hailed as "Vista fixed."


Windows 8 / 8.1 (2012–2013) — The Touch Revolution (and Retreat)

The desktop paradigm was dismantled to enter the tablet market.

Metro / Modern UI

  • Start menu removed → Start Screen introduced (full-screen tiles)
  • Two modes: "Modern" (touch) and "Desktop" (classic)
  • WinRT (Windows Runtime) API introduced

WinRT Architecture

┌────────────────────────────────────────────────────┐
│                  Application Layer                  │
│   ┌──────────────┐      ┌───────────────────────┐  │
│   │  Win32 / COM │      │   WinRT (Modern App)  │  │
│   │  .NET / MFC  │      │  C++ / C# / JS / VB   │  │
│   └──────┬───────┘      └───────────┬───────────┘  │
│          │                          │               │
│   ┌──────▼──────────────────────────▼───────────┐  │
│   │            Windows Runtime (WinRT)           │  │
│   │  (COM-based, language-neutral component model)│ │
│   └──────────────────────┬──────────────────────┘  │
│                           │                        │
├───────────────────────────┼────────────────────────┤
│               Kernel (NT 6.2)                       │
└────────────────────────────────────────────────────┘

Reception

  • Enterprise and desktop users revolted
  • "Where is the Start menu?" dominated the internet
  • Windows 8.1 brought back the Start button (but not the menu)
  • Market share stayed below XP and 7

Windows 10 (2015) — The Compromise and "Last Windows"

Key Changes

  • Start menu back + tiles side by side
  • Cortana voice assistant
  • Edge browser (successor to Internet Explorer)
  • DirectX 12: Multi-threaded GPU command submission, lower driver overhead
  • WSL (Windows Subsystem for Linux): Run real Linux binaries
  • Universal Windows Platform (UWP): One app for all Windows devices

Servicing Model

"Windows as a Service" for the first time:

  • Periodic Feature Updates (every 6 months) instead of major releases
  • Every user on the same base kernel

Virtualization-Based Security (VBS)

Hyper-V-based security layers arrived with Windows 10:

Hardware (CPU, RAM, Storage)
        │
        ▼
┌───────────────────────────────────────────┐
│              Hyper-V Hypervisor            │
├───────────────────┬───────────────────────┤
│  Normal VM        │  Secure VM (VSM)       │
│  Windows 10 OS    │  Credential Guard      │
│  Applications     │  Hypervisor-Protected  │
│                   │  Code Integrity (HVCI) │
└───────────────────┴───────────────────────┘
  • Credential Guard: LSASS (credential store) runs in an isolated VM — can't be dumped
  • HVCI: Kernel drivers are validated by the hypervisor

WSL — Linux Inside Windows (2016–Present)

Windows Subsystem for Linux was a paradigm shift for developers.

WSL 1 (2016): Translation Layer

Linux Application (ELF binary)
        │  Linux syscall (read, write, fork…)
        ▼
  WSL Translation Layer
        │  Convert to Windows NT Native API
        ▼
  NT Kernel

No Linux kernel — every Linux syscall is mapped to its NT equivalent. Fast, but some syscalls were missing or behaved incorrectly.

WSL 2 (2019): Real Linux Kernel

Linux Application
        │
        ▼
  Real Linux Kernel (Microsoft's custom build)
        │
        ▼
  Hyper-V Lightweight VM
        │
        ▼
  Windows NT Kernel

Real Linux kernel → full syscall compatibility. docker, systemd, GPU pass-through all supported.


Windows 11 (2021) — TPM Requirement and Innovation

Hardware Requirements Controversy

  • TPM 2.0 mandatory: Security-focused but excluded many existing machines
  • Secure Boot: UEFI Secure Boot must be enabled
  • CPU list: Only specific Intel/AMD CPUs officially supported

Architectural Innovations

Android Applications (Amazon Appstore) Android apps run via WSL-like virtualisation.

DirectStorage Direct NVMe → GPU memory copy for games, bypassing the CPU:

Traditional:    NVMe → RAM (CPU decompress) → GPU RAM
DirectStorage:  NVMe → GPU RAM (GPU decompress, CPU bypassed)

Smart App Control Subjects unsigned applications to AI-powered analysis before allowing them to run.


NT Kernel Evolution: By the Numbers

WindowsNT Versionx64ARMKernel Innovations
20005.0Active Directory, NTFS 3.0
XP5.1WPA, ClearType
Vista6.0WDDM, UAC, IL, PatchGuard
76.1Performance, HomeGroup
86.2WinRT, Storage Spaces
1010.0VBS, WSL, DX12
1110.0DirectStorage, TPM 2.0

NTFS — Windows' File System

NTFS (NT File System), which replaced FAT32, shipped with NT 3.1.

NTFS Disk Layout
┌────────────────────────────────────────┐
│  VBR (Volume Boot Record)              │
├────────────────────────────────────────┤
│  MFT (Master File Table)               │
│  ├── One record per file (~1 KB)       │
│  ├── $MFT (the MFT itself)            │
│  ├── $Bitmap (free cluster map)       │
│  ├── $LogFile (journal/log)           │
│  └── $Secure (security descriptors)   │
├────────────────────────────────────────┤
│  Data Area (clusters)                  │
└────────────────────────────────────────┘

NTFS Features

  • Journaling: Prevents inconsistent state after a power loss
  • ACL: Per-file/folder permission matrix
  • Alternate Data Streams (ADS): Hidden data streams can be attached to any file
  • Sparse files: Large files that are mostly empty don't consume disk space
  • Compression: Transparent file compression
  • Encryption (EFS): Transparent encryption with the user's key

Windows Security Model Summary

User logs in
        │
        ▼
  LSA (Local Security Authority)
  Creates token: SID + Privilege list + IL
        │
        ▼
  Every process inherits this token
        │
   ┌────┴──────────────────────────────┐
   │                                    │
   ▼                                    ▼
Resource access request          UAC elevation needed?
   │                              → new High IL token
   ▼
Security Reference Monitor
  ├── Read the object's DACL
  ├── Compare token SIDs against DACL ACEs
  └── Access granted or denied
  • SID (Security Identifier): User/group identity (S-1-5-21-...)
  • DACL (Discretionary Access Control List): Who can do what to the object
  • SACL (System ACL): For audit logging

Conclusion: 40 Years in Summary

1981  MS-DOS ──────────────────────────────────────────────────►
              │                                                   Single-tasking, 16-bit
1985  Win 1.0 ┤
1990  Win 3.x ┤ ← Graphical shell, cooperative multitasking
              │
1993  NT 3.1  ┼ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─►
              │                                                   NT kernel: secure,
1995  Win 95  ┤ ← 32-bit API, Start menu (DOS still underneath)  portable, object-based
2000  Win 2000┤
2001  Win XP  ┼ ← Consumer + NT merged, reigned for 13 years
2007  Vista   ┤ ← WDDM, UAC, PatchGuard — poorly received
2009  Win 7   ┤ ← Vista matured, beloved
2012  Win 8   ┤ ← Touch gamble, alienated desktop users
2015  Win 10  ┤ ← The compromise: WSL, VBS, DirectX 12
2021  Win 11  ┤ ← TPM 2.0, DirectStorage, refreshed UI
              │
              ▼
       Today: A single NT kernel runs on every
       Microsoft device except phones

Over 40 years, Windows evolved from a single-user 16-bit DOS shell into a platform that hosts hypervisor-based security, a real Linux kernel, and direct GPU storage — all in the same binary. At every step, backward compatibility was preserved not by sacrificing features, but by adding layers. That is both its greatest strength and its greatest architectural burden.

Comments

(0)
Top commentsNewest first

0/3000 • Press Ctrl + Enter to submit

Loading comments...

Windows: Architecture and Evolution from Past to Present | SourceDev