実名制Q&Aサイト「Quora」で、「Windows 10の開発にどのようなプログラミング言語が使われたのか」という質問に対し、Microsoftのカーネルエンジニアが2019年3月、最新の回答を投稿した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
実名制Q&Aサイト「Quora」に、「Windows 10の開発にどのようなプログラミング言語が使われたのか」という質問が投げかけられた。この質問に対し、Microsoftのカーネルエンジニアであるアクセル・リーチン氏が2019年3月4日、最新の回答を投稿した。リーチン氏の回答の概要は次の通り。
Windows 10では、Windows NTから始まり、Windows 2000/XP/Vista/7/8.xへと進化してきたコードベースが使用されている。このコードベースは世代ごとに大幅なリファクタリングが行われた他、多数の新機能が追加され、パフォーマンスやハードウェアサポート、セキュリティが強化された一方、高度な下位互換性を維持してきた。
カーネル(ntoskrnl.exe)の大部分はC言語で書かれている。Windowsカーネルの実験的バージョンを構築したりテストしたりする環境を備えたパッケージ「Windows Research Kernel(WRK)」がGitHubで公開されている。これはかなり古く、大部分が不完全なものだが、このコードから多くの洞察が得られるだろう。
例えば、レジストリを実装しているソースコードは、GitHubのwrk-v1.2/base/ntos/configにある。このカーネルコンポーネントは、社内では構成マネージャ(configuration manager)の略語として「Cm」とも呼ばれている。
カーネルモードで実行されるものの大部分(大半のファイルシステム、ネットワーク機能、ほとんどのドライバなど)はCで書かれているものの、所々でC++言語も使われている。
ユーザーモードで動くスタックや、最近開発されたものになると、Cで書かれたものはやや少なくなり、C++ベースのものがやや多くなる。
Copyright © ITmedia, Inc. All Rights Reserved.