unix の仕組みの説明をいろいろしても、なかなか理解が進まないようなので、 MSDOSの世界での説明をしてみます。要は階層が違うということなんですが。 In article <wkwvlhuv46.wl _at_ sun.interq.or.jp> Chihiro Kuroda <kuroda _at_ sun.interq.or.jp> writes: > > 何がそんなに疑問なのかよくわからないんですが,とりあえず以下のよ > > うな実験をしてみてはいかがでしょう? > > > > cat /dev/fd0 hoge1 > > cp /dev/fd0 hoge2 > > dd if=/dev/fd0 of=hoge3 > > > > で,それぞれを cmp します。 > それにいったいどんな意味があるのでしょうか。。 > > 別にそれらのコマンドラインによって「ファイルとして異なる」 > ものができるなんてことを言ってはいませんし、場合によっての > fs上のデータブロックの配置を問題にしているだけですが。。 まずおさらいで、 COPY/B file CON COPY/B file LPT1: COPY/B file NUL COPY/B file \\server\dir\file COPY/B file A: それぞれ結果として起こることは違いますが、COPYコマンドの処理としては ファイルを読んでデータを順に、コピー先のドライバに渡すという 動作は同じで、ドライバの性質によって起こることが違う ということはいいですよね。 そこで、 BIOSに物理トラック番号、セクタ番号を指定しての読み書き機能があるはず なので、その機能を使って、 ・書きこみに対しては、FDDに入っているメディアの物理的な先頭トラックの 先頭セクタから順にデータを書いていく ・読みこみも同様に先頭トラックの先頭セクタから読んで行く ・メディアの最終セクタに行く途中でクローズされてもその先のセクタの データはそのまま という機能のドライバを作ったとします。 私には作れませんが、DOSのドライバの知識があれば簡単ですよね。 このドライバのデバイス名をRAWFDとしたとして、 COPY/B file RAWFD としたらどういうことが起こるか? unixではそれと同じことが、cp file /dev/fd0 等で起こるということです。 PCのBIOSはFATだのNTFSだのは知りません。それと同じく/dev/fd0の ドライバはそこに入っているメディアがどのOSで論理フォーマット (ファイルシステム作成)されてるかは知ったことではありません。
Follow-Ups:
- [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'IIJIMA 'Delmonta' Hiromitsu
- [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'Y. Ohgaki
- [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'Shiozaki Takuya
- [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'Chihiro Kuroda
- [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'Yoshiaki Uchikawa
- [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'Chihiro Kuroda
- [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'Yoshiaki Uchikawa
- [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'Chihiro Kuroda
- [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'Takahiro Kambe
- [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'Chihiro Kuroda
- [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'Masahito Ohtsuka
- [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'Chihiro Kuroda
- Prev by Date: [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'
- Next by Date: [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'
- Previous by thread: [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'
- Next by thread: [fol] Re: why 'dd' is used to make boot floppy instead of 'cp'
- Indexes:[Main][Thread]