コンテンツにスキップ

Unix File System

Xuất xứ: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』
UFS
Khai phát giả CSRG
Chính thức danh UNIX file system
Dẫn vào (4.2BSD)
Cấu tạo
ディレクトリ テーブル
Hạn độ
Lớn nhất ファイル サイズ 273バイト
(8ZiB)
Lớn nhất ファイル danh trường 255 バイト
Lớn nhất ボリューム サイズ 273バイト
(8 ZiB)
Đặc trưng
Đối ứngOS FreeBSD,OpenBSD,NetBSD,DragonFlyBSD,A/UX
テンプレートを tỏ vẻ

Unix File System(UFS) とは,Unix hệオペレーティングシステム(OS) において sử dụng されるファイルシステムである.

また cố hữu の ファイルシステムを chỉ す ngôn diệp ではなく,Version 7 Unixの ファイルシステムおよびそこから đẻ ra した liên tiếp の ファイルシステム の tổng xưng である.Giống nhau にUFSと hô ぶ trường hợp は4.2BSDで thật trang されたFast File System(FFS) の ことを chỉ す trường hợp が nhiều く[Muốn xuất xứ],Hắn にはFFFS, UFS2, UFS Logging chờ が tồn tại する.

Thiết kế

[Biên tập]

UFSボリュームは dưới の bộ phận から cấu thành される.

  • パーティションの lúc đầu số ブロックはブートブロックとして dư ước されている ( ファイルシステムとは đừng に lúc đầu hóa する tất yếu がある ).
  • UFSであることを kỳ すマジックナンバーやファイルシステム の cấu thành を kỳ す cơ bản な trị や thống kê tình báo やチューニングパラメータを hàm むスーパーブロック.
  • シリンダグループ の tập hợp thể. Các シリンダグループには dưới の ような cấu thành yếu tố がある.
    • スーパーブロック の バックアップコピー
    • シリンダグループ の ヘッダ. そ の シリンダグループ の thống kê tình báo, フリーリストなど, スーパーブロックに tựa た tình báo がある.
    • inodeĐàn. それぞれにファイル thuộc tính tình báo が cách nạp されている.
    • データブロックĐàn.

inodeは thuận に phiên hiệu を chấn られている. ルートディレクトリの inode の sau の gì cái か の inodeは lịch sử lý do により dư ước されている.

ディレクトリファイルは, そ の ディレクトリにあるファイル の ファイル danh と đối ứng するinode phiên hiệu だけを cách nạp している. ファイルについて の toàn て のメタデータはinodeにある.

Bối cảnh

[Biên tập]

Lúc đầu の UNIXで sử っていたファイルシステムは, 単にFSと hô ばれていた. FSにはブートブロック, スーパーブロック, inode đàn, データブロック đàn だけが tồn tại していた. Lúc đầu の UNIXで sử っていた tiểu さいディスクではこれで thập phần であったが, kỹ thuật の tiến bộ と cộng にディスク dung lượng が đại きくなり, inode の ある bộ phận とデータブロック の gian をヘッドが hành き tới することによる hiệu suất の kích しい thấp hèn が làm lơ できなくなってきた. BSDではこれを nhất thích hóa したFFS (Fast File System) を dẫn vào した. これは, シリンダグループという khái niệm を phát minh したも の で, ディスクを tiểu さい bộ phận に phân け, それぞれにinodeとデータブロックを phối trí する cấu thành である.

BSD FFSは, データブロックとそれに quan liền するメタデータを cùng じシリンダグループに phối trí することでアクセスを cục biến thành しようとしたも の であり, lý tưởng には1つ の ディレクトリ の コンテンツが ( データブロックも đối ứng するメタデータも ) cùng じか gần いシリンダグループに phối trí され, ディレクトリ の コンテンツがディスク toàn thể に phân tán phối trí されることによるフラグメンテーションを thấp giảm する.

スーパーブロックには tính năng に quan わるパラメータとして, トラック số,セクタSố, hồi 転 tốc độ, ヘッド tốc độ, トラック gian の セクタ phối trí など の tình báo がある. Hoàn toàn に nhất thích hóa されたシステムでは, プラッタ の hồi 転を đãi つ gian に gần tiếp するトラック gian でヘッドを di động させ, không liền 続に phối trí されているセクタを đọc むことができる.

ディスク dung lượng が đại きくなると, セクタレベル の nhất thích hóa は hiệu quả を phát huy できなくなってきた ( đặc に, トラック đương たり の セクタ số が nhất định でない trường hợp ). ディスクが đại dung lượng hóa しファイルが cự đại hóa すると, đọc み込みが nhỏ nhặt hóa することがさらに đại きな vấn đề となってきた. これに đối してBSDは lúc trước, ファイルシステム の ブロックサイズを1セクタから1Kに tăng やし (4.0BSD), FFSではそれをさらに8Kに tăng やした. これにはいくつか の hiệu quả がある. ファイル の セクタが liền 続 bảo đảm される khả năng tính が đại きくなる. ファイル の ブロックをリストで bảo trì するオーバーヘッドを thấp giảm できる. ブロック số を bảo trì するビットフィールドで biểu hiện できるファイルサイズ hạn mức cao nhất が đại きくなる.

ブロックサイズが đại きくなると, tiểu さいファイルがたくさんある trường hợp は lĩnh vực を vô đà に tiêu phí することになる. そこでBSDではブロックレベル の フラグメント hóa を dẫn vào した. ファイル の cuối cùng の bộ phận はブロックサイズ chưa mãn になる の で, それをブロックを phân cách したサブブロックに cách nạp することで lĩnh vực を có hiệu sống dùng できるようにする. これをブロック の サブアロケーション, テールマージ, テールパッキングなどとも hô ぶ.

Thật trang

[Biên tập]

SunOS/Solaris,SVR4,UP-UX,Tru64 UNIXなど の thương dùng UNIXではUFSを dẫn vào した. そ の nhiều くは một mình の 拡 trương を thi したため, đừng の ベンダー の UFSを nhận thức することができない. しかし, nguyên の ブロックサイズやデータフィールド phúc は bảo trì されていることが nhiều く, ある trình độ の trao đổi tính は bảo trì されている. しかし, ディスクを dị cơ loại gian で cùng sở hữu する trường hợp, trước đó に trao đổi tính を xác nhận することが quan trọng である.

サン・マイクロシステムズはSolaris 7でUFSにジャーナリングファイルシステムの cơ năng を thêm vào したUFS Loggingを dẫn vào した. Solaris UFSには hắn にも thật lớn ファイルを tráp うため の 拡 trương, thật lớn ディスクを tráp うため の 拡 trương など dạng 々な拡 trương がなされている.

カーク・マキュージックはFreeBSD の FFS tầng とUFS tầng を拡 trương し, UFS2を khai phát した. これは64ビットの ブロックポインタを thêm vào し ( ボリューム の lớn nhất を8ゼタバイトに拡 đại ), ブロックサイズを nhưng 変 hóa し, フラグフィールドを拡 trương し, 'birthtime'というタイムスタンプを tân たに thêm vào するなど の 拡 trương をしたも の である. FreeBSD 5.0ではUFS2がデフォルトとなった. FreeBSDではさらにsoft updatesとUFS1およびUFS2 lạng phương で のスナップショットCơ năng を dẫn vào している. これらはNetBSDにも nhổ trồng された. OpenBSDでは, 2.9からsoft updatesをサポートし[1],4.2からUFS2をサポートしている[2].

4.4BSDとFreeBSD,NetBSD,OpenBSD,DragonFly BSDなど のBSD hệ システムでは, UFS1とUFS2 の thật trang は2つ の tầng に phân かれている. Thượng vị tầng はディレクトリ cấu tạo と inode cấu tạo nội の メタデータ ( パーミッション, sở hữu giả tình báo など ) を tráp い, hạ vị tầng はinodeとして thật trang されているデータコンテナを tráp う. これは従 tới から の FFSとLFSというログ cấu tạo ファイルシステムで chung bộ phận を cùng sở hữu するため の sĩ tổ みである. Thượng vị tầng を "UFS" と hô び, hạ vị tầng を "FFS" または "LFS" と hô ぶ. こ の trường hợp, hạ vị tầng にFFSを sử っている trường hợp は toàn thể をFFSと hô び, hạ vị tầng にLFSを sử っている trường hợp は toàn thể を LFS と hô ぶことがある.

LinuxでもBSDなどと の trao đổi tính の ためにUFSを thật trang しているが, UFSには chung の tiêu chuẩn thật trang があるわけではない の で, Linux がサポートしている の は đọc み込みが trung tâm であり, thư き込みは hoàn toàn サポートしていない. Linux のext2ファイルシステムはUFS の ảnh hưởng を chịu けている ( thật tế, 4.4BSDから đẻ ra した một bộ の システムでは, UFSを thượng vị tầng とし, ext2 をFFSやLFSなど の ように hạ vị tầng として sử えるも の もある ).

NeXTStepもBSDから đẻ ra しているため, UFS を sử っていた. それより đẻ ra したApplemacOSでは,HFS+の thay thế としてUFSを sử うこともできたが,Mac OS X v10.5Lấy hàng ではUFSでフォーマットされたボリュームにインストールできなくなった. また, UFSボリュームにインストールされたv10.5より trước の バージョン の macOSをv10.5 lấy hàng の バージョンにアップグレードすることもできなくなった[3].

Chú thích

[Biên tập]

Tham khảo văn hiến

[Biên tập]
  • Marshall Kirk McKusick,William N. Joy, Samuel J. Leffler and Robert S. Fabry (1984 năm ).A Fast File System for UNIX.Computer Systems Research Group, Computer Science Division, Department of Electrical Engineering and Computer Science,University of California, Berkeley,Berkeley, CA 94720.http:// cs.berkeley.edu/~brewer/cs262/FFS.pdf.
  • Marshall Kirk McKusick, William N. Joy, Samuel J. Leffler and Robert S. Fabry (1984-08).“A Fast File System for UNIX”.ACM Transactions on Computer Systems2(3): 181–197.doi:10.1145/989.990.http:// cs.cornell.edu/Courses/cs614/2003SP/papers/KJL84.pdf.
  • Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, and John S. Quarterman (1996 năm ). “Local Filesystems”.The Design and Implementation of the 4.4BSD Operating System.Addison-Wesley.ISBN 0-201-54979-4
  • Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, and John S. Quarterman (1996 năm ). “Local Filestores”.The Design and Implementation of the 4.4BSD Operating System.Addison-Wesley.ISBN 0-201-54979-4
  • Marshall Kirk McKusick and Gregory R. Ganger (1999 năm )."Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem"(PDF).Proceedings of the FREENIX Track: 1999 USENIX Annual Technical Conference.pp. 1–18.
  • Marshall Kirk McKusick (2002 năm )."Running" fsck "in the Background".Proceedings of the BSDCon 2002.pp. 55–64.
  • The Linux Documentation Project,Filesystems HOWTO: FFS.なお, こ の サイトで の FFSとUFS の khác nhau の sĩ phương は gian vi っている.
  • Little UFS2 FAQ: What is the difference between UFS and FFS?ここで の FFSとUFS の định nghĩa は nghịch 転している.The Design and Implementation of the 4.4BSD Operating Systemの "Local Filesystems" という chương では thượng tầng をUFSとし, "Local Filestores" の chương では hạ vị tầng をFFSと xưng している.
  • The Sun Solaris UFS implementationSolaris Internals: Solaris 10 and OpenSolaris Kernel Architecture, Second Editionという bổn ( Richard McDougall, Jim Mauro ) の một bộ.ISBN 0-13-148209-2

Phần ngoài リンク

[Biên tập]