カーネルソフトウェアとは、オペレーティングシステムやハードウェア制御用のソフトウェアなどといった、コンピュータシステムの中核をなす基本ソフトウェアを指します。カーネルソフトウェアは、OSベンダーやデバイスメーカーにより作成されることが多いのですが、より効果的なコンピュータシステムを目指す人であれば誰にでも、開発のチャンスは与えられています。
すべてのアプリケーションやシステムの動作を横断的に管理するには、権限に制限が加えられている「ユーザーモード」で動作する通常のアプリケーションで、その目的を果たすことはできません。また、セキュリティ対策、ウィルスチェックなどに関しても、すべての権限を与えられていないがために、一般のプログラムでは困難です。ここに、そういった制限のないカーネルソフトウェアの存在意義があるのです。
いろいろな要素が入り乱れ、ますます複雑化している現在のコンピュータ環境においてセキュリティ対策は非常に重要な問題であり、それゆえ、カーネルソフトウェア開発の重要性は高まる一方です。また、温暖化ガスの排出削減や限られた資源の有効活用が叫ばれる今日、動作するソフトウェアのパフォーマンスを確認することは必要不可欠です。このような案件にこそカーネルソフトウェアが力を発揮します。
カーネルソフトウェアは、通常のアプリケーションに較べるとプロセッサが有する機能を制限なく利用できる、ワンランク上の制御ソフトウェアであり、そこには技術者の鋭敏な閃きを具現化できる醍醐味が存在します。そのため、小さなミスも許されず、開発には困難が伴いますが、先般上梓した『[入門と実践]Windows Vista カーネルソフトウェア開発技法』の「基礎編」では、手順を追って確実に開発が進んでいくように解説を加えています。そのうえ、また「実践編」に用意した具体的な開発事例は、初心者のカーネルソフトウェア開発を容易にすることでしょう。
カーネルソフトウェアは、これまでの平面的な処理/管理/制御のほか多面的な統計/分析/解析/統括を可能にし、コンピュータシステムにおける画期的な構想の実現に貢献するものです。
(滝口政光)