12ステップで作る組込みOS自作入門 の感想
参照データ
タイトル | 12ステップで作る組込みOS自作入門 |
発売日 | 販売日未定 |
製作者 | 坂井 弘亮 |
販売元 | カットシステム |
JANコード | 9784877832391 |
カテゴリ | 本 » ジャンル別 » コンピュータ・IT » OS |
購入者の感想
最初に警告しておきます。組込みOS上で一度もアプリケーションを書いた経験がない人、本書の第一部は良いですが、第二部には相当苦戦するでしょう。それでもリンカースクリプトの使い方やブートについては勉強になると思います。次に、組込みOS上でアプリケーションを書いたことがある人には、割込み、システムコール、タスク(スレッド)、メモリ管理、メッセージキューなどの実装が第二部で懇切丁寧に説明されており、これまた非常に勉強になると思います。但し、セマフォについては実装が説明されておらず、この点が非常に残念でなりません。とは言え、本書の狙いは非常に良いです。x86系のアーキテクチャに比べれば、ぐっと理解が簡単なH8をターゲットに組込みOSを仕組みを説明しています。自作組込みOSの大部分はC言語で書かれてておりC言語でのプログラミング経験がある人にとっては理解が比較的容易なはずです。更に、メモリ空間をベタに使うのではなく、リンカースクリプトを駆使しています。おまけに、ボード(これも安い)を買ってくれば、動かすこともできます。組込みまったくの初心者の方は、まずは「トランジスタ技術SPECIAL forフレッシャーズ No.―徹底図解 (101)」などでマイコンの基礎を知る。次に、「リアルタイム組込みOS基礎講座」などで組込みOSの概念を知る。そして、組込みOSのアプリケーションの設計・実装を経験し、その傍らで本書を読むのが良いでしょう。
組み込みOS自作入門とあるが、最初の半分はブートローダーの作り方について述べ、残りの半分で筆者の作った組み込みOSについて述べてある。この構成が、本書の特徴である。
ブートローダーというのは、プログラムをロードしてきてそのプログラムを実行するためのソフトウエアである。PCの場合、ハードディスクからプログラムを読み込んでWindowsやLinuxなどのOSを起動するためのもので、いわゆるBIOSがこれにあたる。組み込みの場合、ROMからプログラムを読み出したり、シリアル通信経由でPCからプログラムをダウンロードしたりして実行する。通常市販されている組み込み基板では、ブートローダーは既にROMに書き込まれていて、自分で作ることはない。この本では、あえてこのブートローダーの作り方にページを割いている。この前半部分に、CPUの初期化、ROM・RAMの使い方、シリアル通信プログラムの書き方、など組み込みソフトウエアで重要な基礎的な要素が含まれてる。重要だが解説することが難しいい部分を逃げずにあえて解説したところが、この本を類書にはない良書にしている。
後半の組み込みOSの部分は、定番の、割り込み処理、メモリー管理、スレッド、スケジューリング、優先処理などについて述べてある。OSを作った筆者自らが作り方について解説しているので、定番の内容とはいいながら、単なる解説書とは異なりどう動くかがよく分かる解説になってる。
解説の順番が絶妙な配置になっていて、ある程度のソフトウエアの知識があれば、理解できる内容になっている。この本をきっちりと理解できれば、組み込みOSだけでなく組み込みソフトウエアの基礎を習得することができると思う。
ブートローダーというのは、プログラムをロードしてきてそのプログラムを実行するためのソフトウエアである。PCの場合、ハードディスクからプログラムを読み込んでWindowsやLinuxなどのOSを起動するためのもので、いわゆるBIOSがこれにあたる。組み込みの場合、ROMからプログラムを読み出したり、シリアル通信経由でPCからプログラムをダウンロードしたりして実行する。通常市販されている組み込み基板では、ブートローダーは既にROMに書き込まれていて、自分で作ることはない。この本では、あえてこのブートローダーの作り方にページを割いている。この前半部分に、CPUの初期化、ROM・RAMの使い方、シリアル通信プログラムの書き方、など組み込みソフトウエアで重要な基礎的な要素が含まれてる。重要だが解説することが難しいい部分を逃げずにあえて解説したところが、この本を類書にはない良書にしている。
後半の組み込みOSの部分は、定番の、割り込み処理、メモリー管理、スレッド、スケジューリング、優先処理などについて述べてある。OSを作った筆者自らが作り方について解説しているので、定番の内容とはいいながら、単なる解説書とは異なりどう動くかがよく分かる解説になってる。
解説の順番が絶妙な配置になっていて、ある程度のソフトウエアの知識があれば、理解できる内容になっている。この本をきっちりと理解できれば、組み込みOSだけでなく組み込みソフトウエアの基礎を習得することができると思う。