(注意)このブログは本家のほうの文章部分のみの転載です.ソースコードの配布,画像などについては本家のほうを参照してください.文章中のリンク先は面倒なのですべて本家のほうに変換してしまっているのでご注意ください.

えー,ブログでも書いているけれど,組込みOS自作本を執筆中です.

で,書籍用にKOZOS/H8のソースコードを整理しなおしたので,参考までに公開してみます.これからKOZOS/H8のソースを読むというのならば,こっちのほうがいいかもしれません.書籍用ということで,かなりばっさりと機能限定して,あと無駄を省いてシンプル・コンパクトにしています.

また,全体的に見直して,きれいに整理しなおしました.かなりごっそりと書き換えています.単語の意味とかも整理・統一化しています.

あと,従来はシリアルの送信割込みを見ていなかったのですが(文字列送信時は,1文字ずつ文字出力がはけるのをポーリングで監視していた),きちんと割込みを見て1文字ずつ送信するように書き換えました.これでよーやくまともに割込み処理をやっているということができるでしょう.

現状で,リンカスクリプトやアセンブラやMakefileもすべてぜんぶ含めて,ブートローダーが945行,アプリケーション含めたOS全体が1828行です.うーん,いい感じにまとまった.

ただ以下のような部分があり,削ろうと思えばまだまだ削れそうです.たぶん本気で削れば,ブートローダーは800行程度,OSはアプリ含めて1500行を切るくらいにはできるでしょう.
  • 初心者用ということで,やたらとふんだんにコメントを入れてある.(普段なら「そーいうことはコメントでなくソースコードで伝えるべき」として,絶対に入れないような内容のコメントも敢えてガシガシ入れてある)
  • 初心者用ということで,わかりやすくするためにわざと冗長に書いている部分がいくつかある.
  • ブートローダーとOSで,ライブラリ関数などの共通コードは極力そのままにしてある(変更あると,書籍で説明しなければならなくなるので,OS側では使わない関数もそのまま残してある).このため,OS側では使わないライブラリ関数とかがいくつか残っている.
全体的に見直して整理しなおしたことで,組込みOSのエッセンスというか,要点がぎっちりといい感じでつまって濃縮されたコードになっています.実際,内容の密度は濃いと思います.(そのかわりエラー処理とかチェックとか移植性とか抽象化と階層化とかは,あまり本題でないということで,かなり省かれていますが)

うーん,自分で言うのもなんだけど,これ,結構いいかも.自分がOS勉強し始めたころにこーいうのがあったらホント良かったのにとしみじみ思う.

別本のほうの校正を一気に終わらせてしまいたくて4日からやってたんだけど、よーやく終わった。

ガリガリの専門書だけあってチェックがたいへんでちょっときつかったなあ。

自分で書いた内容なんだけど、さすがに忘れてて内容読むのに一苦労。

まあでもなんとかなった。よかったよかった。

あー、づがれだ。


ちょっと遅れてしまいましたが、あけましておめでとうございます。今年もよろしくお願いします。


組込みOS本のために、KOZOS/H8を改良中。出版向けにシンプルな構造にして、あときちゃない部分とかやっつけの部分とかをきれいに書き直しています。


まあせっかくなので、命名規則とかもきちんとして、型定義とかもきちんと行ってかっちょいいコードにしようかなと。学習向けなので、構造的にも組込みOSとしてオーソドックスなものに書き換えています。


ちょっと修正するくらいのキモチだったのだけど、けっこう修正点多くて苦戦してます。いやもう動作はしているので苦戦はしてないのだけれど、手間がかかっちゃってます。


あ、別の本のほうの校正も進めないと。。。完全に正月休み返上状態。このままいくと、リフレッシュ休暇も完全返上。まあ好きでやってることなのでいいのだけれど、リフレッシュになるのかしら?


えー、組込みOS自作本を執筆の真っ最中ですが、なんかそれとは別に、近々もう1冊出せるかもしれません。


というのは昔原稿だけは書きためたのだが出版が遅れていた単行本が、もしかしたら出るかもしれないから。

ということでそっちの校正も入ってしまって、正月明けにかけて作業を進めなきゃならん。


内容はお楽しみということで。まあ、組込みシステムにかかわるなら知ってなきゃならん内容だと思うし、組込みにかかわらず知ってたほうがいい内容だとは思いますが、マニアックすぎるかもしれません。。。ていうかはっきり言って、自分でもほれぼれするくらい、くそマニアックな内容です。


ぼくの書く本ではいつものことだけど、今までまとまった内容の資料が(書籍も含んで)あまり無かった分野の内容です。実際、自分がOSに興味を持ち始めたころにこのような本があったらよかたのに。。。と自分自身思います。


なので必要なひとや興味のあるひとにとっては、貴重な内容になると思います。(というわけなので、「誰が読むのだろうか」「需要があるのだろうか?」とかいう否定的なしょーもないレビューは書かないように!)


書籍の次回作として組込みOS本を執筆中。本日も執筆作業していた。

予定よりは遅れているのだけど、なんとか春には出版できる見込みが立ってきた。作業自体はまあ順調です。

ということで次回の春のOSC/Tokyoではなにかしら紹介(出版が間に合わなくても、最低限、発売予定日くらいは)できると思います。組込みOS自作に興味のある方は、楽しみにしていてください。応援メールなどいただけると励みになって、出版が早くなるかもしれません(^^)。

ということでKOZOSの開発(H8/SH2以外のCPUへの移植など)はいったん中止して、春までは執筆作業になります。

リフレッシュ休暇は年始の休みにくっつけて、正月休みもリフレッシュ休暇も、全部執筆作業に費やす予定!(働き者だなあ。。。)