Operating Systems Deep Dive · 2 of 6

Windows — The Desktop the Enterprise Runs On

Windows is the OS most people sit in front of at work. It's the home of .NET, PowerShell, DirectX games, and Active Directory. Modern Windows is two systems in a trenchcoat: the classic Win32 world and a new POSIX-friendly side built around WSL, Terminal, and Visual Studio Code.

NT Kernel.NETPowerShellWSLActive Directory
← Back to Foundations
Quick Facts

What Windows Is

Basic Concepts

  • NT kernel: Designed by Dave Cutler (also of VMS fame) starting in 1989. Modern, preemptive, supports multiple personalities (Win32, POSIX, OS/2 historically).
  • Win32 API: The classic C API for windows, files, threads. Still the foundation of every desktop app.
  • Registry: A hierarchical key-value database under HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER, etc. Stores most system and app config.
  • Backwards compatibility: A near-religious commitment. Apps written for Windows 95 still launch on Windows 11.
  • Editions: Home, Pro, Enterprise, Server. Same kernel, different features (BitLocker, Group Policy, AD).
Architecture

How NT Works

Kernel + Subsystems

The NT kernel is a microkernel-ish hybrid: an executive layer (object manager, process manager, I/O manager) sits above the kernel proper. On top of it run subsystems — Win32 is the main one. WSL2 runs a real Linux kernel as a lightweight VM next to it.

Process & Thread Model

Processes are heavier to create than on Linux (no fork; you call CreateProcess directly). Threads are the primary unit of work — Windows code is more thread-heavy than equivalent Unix code. The scheduler is preemptive with priority levels and dynamic boosting.

The Filesystem

NTFS is the default — journaled, ACL-based permissions, supports sparse files, hard links, symbolic links, alternate data streams. Drive letters (C:\) descend from DOS but the kernel itself is path-agnostic. ReFS is the newer filesystem for servers.

Security Model

Every kernel object has a security descriptor with an access control list (ACL). Users have SIDs, not numeric UIDs. UAC (User Account Control) prompts elevate from standard to admin token. Active Directory extends this across a network — single sign-on, group policy, Kerberos.

Developer Stack

What You Build With on Windows

Tool / FrameworkWhat It's For
.NET / C#The default app and service framework — desktop, web, cloud.
Visual Studio / VS CodeThe IDE pair — VS for big .NET/C++ work, VS Code for everything else.
PowerShellObject-pipeline shell. Cmdlets pass .NET objects, not text.
Windows TerminalModern multi-tab terminal that hosts cmd, PowerShell, WSL, SSH side by side.
WSL / WSL2A real Linux kernel running as a hypervisor-backed VM with tight Windows integration.
winget / Chocolatey / ScoopPackage managers — finally, a sane way to install dev tooling.
Hyper-VMicrosoft's type-1 hypervisor; powers WSL2, Docker Desktop, sandboxes.
DirectXGraphics/audio/input API. The reason Windows is the gaming platform.
Why It Wins

Where Windows Dominates

Enterprise Identity & Management

Active Directory + Group Policy is the single biggest moat. Tens of thousands of laptops centrally managed, joined to a domain, patched by SCCM, signed into via Kerberos. No competing stack matches the breadth.

Backwards Compatibility

A 30-year-old line-of-business app that nobody has the source for still runs. For hospitals, factories, banks — that property alone is worth the OS license.

Gaming

DirectX, mature GPU drivers, anti-cheat hooks, and the install base mean PC gaming is functionally Windows gaming. Steam Deck on Linux is closing the gap, but slowly.

The "Both Worlds" Story

WSL2 + Windows Terminal + VS Code Remote turned Windows into a credible Linux dev box. You get Office, Outlook, Teams, and corporate AV on one side; a real Ubuntu shell on the other. For many shops it's the new default.

Reality Check

Where Windows Struggles

  • Server market share. Windows Server is shrinking against Linux for cloud workloads — even .NET Core runs natively on Linux now.
  • Path quirks. Backslashes, drive letters, MAX_PATH (260 chars) historically, case-insensitive filesystems — all friction when sharing code with Unix.
  • Updates. Forced reboots and sprawling patch Tuesdays are still a meme for a reason.
  • Telemetry & bundled apps. Modern Windows ships with ads in the Start menu and opinionated defaults that enterprises spend GP cycles undoing.
Continue

More Operating Systems