Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

DOSが火星探査機を止める(……寸前ま で行ってやばかった)

6 views
Skip to first unread message

K-ichi

unread,
Aug 31, 2004, 9:47:57 AM8/31/04
to
【火星探査車『スピリット』の交信途絶は、
DOSファイル・システムの予期せぬ特性が原因】
http://hotwired.goo.ne.jp/news/news/20040831306.html
(ここの真ん中へん)

うーん、よく分からない。
先頭にE6Hが付いて「空き」を示すとか、そういう話?


--
K-ichi%DOSはMSX-DOS

Takashi SHIRAI

unread,
Aug 31, 2004, 10:53:18 AM8/31/04
to
 しらいです。

In article <ch1vig$s8l$1...@newsl.dti.ne.jp>, K-ichi <k-i...@mv.0038.net> wrote:
>【火星探査車『スピリット』の交信途絶は、
>DOSファイル・システムの予期せぬ特性が原因】
>http://hotwired.goo.ne.jp/news/news/20040831306.html
>(ここの真ん中へん)
>
>うーん、よく分からない。
>先頭にE6Hが付いて「空き」を示すとか、そういう話?

 directory が truncate されないので、file を削除しても file
分の容量は減っても directory entry の分は減らないという話で
は?この文面からはそう読めますが。
 directory そのものの容量を減らすには、中身を一旦よそに移し
てから directory を作り直す必要があります。FAT fs に限った話
じゃありませんけどね。

--
しらい たかし

K-ichi

unread,
Sep 1, 2004, 8:18:32 AM9/1/04
to
"Takashi SHIRAI" <shi...@unixusers.net> wrote in message news:ch23cm$28ph$1...@nsvn02.zaq.ne.jp...

> >うーん、よく分からない。
> >先頭にE6Hが付いて「空き」を示すとか、そういう話?
>
>  directory が truncate されないので、file を削除しても file
> 分の容量は減っても directory entry の分は減らないという話で
> は?この文面からはそう読めますが。
>  directory そのものの容量を減らすには、中身を一旦よそに移し
> てから directory を作り直す必要があります。FAT fs に限った話
> じゃありませんけどね。

えーと、「directory entry」というのは、ブートセクタがあって
FATがあって、ディレクトリがあって……のディレクトリではなくて、
DOS2かDOS3あたりで拡張されたWindowsで言うところの「フォルダ」の
話ですか?
つまり、フォルダの残骸で埋まってしまったわけですか。

MSX-DOSってMS-DOS1.25互換とからしいので、ツリー構造がないんです。
ディレクトリの個数なんかブートセクタに書いてあるだろ、って
思ってしまいました。


--
K-ichi%DOSはMSX-DOS

Masamichi Takatsu

unread,
Sep 1, 2004, 9:07:36 AM9/1/04
to
高津@ドーガです。

> えーと、「directory entry」というのは、ブートセクタがあって
> FATがあって、ディレクトリがあって……のディレクトリではなくて、

これはルートディレクトリのことかな。こっちは FAT12/FAT16 の場合、
固定長ですね。だから、ルートディレクトリに作れるファイル数の上限は
固定になります。

> DOS2かDOS3あたりで拡張されたWindowsで言うところの「フォルダ」の
> 話ですか?

そのいわゆる「フォルダ」の方です。以下、ルートディレクトリと区別
するため、「サブディレクトリ」と書きます。

> つまり、フォルダの残骸で埋まってしまったわけですか。

ディレクトリの残骸じゃ無くて、サブディレクトリ内がファイルの残骸で埋まった、
ってことですね。

「サブディレクトリ」はファイルシステム的にはただのファイルであり、
そのファイル中には、そのディレクトリ内にあるファイルの情報を、
1ファイルあたり32バイトの「directory entry」を並べて記録しています。

で、ディレクトリ中のファイルを削除したときには、

> 先頭にE6Hが付いて「空き」を示すとか、そういう話?

を行うだけですので、「サブディレクトリ」内のファイルを削除しても、
「サブディレクトリ」のファイルサイズは減りません。
そのため、サブディレクトリ内に沢山ファイルを作成したあと、そのファイルを
削除すると、ファイルはないけどディスク容量は消費したままという状態に
なります。

(この問題を「DOSファイルシステムの問題」と、DOSが悪いように言うのは可哀想
ですね。UNIXファイルシステム(ufs)でも同じことになるし。)


> MSX-DOSってMS-DOS1.25互換とからしいので、ツリー構造がないんです。
> ディレクトリの個数なんかブートセクタに書いてあるだろ、って
> 思ってしまいました。

今回の問題は「DOSファイルシステム」(の特性)が原因なのであって、
スピリットは「MS-DOS」や「MSX-DOS」で動いているわけではないです。

CPU は RAD6000 という32ビットのもの(PowerPC の先祖といっていいのかな)で、
OS は VxWorks という組込専用のものですね。
http://hotwired.goo.ne.jp/news/news/technology/story/20040218303.html


PROJECT TEAM DoGA 高津正道 ta...@doga.jp
TBD0...@nifty.ne.jp
PROJECT TEAM DoGAのホームページ → http://doga.jp/
9月1日(水) 今日のマーフィーの法則 [微粒子吸引の法則]
風塵は至近距離にある目玉を目指す。

IKEDA Kenji

unread,
Sep 1, 2004, 9:48:23 AM9/1/04
to
On Wed, 1 Sep 2004 13:07:36 GMT,
In article <0409012207...@XP.doga.jp>,
Masamichi Takatsu <ta...@doga.jp> wrote:

> (この問題を「DOSファイルシステムの問題」と、DOSが悪いように言うのは可哀想
> ですね。UNIXファイルシステム(ufs)でも同じことになるし。)

ufs はそうですが、最近のは小さくしてしまったりしますけどね。

$ uname -rs
OpenBSD 3.5
$ ls -ld .
drwxr-xr-x 2 noroi group 6656 Sep 1 22:41 .
$ rm *
$ ls
$ ls -ld .
drwxr-xr-x 2 noroi group 6656 Sep 1 22:42 .
$ echo a > a
$ ls -ld .
drwxr-xr-x 2 noroi group 512 Sep 1 22:42 .

--
池田研二 稲城駅前在住

0 new messages