マイクロソフトはMS-DOSの後継OSとしてOS/2をIBMと共同開発しており、1980年代末にはOS/2 3.0の開発を主に担当していたが、契約関係・開発の進め方等においてIBM側としばしば対立、プロジェクトの進捗が大きく停滞する状況となっていた。そこでビル・ゲイツは事態の打開策としてプロジェクトマネージャーを社外に探し、当時DEC に在籍していたデヴィッド・カトラーを抜擢した。カトラーはDECのVAXマシン用OSであるVMSの開発者として名を上げた人物である。カトラーは当初OS/2 3.0のプロジェクトに参加したが、難航するIBMとの交渉の過程でOS/2に事実上見切りをつけ、後にNTと名付けられることになる新OS開発を水面下で推進するようになった。それは彼がかつてDECで手がけたVMSのアーキテクチャを基礎とする極めて近代的な構成でポータビリティの高いOSであった。OS/2次期バージョンの開発が遅延する中で、マイクロソフトはストップギャップとして80386搭載マシンを主なターゲットとして開発していたWindows 3.0を1990年に発売する。このWindows 3.0が大ヒットしたことでゲイツは方針を転換し、後継OSをOS/2ではなく自社オリジナルのWindowsにすることを決意する。だが、初期のWindowsは見た目はGUIではあったが内部的には16ビットコードで書かれたMS-DOSを土台としたアプリケーションランチャーの域を出るものではなく、また当時未だサポートされていた（そしてPC/ATの搭載CPUであったが故にPC市場の主流でもあった）Intel 80286の機能的な制約に由来する貧弱なメモリ管理機能、マルチタスクの不完全さ、ネットワーク機能の欠落など課題が山積していた。そこでゲイツは、カトラーが開発していたOS/2 3.0→NTを基本としつつ、それにWindows 3.0である程度確立されたGUIシェルを被せ、またそこで実装されていた16ビットWindows API (Win16) との互換性を持たせたOSを自社開発することとし、1993年にはNT系第一弾となるWindows NT 3.1の発売を果たした。NTは極めてコンパクトなマイクロカーネル、サブシステムの概念を導入し、Win32、OS/2、POSIXのサブシステムをユーザ空間に配置した。サブシステムで致命的な問題が起きてもクラッシュと呼ばれるシステム全体の破綻を起こさない、当時のPCで動作するOSとしては画期的なシステムであった。しかしこの構造は当時のPCには負荷が大きく、結果として重いOSと評されることになる。殊にバージョン3.1リリース時にはプログラムの最適化が不十分であったこともあって当時の標準的なPC環境よりも遙かに過大なメモリを必要としたため、「メモリ・イーター」との不名誉な呼ばれ方をされたこともあった。当初は重いOSにPC側の性能がついていかず、この新しいOSをビジネスPC用OSの後継にしようというマイクロソフトの目論みは失敗した。しかし、NT 3.1、NT 3.5に続いて発表した NT 3.51において、時をほぼ同じくしてリリースしたWindows 95をクライアントとしたサーバOSとしての性格を強調するマーケティングを行い、NetWareの牙城であったNOSの市場に足場を確保することに成功した。バージョンアップを重ねる際にマイクロカーネル概念の一部を放棄してWin32サブシステムやグラフィクス・デバイスドライバの論理層などをカーネル空間に展開してスループットを向上するなど、重いオペレーティングシステムという汚名を払拭するためのいくつもの改修が行われた。UNIXでnfsの一部をカーネルに移転してスループットを向上させる技術を参考に、ファイルサーバとしての性能向上を図った。OSI参照モデルに倣ったプロトコルスタックを廃しBSDの単純かつ高性能なプロトコルスタックを取り入れたWinsock 2と新しいプロトコルスタックの搭載はネットワーク性能を大幅に向上させた。日々進歩するUNIXやBSDは、マイクロソフトにとって欠かせぬ教材であったとも言えよう。あわせてNTに本格的に対応した新バージョンのVisual C++がリリースされ、サードパーティーやソフトハウスがNT向けアプリケーションの開発を本格的に行えるようになった。当時大変人気のあったMMORPG Diabloが安定して動作し、TCP/IPによるイントラネット・インターネット接続によるネットワークプレイが実現できたのは、これらの改修による。その後もマイクロソフトはデスクトップ用の業務用OSの後継としても売り込みを図るが、当時Windows 95からサポートが始まりゲーム市場で急速に普及し始めていたDirectXの対応が不十分であったこともあって一部のITプロフェッショナルを除いては市場に浸透せず、2000年にリリースしたWindows 2000においてようやくデスクトップOSとしても市場に認められることとなった。Windows 2000が認められたのは、Windows 9xシリーズのプラグアンドプレイやACPI等の電源管理機能、USBへの対応などユーザビリティの高い機能を実装したことと、DirectXのサポートやマルチメディア機能が強化されたこと、それにこの頃にはハードウェアの性能がNT系OSの重さを問題としない（つまり重たくない）レベルにまで向上していたことによると考えられる。Windows 2000は業務用のデスクトップOSとして歓迎されたが、一般家庭向けの市場でNT系OSが普及するのは次のWindows XPまで待つことになる。Windows XPが発売されてからはセキュリティの問題が取り上げられるようになった。そのため、Windows XPはService Pack 2にてCPUのセキュリティ機能DEPを利用したり、インターネットからの攻撃にはファイアウォールを標準で搭載することとなった。Windows XP Service Pack 2開発前後に開発中であったサーバー用Windowsは予定よりも遅くずれることが発表され、Windows XP Service Pack 2で搭載された各セキュリティ保護機能を搭載するとともに、Windows 2000のサーバーエディションで問題となったIISのインストール直後に機能し始めるといった設計が見直されることとなった。Windows Vistaは予定が何度も変更された。変更規模の計画が大小含め幾度も変更されたことに加えて、従業員に対するセキュリティ訓練のための開発中断、Windows XP Service Pack 2とWindows Serverの開発があったこと、搭載が予定されている機能の開発で問題が多かったことによる。Windows Vistaは発売されると動作の重さが問題となった。Windows Vistaのサービスパックにて重さへの問題が対処されるが、結局次のWindows 7が発売されるまで話題が収まることはなかった。Windows Vistaと同じソースコードベースであるWindows Server 2008ではハードウェア仮想化機能であるHyper-Vが搭載された。Windows 7では、重さに対処する問題、同じソースコードベースであるWindows Server 2008 R2では仮想化機能の更なる対応などが行われた。Windows VistaのバージョンであるNT 6世代はクライアント版もサーバー版も機能と価格が異なるバリエーションとなる多くのエディションが登場した。Windows 7がリリースされた時点で、既に従来のスタイラス操作ではなく複数の指による画面操作（マルチタッチ）が可能で、また一つのチップで低消費電力かつ低発熱で長時間動作可能なARMアーキテクチャが採用された小型機器のスマートフォンやタブレットが世に出回っていた。これを受けて、Windows 8ではそれらのデバイスで同様に動作するように開発が行われた。Windows 8が完成する以前、ARMアーキテクチャに対応するWindowsとして既にWindows CEが存在していたが、Windows NTとは採用対象となるセグメントの違いからOSアーキテクチャが異なり、デスクトップアプリケーションやデバイスドライバ用APIの互換性も乏しく、そもそもNT用に設計されCEでは導入されていないAPIがあるなど、それらの問題に対応する必要があった。ARMタブレット向けのWindows 8はWindows RTという名称でリリースされた。ARMアーキテクチャにNTカーネルが対応することにより、自社のスマートフォン用OSのWindows Phone OSでもバージョン8以降からNTカーネルが採用された。他のスマートフォン・タブレット用OSでは一般的であったアプリケーション販売のサービス、SNSサービスや自社のオンラインストレージサービスであるOneDrive等、自社他社問わず既に広く利用されているインターネットオンラインサービスに対応した。また、Windows 8ではModern UIスタイルアプリケーション（Windowsストアアプリ）の開発・実行基盤として、ARMアーキテクチャとx86/x64アーキテクチャとで共通のWindowsランタイムが開発された。Windows 8.1/Windows RT 8.1およびWindows Phone 8.1では、さらにWindowsランタイムおよび開発環境の統合が進められ、互換性が向上した。Windows 10では、Windowsランタイムの発展型であるユニバーサルWindowsプラットフォームおよびユニバーサルWindowsドライバーにより、モバイルやIoTを含めてすべてのOSのカーネルやコアAPIが統合・共通化された。