Là một hệ thống tập tin chỉ là cách bố trí của các thư mục?


56

Tôi đã sử dụng Windows từ khi còn nhỏ và khi tôi nghe thấy cụm từ "Hệ thống tập tin Windows", tôi nghĩ đến các thư mục (thư mục) trong các thư mục, một thư mục có tên HỆ THỐNG, một thư mục có tên là PROGRAM FILES, v.v. Đây có phải là hệ thống không? Chỉ là cách bố trí của các thư mục?

Và sau đó tôi mới bắt đầu sử dụng Linux, và cuốn sách tham khảo của tôi nói trong hệ thống tập tin linux, mọi thứ bắt đầu từ gốc và các nhánh từ đó. Điều đó thực sự khác biệt với Windows như thế nào? Ý tôi là, có vẻ như hệ thống linux và hệ thống windows chỉ là hai cách để thiết lập cây thư mục. Đây có phải là những gì hệ thống tập tin có nghĩa là?


3
Bạn đã thử đọc en.wikipedia.org/wiki/Filesystem chưa?
choroba

2
FYI, không có "hệ thống tập tin Linux". Những gì cuốn sách muốn nói là cây thư mục linux. Và, vâng, cây thư mục chỉ là cách bố trí của các thư mục.
dùng606723

2
Linux thiếu khái niệm về các ổ đĩa , sao cho mọi thứ đều được gắn kết /. Trong Windows, đây không phải là trường hợp, vì nó thiếu cách cài đặt kiểu UNIX (sửa tôi nếu tôi sai ở đây), vì vậy mọi thứ được sắp xếp xung quanh các ổ đĩa.
new123456

1
@ new123456 Cảm thấy đã sửa. Windows hỗ trợ gắn kết (kể từ W2k hoặc NT), mặc dù tính năng này rất hiếm khi được sử dụng.
kubanchot

Câu trả lời:


130

Chỉ là cách bố trí của các thư mục?

Sao mà tin được...

Hãy lấy hệ thống tệp FAT32 làm ví dụ. Tôi có thể cài đặt Windows XP trên nó, nhưng tôi cũng có thể sử dụng nó trên thẻ nhớ. Trên thẻ nhớ, bạn không có những thư mục mà bạn tổng hợp.

Vì vậy, ... Đừng nhầm lẫn bố cục thư mục của một họ hệ điều hành với một hệ thống tệp.

Đây có phải là những gì một hệ thống tập tin có nghĩa là?

Không ... Nó đề cập đến các bit và byte cơ bản làm cho cấu trúc thư mục của bạn hoạt động.

Các bit và byte cơ bản? Cho tôi xem FAT32!

Chúng ta hãy xem FAT32 trông như thế nào, nó có:

  • Một số lĩnh vực tiêu đề ban đầu, như Volume ID và Khu vực dành riêng
  • Hai Bảng phân bổ tệp, cho phép chúng tôi tìm ra các tệp của chúng tôi ở đâu.
  • Các cụm chứa tất cả dữ liệu thư mục và tập tin của chúng tôi.
  • Một số không gian không sử dụng rất nhỏ mà chúng ta không thể sử dụng.

Một bảng FAT bao gồm rất nhiều mục giống như thế này, cho phép chúng ta xác định nơi thư mục hoặc tệp được lưu trữ trong không gian cụm, cũng như một số thuộc tính và kích thước.

Một mục nhập thư mục sẽ trỏ đến một danh sách các mục thư mục / tập tin ...

Trong không gian cụm, bây giờ chúng ta có thể di chuyển các cụm của mình để tìm dữ liệu chúng ta cần. Một cụm về cơ bản chứa dữ liệu và thông tin trong đó các đoạn tiếp theo là

nhập mô tả hình ảnh ở đây

Do các hệ thống tập tin khác nhau? Cho tôi xem NTFS!

Tôi sẽ cho bạn xem một hình ảnh để bạn có thể nhận thấy sự khác biệt, phần còn lại là bài tập về nhà cho người đọc: Có thể tìm thấy nhiều thông tin hơn trên kho lưu trữ blog này hoặc Google.

Ý tưởng chính là NTFS là một cải tiến rất lớn so với FAT32 mạnh mẽ / hiệu quả hơn. Có một ý tưởng tốt hơn về (un) không gian được sử dụng bằng cách sử dụng một bitmap để tiếp tục chống lại sự phân mảnh. Và cứ thế ...

- http://thinkdifferent.typepad.com/photos/unc Classified / 04ntfsfilesystem.png

Còn các hệ thống tập tin trên Linux thì sao? Chỉ cho tôi ext2 / 3!

Ý tưởng là ext2 / ext3 sử dụng các siêu khối và inodes; điều này cho phép các liên kết mềm và cứng, các thư mục là các tệp, các tệp có nhiều tên, v.v. Ý chính là trừu tượng hóa để cho phép hệ thống tập tin có khả năng thực hiện nhiều công cụ meta hơn ...

- http://thinkdifferent.typepad.com/photos/unc Classified / 03extfilesystem.png


@Shadok: Tôi có thể cải thiện các phần sau này, tôi khá bận rộn những ngày này ... Cảm ơn.
Tamara Wijsman

2
Tôi sẽ +2 cái này nếu tôi có thể. Bây giờ tại sao không thể có nhiều tài liệu và thông số kỹ thuật giống như thế này!?
Greatwolf

Có lẽ bạn nên viết một bài đăng trên blog về điều này @TomWijsman ;-)
Ivo Flipse

@IvoFlipse: "Lưu trữ dữ liệu: Nó hoạt động như thế nào?" loạt có thể có thể, đây là một câu trả lời khác . Hình ảnh lớn & $ # nói nhiều hơn lời nói ... :)
Tamara Wijsman

Chắc chắn, nghe có vẻ là một ý tưởng hay
Ivo Flipse

14

Sự khác biệt lớn giữa Linux và Windows, ít nhất là khi nói đến hệ thống tệp và cây thư mục của chúng là trong Linux "mọi thứ đều là tệp" và mọi thứ bắt nguồn từ một gốc. Điều này cũng áp dụng cho hầu hết tất cả các hệ điều hành có nguồn gốc Unix như BSD, OS X, Solaris, v.v., nhưng tôi sẽ chỉ nói "Linux" là chung chung (nếu không hoàn toàn chính xác).

Nhưng điều đó có nghĩa gì trong thực tế?

Windows cho phép nhiều gốc được đặt tên cho hệ thống tập tin của họ. Bạn hiểu những điều này như ký tự ổ đĩa: C: D: E:vân vân. Mỗi cái có một gốc ( \) và một cây đi xuống từ nó. Các phiên bản gần đây của Windows cho phép những thứ như điểm gắn kết âm lượng, trong đó âm lượng (thứ bạn muốn xem là phân vùng) có thể được gắn vào thư mục trống hiện có. Vì vậy, thay vì D:\ đại diện cho gốc của ổ đĩa quang (CD / DVD / BR) của bạn, bạn có thể gắn nó vào C:\Opticalthay thế. Điều này giống với những gì Linux làm. Ngoài ra còn có một không gian tên đối tượng cơ bản, một gốc cho mọi thứ trong Windows tương tự như những gì Linux sử dụng và được quản lý bởi Object Manager , nhưng hầu hết người dùng hiếm khi thấy nó được tham chiếu vì chủ yếu là sử dụng kernel.

Linux có một gốc duy nhất : /. Mọi thứ bắt nguồn từ nó, và nó không nhất thiết phải đại diện cho ổ cứng của bạn. Ổ đĩa cứng, Ổ đĩa quang, Thẻ nhớ, Chia sẻ mạng, Máy in, Máy quét, CPU, RAM, Quy trình, ... mọi thứ được thể hiện ở đâu đó trong không gian tên duy nhất này và có thể được truy cập bởi bất kỳ quy trình nào với API quản lý tệp tiêu chuẩn, giả sử bạn có một mức độ truy cập đủ cao. Chỉ vì bạn có thể đọc hoặc viết từ nó không có nghĩa đó là một tệp trên ổ cứng của bạn trong Linux. Ví dụ: các thiết bị thường được gắn vào /dev, vì vậy việc truy cập vào những thứ trong đó thường có nghĩa là bạn đang nói chuyện với một thiết bị - có thể đó là card âm thanh, hoặc máy quét hoặc máy ảnh, v.v. Chúng được gọi là các tệp thiết bị . Viện kiểm sátlà một "hệ thống tập tin" đặc biệt thường được gắn vào /procvà có một "thư mục" cho mọi quy trình đang chạy, với các tệp trong mỗi thư mục liên quan đến những thứ như dòng lệnh được sử dụng để gọi quy trình đó, bản đồ bộ nhớ, mở tệp, v.v. Sysfs là một hệ thống tệp đặc biệt (được gắn trên /sys) được sử dụng để hiển thị vô số thông tin về các đối tượng kernel đang chạy và cũng có thể được sử dụng để tinh chỉnh kernel đang chạy bằng cách ghi vào một tệp cụ thể.


2
Xin lưu ý rằng rất dễ nhầm lẫn một hệ thống tệp với thư mục bố trí từ góc độ người dùng. Trong khi hệ thống tập tin thuật ngữ thực sự có nghĩa là trông giống như bên trong của một hệ thống tập tin; ví dụ. sự khác biệt giữa FAT và NTFS, cũng như sự khác biệt giữa ext2 và ext3 ...
Tamara Wijsman

4
@Tom: Có vẻ như OP thực sự đang hỏi về sự khác biệt trong các hệ thống phân cấp đối tượng khác nhau giữa Linux và Windows thay vì cách các bit được trình bày trên đĩa. udev, Procfs, sysfs, tmpfs, v.v. là các hệ thống tập tin giống như ext2 hoặc NTFS trong Linux, mặc dù thực tế chúng không liên quan đến những thứ trên đĩa.
afrazier

Đó chỉ là một phần trong câu hỏi của anh ấy "Có phải hệ thống tệp chỉ là cách bố trí các thư mục?", Cách bạn trả lời câu hỏi chỉ khiến nó trở nên khó hiểu hơn và không giải quyết được câu hỏi đó. Do đó tôi đã để lại một thông báo cho độc giả ...
Tamara Wijsman

+1 cho "mọi thứ là một tệp" trong Linux. Đây là sự khác biệt lớn giữa Linux và Windows đối với tôi.
Rabarberski

3

Hệ thống tập tin không chỉ là về cách thiết lập cây thư mục mà còn cả cách thông tin này được mã hóa trên phương tiện. Có một số hệ thống tập tin cho Linux: ext3, xfs, raiserfs, v.v.


3

Bạn có thể nghĩ hệ thống tệp là các định dạng khác nhau để lưu trữ tệp và thư mục, hơi giống với cách MS Word và PDF là các định dạng khác nhau để lưu trữ tài liệu hoặc MP3 và WAV là các định dạng khác nhau để lưu trữ âm thanh.

Đưa ra một vài tệp và thư mục, hệ thống tệp là định dạng và mã lưu trữ chúng vào đĩa để chúng có thể được đọc lại.

Và cũng giống như không phải tất cả các trình phát video đều có thể phát tất cả các định dạng video, không phải tất cả các hệ điều hành đều có thể đọc tất cả các hệ thống tệp. Ví dụ: nếu bạn lưu trữ tệp từ Linux trên thanh USB có định dạng ext3, Windows không thể đọc tệp vì nó không biết cách xử lý hệ thống tệp ext3.

Hệ thống tập tin phổ biến bao gồm

  • FAT và NTFS (Windows, NTFS là tiêu chuẩn trên các phiên bản Windows mới hơn)
  • ext3 và ext4 (Linux)
  • HFS cộng (OS X)
  • ISO 9660 và UDF (CD, DVD và Blu-Ray)

Xem Wikipedia để so sánh các hệ thống tập tin .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.