[b-free 834] Re: 実身仮身ネットワーク

Takanori Hayashi (takanori@ohsaki.meidensha.co.jp)
Thu, 23 Oct 1997 13:20:03 +0900

林です。

In message <344EB881.3BAB47A0@beebee.co.jp>
"[b-free 832] Re: 実身仮身ネットワーク"
"Yasushi Suzuki <suzu@beebee.co.jp>" wrote:
suzu> >  BTRON2はカーネル仕様だけ出てますが、この中で実身名
suzu> > サイズについての記述があったかどうか分かりません。
suzu> > しかし属性がレコード扱いなのでサイズもかなり自由に
suzu> > 取れるような気がします。
suzu> >  そういうわけで、BTRONの思想として短い実身名を要求
suzu> > しているわけではないと思います。
suzu>
suzu>  BTRON2カーネル標準ハンドブックをひもといて、
suzu> ちょっと調べてみました。
suzu>  このハンドブックの読み方を理解している自信は
suzu> あまりないのですが、
suzu>
suzu> 1)第一部基本インタフェース・第二章基本定義
suzu>   の14ページに
suzu> // 可変長情報
suzu> //- struct VariableInfo {
suzu> //-   W   len ;       // 長さ
suzu> //-   VB  info[len];  // 情報
suzu> //- } ;
suzu> //- typedef VariableInfo  VI ;  // 可変長情報
suzu>   とあり、(注釈扱いはまだ未定ということか?)

実際のCやC++には可変長構造体はありませんので、このまま
の記述をソースコードに書いてもコンパイルできません。
仕様書では、このような言語を拡張して書いた部分はコメント
で表すようにしていたはずです。

suzu> 2)第一部基本インタフェース・第二章基本定義
suzu>   の34ページに
suzu> // 実身限定子
suzu> struct RealObjectSpecifier {
suzu>   ST          st ;    // =ST_ROS(実身限定子)
suzu>   W           len ;   // 長さ(実身タイプ名以下の長さ)
suzu>   TN          type ;  // 実身タイプ名
suzu>   TN          styp ;  // 実身サブタイプ名
suzu>   TUT         ctime ; // 実身生成日時
suzu>   VI          name ;  // 実身名
suzu>   EntityInfo  info ;  // 実身限定情報
suzu> } ;
suzu>   とあります。
suzu>
suzu>  一方、第二部個別定義・第七章ストレージ実身インタ
suzu> フェースの方には「基本仕様と異なる部分に関してのみ
suzu> 説明する」という但し書きの上で、記載はないようです。
suzu>  したがって、この読み方が正しいとすると、BTRON2 で
suzu> は実身名の長さはWで指定可能な長さの中で可変長という
suzu> ことになり、これはかなりの長さを許す、ということに
suzu> なるようですね。

ここで見なくても、実身属性の中に実身名の項目がありまして
BTRON2では属性はレコードですので、データフィールド長など
基本的な項目は全て持っています。そういう意味で長さが自由
にできるのは間違いないのです。問題は互換性や性能確保の
観点からの制限値がないかどうかです。核仕様だけでは何とも
いえない。
# ちなみにサイズは64ビットで表されるのではなかったかな?

---
    林(takanori@ohsaki.meidensha.co.jp)