[b-free 539] Re: ファイル名の長さ

Naitoh Ryuichi (night@bfree.rim.or.jp)
Thu, 18 Sep 1997 23:58:01 +0900

隆一です。

From: Takanori Hayashi <takanori@ohsaki.meidensha.co.jp>
Subject: [b-free 536] Re: ファイル名の長さ
Date: Thu, 18 Sep 1997 16:18:04 +0900
Message-ID: <9709180717.AA11946@clare.ohsaki.meidensha.co.jp>

> 林です。
>
...[snip]...

>
> BTRON2では、実身属性は属性レコードという負のレコード番号を持つ
> レコードで表されます(レコード番号ごとに属性が割り当てられている)。
> これを素直に実装すると、ファイルヘッダにはレコードインデックス
> だけを置いてレコードはデータレコードも属性レコードも別ブロック
> に入れることになります。これだと実身名の長さはほとんど無制限に
> 伸ばせます。(さすがに効率が悪そうですが)
> もう少しましな実装は、属性レコードが固定サイズのもの、および
> 可変サイズの属性でサイズが小さい場合はファイルヘッダ内に置き、
> 大きいサイズの場合だけ外部に出す方法です。属性レコードの処理が
> 多少複雑になりますが、現実的な実装と思います。
> # データレコードにも同じ方法を取ると、1実身最低2ブロック使う
> # 現状のものよりかなり効率を上げられそうですが…。

ファイルの属性をレコードとして扱うかどうかという選択もありますね。
属性をレコードとして扱うならば、可変長レコードにするだけで、ファイル名の
長さが可変長にできますから。

> 以上、2点は新たにファイルフォーマットを作った場合の方法です。
> そうでない場合、標準FDと互換性を持たせたまま長い実身名を付ける
> 方法としては、長い実身名を特定のレコードタイプ、サブタイプの
> データレコードとして表す方法があります。この場合、通常の実身名
> の領域には長い実身名の初めの部分だけを入れます。長い実身名に
> 対応していないシステムでは長い実身名は扱えませんが、それ以外に
> 特に問題はないでしょう。

標準 FD については、長いファイル名を使うことは考えていませんでした。
標準 FD の場合だと、短いファイル名でしかアクセスできない OS がある
ので、長いファイル名を扱えるようにするのは難しいように思います。
他の OS のようにひとつのファイルを複数のファイル名でアクセスできる
ならば、Windows 95 のように短いファイル名と長いファイル名の併用も
できるのですが。。。(でも、弊害はありそう)

ただ、BTRON には、ファイルシステム間でのリンクを張る機能があるので、
それを考えると「非互換」ファイルシステムでも長いファイル名をサポー
トするのはいろいろ問題がありそうです。

# リンク情報の中にもファイル名が入っているんですよね?

> 以上、どの案も長い実身名を効率的に扱うことは考えていません。

完全に予想にすぎませんが、多分、極端に長いファイル名を使うことは
少ないと思います。
長いファイル名を扱うときだけ特別扱いして、短いファイル名を効率よ
くすることでいいと思いますが。

ただファイル名を長くするだけでは芸がないので、ファイル「名」に TAD を
使えるようにして、ファイル名を図形にするのも面白そうです。
(この辺の話は、昔にも出ましたか)

ただ、テキストエディタだけでは図形が扱えないので、プログラムを組むにも
図形も扱えるワープロが必要になってしまいますが。。。
スクリプト言語だと、仮身をそのままひっぱってこれるので、それほど問題は
ないかもしれません。

---
B-Free プロジェクト実行中! 詳細はこの Web ページへ
(http://www.b-free.orient.co.jp/)

内藤隆一 (rnaitoh@st.rim.or.jp)