マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

Open系のOS(WindowsもLinux)の
バイト・ストリーム系ファイル・システムについての情報を纏めている。

ファイル・システム

FAT

  • ファイル最大容量は4GB。
  • ボリューム最大容量はWindowsOSの制限により32GB。

NTFS

  • ファイルの容量制限無し。
  • ボリュームの容量制限無し。

デフラグ

Linuxにデフラグが無い理由

理由は簡単で、Unix、Linuxでは2つのデータは、
初めから離れた別の場所に格納されるためのようです。

上記から明らかですが、Windwosでは、
更新(追記)を重ねると断片化が進んでしまいそうです。

コメント欄を確認すると、トレード・オフもありそうです。

断片化と使用領域

セクタ単位なので、断片化は使用領域(空き領域)に関係ないようです。

2GB、4GB制限

Windowsの制限ではない。

Win32APIのSetFilePointer? には、

  • LONG lDistanceToMove?, // ポインタを移動するべきバイト数
  • PLONG lpDistanceToMoveHigh?, // ポインタを移動するべきバイト数

の引数が用意されており、APIのI/F上は、
64bit(4^32GB)までのファイルを扱うことが出来る。

4GB制限

上記APIのlpDistanceToMoveHigh?を使用していないアプリケーションには、4GB制限がある。

  • IE7にも、この4GB制限があるもよう。
  • FAT32にも4GB制限があるが、こちらは
    上記のAPIではなく、もともとの仕様に制限がある。

2GB制限(VB6)

VB6は、上記のlDistanceToMove?に渡る引数が、Integer型であったため、2GB制限がある。
#もともと、VBがでたての頃のファイルシステムがFAT16(最大サイズ:2GB)であったため。

IE6にも、この2GB制限があるもよう。

その他

Windows的なRAWデバイス

CreateFile?等のAPIを使用し、ドライブを直接Openできる。
ただし、OSがロックしているので大概エラーになる。

ファイル・サイズとディスク使用領域の不一致

ファイルやパスの文字列長と文字コードの問題

参考

Wikipedia


Tags: :インフラストラクチャ, :Windows


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-02-08 (木) 09:22:36 (190d)