【弊社の役割】市場Office製品の組み込みOSのカスタマイズ

【期間】おおよそ3年間

【プロジェクト規模】製品全体で約300人以上

組み込みOSののカスタマイズは、通常のPCTのように潤沢にメモリーがあるわけでなく、限られたリソースのもとで、最大限の性能を発揮しなければなりません。しかしながら、汎用OSのは組み込み向けに作られているわけではなく、製品開発においてOSがボトルネックになる場合が多々あります。このプロジェクトでは製品のリソースを把握しながら、メモリ管理の最適化や必要のない機能を削ぎ落とすことで製品動作が最適になるようにカスタマイズしました。

まず取り掛かったのが、オープンソースのメモリ処理の解析からです。通常のアプリケーションの開発は、ローレベルではOSのシステムコールを使って、各デバイスドライバーにアクセスして、制御するのですがOSのカスタマイズはもっと過酷です。
膨大なソースコードを把握しなければ、たとえどこが悪いかを把握したとしても最適化はできません。なぜなら、関数が複雑にかかわっているからです。
たぶん、プログラムを経験したことのある方であれば、「OSのカスタマイズ」は禁断の領域ということは分かっていることでしょう。
しかし、弊社が踏み込めるのはハードウェアの技術力があるからなのです!

半年から1年掛けて、大体の挙動をつかみ、カーネルパラメーターを修正して、何度もTry&Goをして確認しました。
リアルタイムにメモリーリソースを把握して、それがどのプロセスにどれくらい使用されているか?を確認しながら、どのパラメーターをどういうように変更すれば期待している挙動になるかを考えながら行いました。

最終的には、メモリが制限ある組込み製品であるため、メモリ枯渇を起こす要因の特定とメモリ枯渇に陥らないように、それまで保持していたメモリリソースを解放する仕組みを導入しました。
この結果、製品のメモリは最適化され今までにないようなパフォーマンスを出すことができました。