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)