[b-free: 44] Re: B-Free OS TYPES.H

内藤 隆一 (GGC00661@niftyserve.or.jp)
Wed, 14 Dec 1994 00:28:00 +0900

隆一です。

B-Free メイリングリストの皆さん、こんにちは。

> Date: Tue, 13 Dec 1994 00:42:00 +0900
> From: GGG03556@niftyserve.or.jp
> X-Original-From: 磯山 卓志 <GGG03556@niftyserve.or.jp>
> Reply-To: b-free@iijnet.or.jp
> Errors-To: owner-b-free@iijnet.or.jp
>
> 磯山です。
>
> B-Free OSの、ソースコードの型表記はどうしましょうか。
> 1B風か2B風のどちらにしましょう?。

これは、どのレベルでの型表記のことをおっしゃっているのでしょうか?

> 例えば、
> 1B風の場合、char が「SBYTE」となりますが、
> 2B風の場合、char が「B」となります。
>
> 隆一さんのコードを見てみると、2Bに近いようですね。

えーと、私の作成した ITRON では、2B というより、μ ITRON 3.0 の仕様に
合わせています。
中心核を BTRON1 の型表記にしてしまうと、μ ITRON3.0 仕様から外れてしま
うので、あまり中心核を ITRON の型表記から変更したくありません。

なぜ、BTRON2 仕様で BTRON1 仕様ではなく、μITRON 3.0 の型表記
(typedef) にしたのかは分かりません。BTRON3 (あるいは、3B) では、型表記
はどうなっているのでしょうか?

私の予想では、BTRON3 でもやはり BTRON 2 のように、μ ITRON 3.0 の型表
記にしていると思います。なぜかというと、両方とも中心核に ITRON を使用
しているからです(正確には、唯一の実装が ITRON を使っている)。

> 私の意見でいえば、1B風の方がコードの見通しがよいと思います。
> 2B風はシンプルでよいのですが、パッと見た時の理解が遅れると思っています。

B-Free OS にて型表記をどうするかには3つの方法が考えられます。

1) 中心核は ITRON 仕様に合わせた型表記/周辺核は BTRON1 仕様に合わせた型表記
長所:B-Free OS の API が BTRON1 仕様に合わせたものとするとこれが一
番仕様には合っている。
短所:中心核と周辺核で型表記が違っているため、型の対応をきちんと定
める必要がある。

2) 中心核は ITRON 仕様に合わせた型表記/周辺核は BTRON2 仕様に合わせた型表記
長所:型表記は中心核と周辺核とで(ほとんど)同じものなので、型の対応
を考える必要はない。
短所:B-Free OS の API が BTRON2 の型表記に合わせたものになる。

3) 中心核、周辺核の両方とも BTRON1 仕様に合わせた型表記
長所:型表記は中心核と周辺核とで(ほとんど)同じものなので、型の対応
を考える必要はない。また、B-Free OS のインタフェースは BTRON1
に合わせたものになるので、API を BTRON1 仕様に準拠するのにも
好都合。
短所:少なくとも中心核は、ITRON とはいえなくなる。

私としては、ITRON を中心核としたいところか、1) をとりたいところです。
(型表記については、中心核のシステムコール用として itron/types.h という
別のファイルを作ることで対応できるでしょう)。
ただ、整合性 --- 別の言いかたをすると仕様の美しさからすると、1), 2) の
方がいいように思えます。
また、3) とした場合、中心核は ITRON でなくなりますから、マニュアルなど
についても PMC の著作権の心配がなくなります(別の OS のことを記述してい
るのだから問題がない)。

-- 
内藤隆一 (ggc00661@niftyserve.or.jp)