Microsoft Windows NT 3.1
カトラーはWindows NTの開発にあたって3つの大きな目標を掲げた。1つ目の目標は移植性である。以前のオペレーティングシステムは単一のアーキテクチャーに大きく依存していたため、Windows NTは複数のアーキテクチャで動作できるようにすべきとした。これを達成するにはオペレーティングシステムのコアを含む大部分をC言語で記述する必要があった。計画段階でWindows NTは旧来のどのオペレーティングシステムよりもメモリを多く消費することが明らかになった。グラフィックシステムやネットワークシステムの一部もC++で記述され、ハードウェアへの直接アクセスやパフォーマンスに大きく関わる機能といったオペレーティングシステムの一部分だけがアセンブリ言語で記述された。これらのモジュールは分離されており、オペレーティングシステムを新しいアーキテクチャに移植するときに改造しやすくなった。
2つ目の目標は信頼性。アプリケーションやハードウェアのエラーでシステムを破壊することがないようにすべきとした。これは、オペレーティングシステムはクリティカルなアプリケーションと親和性があるものにすべきということである。これを達成するため、Windows NTのアーキテクチャはオペレーティングシステムのコアを分離してアプリケーションが直接それにアクセスできないように設計された。