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