Linux - hệ thống tập tin ext3 và ext4. Chế độ không đăng nhập. Kích thước tệp và hệ thống tệp lớn hơn

Hệ thống tập tin(tiếng Anh: file system) - lệnh xác định cách tổ chức, lưu trữ và đặt tên dữ liệu trên phương tiện lưu trữ thông tin của thiết bị CNTT (sử dụng thẻ nhớ flash di động để ghi nhiều lần và lưu trữ thông tin trong thiết bị di động). các thiết bị điện tử: máy ảnh kỹ thuật số, điện thoại di động, v.v.) và thiết bị máy tính. Nó xác định định dạng nội dung và lưu trữ thông tin vật lý, thường được nhóm dưới dạng tệp. Hệ thống tệp cụ thể xác định kích thước của tên tệp (thư mục), tối đa kích thước có thể tập tin và phần, một tập hợp các thuộc tính tập tin. Một số hệ thống tệp cung cấp khả năng dịch vụ, chẳng hạn như kiểm soát truy cập hoặc mã hóa tệp.

Nhiệm vụ hệ thống tập tin

Các chức năng chính của bất kỳ hệ thống tập tin nào đều nhằm giải quyết các vấn đề sau:

đặt tên tập tin;

giao diện phần mềm làm việc với tập tin cho các ứng dụng;

ánh xạ mô hình logic của hệ thống tệp vào tổ chức vật lý của việc lưu trữ dữ liệu;
tổ chức khả năng phục hồi hệ thống tập tin khi mất điện, lỗi phần cứng và phần mềm;

Trong các hệ thống nhiều người dùng, một nhiệm vụ khác xuất hiện: bảo vệ các tập tin của một người dùng khỏi sự truy cập trái phép của người dùng khác, cũng như đảm bảo sự hợp tác với các tệp, ví dụ: khi một trong những người dùng mở một tệp, đối với những người khác, tệp tương tự sẽ tạm thời có sẵn ở chế độ chỉ đọc.

Hệ thống tập tin là cấu trúc cơ bản mà máy tính sử dụng để sắp xếp thông tin trên ổ cứng. Khi cài đặt mới ổ cứng nó phải được phân vùng và định dạng cho một hệ thống tệp cụ thể, sau đó dữ liệu và chương trình có thể được lưu trữ trên đó. Có ba tùy chọn hệ thống tệp có thể có trong Windows: NTFS, FAT32 và hệ thống FAT kế thừa hiếm khi được sử dụng (còn được gọi là FAT16).

NTFS là hệ thống tệp ưa thích cho phiên bản Windows này. Nó có nhiều ưu điểm hơn hệ thống sớm FAT32; Một số trong số họ được liệt kê dưới đây.

Khả năng tự động phục hồi sau một số lỗi đĩa (FAT32 không có khả năng này).
Hỗ trợ được cải thiện cứng lớnđĩa.
Mức độ bảo mật cao hơn. Bạn có thể sử dụng quyền và mã hóa để từ chối quyền truy cập của người dùng vào một số tệp nhất định.

Hệ thống tệp FAT32 và hệ thống FAT hiếm khi được sử dụng đã được sử dụng trước đó Phiên bản Windows, bao gồm Windows 95, Windows 98 và Windows Millenium Edition. Hệ thống tệp FAT32 không cung cấp mức độ bảo mật do NTFS cung cấp, vì vậy nếu máy tính của bạn có một phân vùng hoặc ổ đĩa được định dạng là FAT32 thì bất kỳ ai có quyền truy cập vào máy tính đều nhìn thấy các tệp trên phân vùng đó. Hệ thống tệp FAT32 cũng có giới hạn về kích thước tệp. Trong phiên bản Windows này, không thể tạo phân vùng FAT32 lớn hơn 32GB. Ngoài ra, phân vùng FAT32 không thể chứa tệp lớn hơn 4GB.

Lý do chính để sử dụng hệ thống FAT32 là máy tính sẽ có thể chạy Windows 95, Windows 98 hoặc Windows Millennium Edition hoặc phiên bản Windows này (cấu hình nhiều hệ điều hành). Để tạo cấu hình như vậy, bạn phải cài đặt phiên bản trước của hệ điều hành trên một phân vùng có định dạng FAT32 hoặc FAT, biến nó thành phân vùng chính (phân vùng chính có thể chứa hệ điều hành). Các phân vùng khác được truy cập từ các phiên bản Windows trước cũng phải được định dạng là FAT32. Hơn phiên bản đầu Windows chỉ có thể truy cập các phân vùng hoặc ổ đĩa NTFS của mạng. Các phân vùng NTFS trên máy tính cục bộ sẽ không thể truy cập được.

FAT – ưu điểm:

Nó đòi hỏi một số RAM để hoạt động hiệu quả.
Làm việc nhanh với các catalog vừa và nhỏ.
Trung bình, đĩa thực hiện ít chuyển động đầu hơn (so với NTFS).
Làm việc hiệu quả trên đĩa chậm.

FAT – nhược điểm:

Hiệu suất bị giảm nghiêm trọng cùng với tình trạng phân mảnh ngày càng tăng, đặc biệt đối với các ổ đĩa lớn (chỉ FAT32).
Khó khăn khi truy cập ngẫu nhiên vào các tệp lớn (ví dụ: 10% kích thước đĩa trở lên).
Làm việc rất chậm với các thư mục chứa số lượng lớn tệp.

NTFS - ưu điểm:

Sự phân mảnh tệp hầu như không gây hậu quả gì cho bản thân hệ thống tệp - hiệu suất của hệ thống bị phân mảnh chỉ bị suy giảm về khả năng truy cập vào chính dữ liệu tệp.
Sự phức tạp của cấu trúc thư mục và số lượng tệp trong một thư mục cũng không gây ra bất kỳ trở ngại đặc biệt nào đối với hiệu suất.
Truy cập nhanh vào một đoạn tùy ý của tệp (ví dụ: chỉnh sửa tệp .wav lớn).
Rất truy cập nhanhđến các tệp nhỏ (vài trăm byte) - toàn bộ tệp nằm ở cùng vị trí với dữ liệu hệ thống (bản ghi MFT).

NTFS - nhược điểm:

Yêu cầu bộ nhớ hệ thống đáng kể (64 MB là mức tối thiểu tuyệt đối, càng nhiều càng tốt).
Đĩa chậm và bộ điều khiển không có Bus Mastering sẽ làm giảm đáng kể hiệu suất của NTFS.
Làm việc với các thư mục cỡ trung bình rất khó vì chúng hầu như luôn bị phân mảnh.
Một đĩa hoạt động lâu dài ở mức đầy 80% - 90% sẽ có hiệu suất cực kỳ thấp.

Các hệ thống tệp sau đây được coi là "bản địa" cho Linux (nghĩa là những hệ thống có thể được cài đặt và khởi động từ đó): ext2fs, ext3fs, ext4fs, ReiserFS, XFS, JFS. Chúng thường được cung cấp như một sự lựa chọn khi cài đặt phần lớn các bản phân phối. Tất nhiên, có nhiều cách Cài đặt Linux sang các hệ thống tệp FAT/VFAT/FAT32, nhưng điều này chỉ dành cho những quý ông quý bà hiểu rõ về sự đồi trụy và tôi sẽ không nói về chúng.

Tiêu chí chính khi chọn hệ thống tập tin thường là độ tin cậy và hiệu suất. Trong một số trường hợp, bạn cũng phải tính đến yếu tố tương thích - trong trường hợp này, điều đó có nghĩa là khả năng các hệ điều hành khác truy cập vào một hệ thống tệp cụ thể.
Tôi sẽ bắt đầu đánh giá với ReiserFS - vì lý do viết ghi chú này là câu hỏi: những gì nên được coi là tệp nhỏ? Rốt cuộc, ai cũng biết rằng hiệu quả làm việc với các tệp nhỏ là điểm mạnh của hệ thống tệp này.

Vì vậy, các tệp nhỏ có nghĩa là các tệp nhỏ hơn một khối logic của hệ thống tệp, trong hầu hết các trường hợp, khối này bằng 4 kilobyte, mặc dù nó có thể được chỉ định trong quá trình định dạng trong một số giới hạn nhất định (tùy thuộc vào FS cụ thể). Có vô số tệp nhỏ như vậy trong bất kỳ hệ điều hành giống Unix nào. Một ví dụ điển hình là các tệp tạo nên cây cổng FreeBSD, cổng Gentoo và các hệ thống giống cổng tương tự.
Trong hầu hết các hệ thống tệp, các tệp nhỏ như vậy có cả nút riêng (nút thông tin chứa thông tin meta về tệp) và khối dữ liệu, dẫn đến tiêu tốn dung lượng ổ đĩa và giảm hiệu suất hoạt động của tệp. Đặc biệt, đây chính xác là lý do dẫn đến sự chu đáo thảm hại của hệ thống tệp FreeBSD (cả hệ thống cũ, UFS và hệ thống mới, UFS2) khi làm việc với hệ thống cổng của chính nó.

Trong hệ thống tệp ReiserFS, trong những trường hợp như vậy, các khối riêng biệt không được phân bổ cho dữ liệu - nó quản lý việc đẩy dữ liệu tệp trực tiếp vào vùng inode. Do điều này và không gian đĩa tiết kiệm tiền và tăng hiệu suất - theo nghĩa đen là gấp nhiều lần so với tất cả các FS khác.
Việc xử lý các tệp ReiserFS nhỏ này đã làm nảy sinh huyền thoại về tính không đáng tin cậy của nó. Thật vậy, khi hệ thống tệp bị sập (nghĩa là các vùng dịch vụ bị phá hủy), dữ liệu nằm cùng với các nút của nó sẽ biến mất cùng với chúng - và không thể thu hồi được. Trong khi đó, ở những hệ thống tệp nơi các nút và khối dữ liệu luôn được phân tách về mặt không gian thì về mặt lý thuyết, các nút sau có thể được khôi phục. Vì vậy, đối với ext2/ext3 thậm chí còn có những công cụ cho phép bạn thực hiện việc này.

Tuy nhiên, giống như bất kỳ truyền thuyết nào, truyền thuyết này chỉ mang lại ấn tượng về tính xác thực. Đầu tiên, mất dữ liệu vĩnh viễn chỉ áp dụng cho các tệp rất nhỏ. Trong số những người dùng thực tế không có những cái như vậy và tất cả những cái khác có thể dễ dàng khôi phục từ bộ phân phối.
Thứ hai, khi nói về khả năng khôi phục dữ liệu từ các khối bị mất kết nối với nút của chúng, không phải ngẫu nhiên mà tôi dùng từ “lý thuyết”. Bởi vì trên thực tế, hoạt động này cực kỳ tốn nhiều công sức và không mang lại kết quả đảm bảo. Bất cứ ai đã phải làm điều này sẽ đồng ý rằng người ta chỉ có thể đam mê nó vì hoàn toàn tuyệt vọng. Và điều này áp dụng cho tất cả các hệ thống tệp Linux. Vì vậy, khía cạnh này có thể bị bỏ qua khi chọn hệ thống tập tin.

Về hiệu suất tổng thể, ReiserFS chắc chắn nhanh hơn tất cả các FS được ghi nhật ký khác và ở một số khía cạnh, nó vượt trội hơn ext2. Bạn có thể tìm thấy so sánh tốc độ của một số thao tác tệp phổ biến tại đây.
Nhưng với ReiserFS thì tình hình tương thích có phần tệ hơn. Theo tôi biết, việc truy cập nó từ hệ điều hành Windows là không thể. Một số hệ điều hành thuộc họ BSD (DragonFlyBSD, FreeBSD) hỗ trợ hệ thống tệp này, nhưng ở chế độ chỉ đọc. Ngay cả khả năng một Linux LiveCD tùy ý từ những năm trước không có hỗ trợ ReiserFS cũng không phải là bằng không.

Và đây là lúc để nhớ ext3fs. Ưu điểm của nó hoàn toàn không nằm ở độ tin cậy cao hơn - đây cũng chính là huyền thoại về tính không ổn định của ReiserFS. Tôi đã nghe nhiều về sự cố ext3fs hơn là về các sự cố tương tự với ReiserFS. Bản thân tôi không thể tiêu diệt cái này hay cái kia. Ngoại trừ việc nó hoạt động với ext2 - nhưng thậm chí đã rất lâu rồi, vào thời của kernel 2.2 (hoặc thậm chí 2.0).

Không, ưu điểm chính của ext3fs là khả năng tương thích của nó - nó được đảm bảo có thể đọc được bởi bất kỳ hệ thống Linux nào. Ví dụ: khi khôi phục từ một số LiveCD cổ trong tay - một tình huống thực tế không quá khó tin, tôi đã phải dấn thân vào nó. Một lần nữa, hầu hết các hệ thống BSD có thể dễ dàng hiểu được ext3fs (mặc dù không cần ghi nhật ký). Đối với Windows, theo như tôi biết, cũng có tất cả các loại trình điều khiển và plug-in dành cho các trình quản lý tệp thông thường (chẳng hạn như Tổng chỉ huy), cung cấp quyền truy cập vào các phân vùng có ext2fs/ext3fs.

Về hiệu suất, ext3fs để lại ấn tượng lẫn lộn. Thứ nhất, hiệu suất của nó phụ thuộc rất nhiều vào chế độ ghi nhật ký, trong đó có ba chế độ: ghi dữ liệu đầy đủ, ghi nhật ký một phần và chỉ ghi nhật ký siêu dữ liệu. Trong mỗi chế độ, nó hiển thị hiệu suất khác nhau trên các loại hoạt động tệp khác nhau. Tuy nhiên, không có trường hợp nào là kỷ lục hiệu suất.

Tuy nhiên, nếu yêu cầu về hiệu suất được đặt lên hàng đầu thì ext2fs sẽ không có sự cạnh tranh - tuy nhiên, trong trường hợp này, bạn sẽ phải chấp nhận việc thiếu ghi nhật ký. Và do đó, với việc kiểm tra hệ thống tệp trong thời gian dài trong trường hợp tắt máy không chính xác - và với dung lượng ổ đĩa hiện đại, việc này có thể mất một thời gian rất dài...

Có thể nói như sau về XFS. Về khả năng tương thích, mọi thứ được viết cho ReiserFS đều áp dụng cho nó - hơn nữa, cho đến một thời điểm nào đó, nó không được nhân Linux tiêu chuẩn hỗ trợ. Về hiệu suất, XFS cũng không tỏa sáng, tổng thể hoạt động ở mức tương đương với ext3fs. Và thao tác xóa tập tin thường thể hiện sự chậm chạp đáng buồn.
Theo quan sát của tôi, việc sử dụng XFS mang lại hiệu quả khi làm việc không chỉ với các tệp lớn mà còn với các tệp rất lớn - thực tế chỉ hình ảnh DVD và các tập tin video.

Hãy để tôi quay lại câu hỏi về độ tin cậy. Banal tắt nguồn trong khi bình thường công việc tùy chỉnh, theo quy định, chuyển tất cả các hệ thống tệp được ghi nhật ký một cách dễ dàng (và không có hệ thống nào trong số đó đảm bảo an toàn cho các hoạt động của người dùng không được ghi vào đĩa - việc cứu người đuối nước vẫn là công việc của chính người chết đuối). Đúng, đối với bất kỳ hệ thống tập tin nào, có thể mô phỏng một tình huống trong đó việc tắt nguồn sẽ dẫn đến thiệt hại ít nhiều nghiêm trọng cho nó. Tuy nhiên, trong đời thực Những tình huống như vậy khó có thể xảy ra. Và bạn hoàn toàn có thể loại bỏ chúng bằng cách mua một nguồn điện liên tục - nó sẽ mang lại sự tin cậy hơn về sự an toàn của dữ liệu so với loại hệ thống tệp. Chà, trong mọi trường hợp, cách đảm bảo duy nhất để khôi phục dữ liệu bị hỏng có thể là sao lưu thường xuyên...

Tôi nghĩ những thông tin trình bày ở trên là đủ cho sự lựa chọn sáng suốt. Của tôi lựa chọn cá nhân trong vài năm qua - ReiserFS. Đôi khi, trên các hệ thống mà việc di chuyển mọi thứ có thể ra ngoài phân vùng gốc là hợp lý, việc sử dụng ext3fs cho hệ thống tệp gốc và ReiserFS cho mọi hệ thống khác là điều hợp lý.

Nếu một phân vùng riêng được cung cấp cho thư mục /boot (và điều này được khuyến khích khi sử dụng Bộ tải khởi động GRUB bởi các nhà phát triển của nó) - đối với nó, không có hệ thống tệp nào khác ngoài ext2fs là hợp lý, mọi hoạt động ghi nhật ký đều vô nghĩa ở đây. Cuối cùng, nếu bạn tạo một phân vùng riêng cho tất cả các loại tài liệu đa phương tiện, thì bạn có thể nghĩ đến XFS.

Nếu chúng ta tiếp cận lời giải thích một cách có phương pháp hơn

ext - trong những ngày đầu của Linux, ext2 (phiên bản hệ thống tệp mở rộng 2) chiếm ưu thế. Kể từ năm 2002, nó được thay thế bằng hệ thống ext3, hệ thống này phần lớn tương thích với ext2, nhưng cũng hỗ trợ các chức năng ghi nhật ký và khi làm việc với kernel phiên bản 2.6 trở lên, ACL. Kích thước tệp tối đa là 2 TB, kích thước hệ thống tệp tối đa là 8 TB. Vào cuối năm 2008, việc phát hành ext4 chính thức được công bố, tương thích ngược với ext3, nhưng nhiều chức năng được triển khai hiệu quả hơn trước. Ngoài ra, kích thước hệ thống tệp tối đa là 1 EB (1.048.576 TB) và bạn có thể mong đợi điều này là đủ trong một thời gian. Giới thiệu về reiser - hệ thống được đặt theo tên của người sáng lập nó, Hans Reiser, và là hệ thống đầu tiên có chức năng ghi nhật ký để truy cập nhân Linux để lấy dữ liệu. Phiên bản SUSE của Zp thậm chí còn được coi là tiêu chuẩn trong một thời gian. Ưu điểm chính của reiser so với ext3 là tốc độ cao hơn và hiệu quả sắp xếp khi làm việc với các tệp nhỏ (và trong hệ thống tệp, theo quy luật, hầu hết các tệp đều nhỏ). Tuy nhiên, theo thời gian, sự phát triển của reisefers đã dừng lại. Từ lâu, người ta đã thông báo rằng phiên bản 4 sẽ được phát hành, phiên bản này vẫn chưa sẵn sàng và việc hỗ trợ cho phiên bản 3 đã ngừng hoạt động. Giới thiệu về xfs - hệ thống tệp xfs ban đầu được phát triển cho các máy trạm SGI chạy trên hệ điều hành IRIX. Xfs đặc biệt tốt khi làm việc với các tệp lớn và đặc biệt lý tưởng khi làm việc với video phát trực tuyến. Hệ thống hỗ trợ hạn ngạch và thuộc tính mở rộng (ACL).
jfs

jfs - a66peBHaTypaJFS là viết tắt của "Hệ thống tệp được ghi nhật ký". Ban đầu nó được phát triển cho IBM và sau đó được điều chỉnh cho Linux.Jfs chưa bao giờ được nhiều người biết đến trên Linux và hiện đang sống mòn mỏi trong tình trạng tồn tại khốn khổ, thua kém so với các hệ thống tập tin khác.
brtfs

brtfs - Nếu đúng như mong muốn của các nhà phát triển kernel hàng đầu thì hệ thống file brtfs trong Linux có một tương lai tươi sáng. Hệ thống này được phát triển từ đầu tại Oracle. Nó bao gồm hỗ trợ cho trình ánh xạ thiết bị và RAID. Brtfs giống nhất với hệ thống ZFS do Sun phát triển. Gửi đến cô ấy những điều tốt đẹp nhất tính năng thú vị bao gồm kiểm tra hệ thống tệp nhanh chóng, cũng như hỗ trợ SSD (ổ đĩa thể rắn Đĩa cứng, hoạt động trên cơ sở bộ nhớ flash). Thật không may, công việc trên brtfs sẽ không được hoàn thành trong tương lai gần. Fedora, bắt đầu từ phiên bản 11, cung cấp khả năng cài đặt brtfs, nhưng tôi khuyên bạn chỉ nên sử dụng nó cho các nhà phát triển hệ thống tệp!
Không có hệ thống tệp "nhanh nhất" hoặc "tốt nhất" - việc đánh giá tùy thuộc vào mục đích bạn định sử dụng hệ thống. Người dùng Linux mới bắt đầu làm việc trên máy tính cục bộ nên làm việc với ext3 và quản trị viên máy chủ với ext4. Tất nhiên, với ext4, tốc độ hoạt động cao hơn ext3, nhưng đồng thời, trong hệ thống ext4, tình hình về độ tin cậy của dữ liệu kém hơn nhiều - bạn có thể mất thông tin khi tắt máy đột ngột hệ thống.

Nếu bạn đã cài đặt hệ điều hành giống UNIX thứ hai trên máy tính của mình thì các hệ thống tệp sau sẽ hữu ích cho bạn khi trao đổi dữ liệu (từ hệ điều hành này sang hệ điều hành khác).

sysv - được sử dụng trong SCO, Xenix và Coherent OS.

ufs - được sử dụng trong FreeBSD, NetBSD, NextStep và SunOS. Linux chỉ có thể đọc thông tin từ các hệ thống tệp như vậy nhưng không thể thay đổi dữ liệu. Để truy cập các phân đoạn từ BSD, bạn sẽ cần thêm tiện ích mở rộng nhãn đĩa BSD. Một phần mở rộng tương tự tồn tại cho các bảng phân vùng SunOS.

ZFS là một hệ thống tương đối mới được Sun phát triển cho Solaris. Vì mã ZFS không tuân thủ GPL nên không thể tích hợp nó với nhân Linux. Vì lý do này, Linux chỉ hỗ trợ hệ thống tệp này một cách gián tiếp, thông qua FUSE.
Windows, Mac OS X

Các hệ thống tệp sau đây sẽ hữu ích khi trao đổi thông tin với MS DOS, Windows, OS/2 và Macintosh.

vfat - được sử dụng trong Windows 9x/ME. Linux có thể đọc thông tin từ các phân vùng như vậy và thực hiện các thay đổi đối với nó. Trình điều khiển hệ thống vfat cho phép bạn làm việc với các hệ thống tệp MS DOS cũ hơn (8 + 3 ký tự).

ntfs - hệ thống được sử dụng trong tất cả các phiên bản Windows hiện đại: otNT trở lên. Linux có thể đọc và sửa đổi các tập tin của nó.

hfs và hfsplus - những hệ thống tập tin này được sử dụng trong máy tính Apple. Linux có thể đọc và sửa đổi các tập tin của nó.

Đĩa CD và DVD dữ liệu thường sử dụng hệ thống tệp riêng của chúng.

iso9660 - Hệ thống tệp cho CD-ROM được mô tả theo tiêu chuẩn ISO-9660, chỉ cho phép tên tệp ngắn. Tiêu đề dàiđược hỗ trợ khác nhau trên các hệ điều hành khác nhau, sử dụng nhiều tiện ích mở rộng không tương thích với nhau. Linux có thể chạy cả tiện ích mở rộng Rockridge, phổ biến trong UNIX và tiện ích mở rộng Joliet, do Microsoft phát triển.

udf - định dạng này ( định dạng phổ quát disk) xuất hiện và phát triển như một sự kế thừa cho ISO 9660.

Hệ thống tập tin mạng

Hệ thống tập tin không cần phải bật đĩa cục bộ- Họ
có thể kết nối với máy tính và qua mạng. Nhân Linux hỗ trợ nhiều hệ thống tệp mạng khác nhau, trong đó hệ thống sau được sử dụng phổ biến nhất.

smbfs/cifs - giúp kết nối các thư mục mạng Windows hoặc Samba với cây thư mục.

nfs là hệ thống tệp mạng quan trọng nhất trong UNIX.

coda - hệ thống này rất giống với NFS. Nó có nhiều tính năng bổ sung, nhưng nó không phổ biến lắm.

ncpfs - chạy trên giao thức hạt nhân NetWare; oH được Novell Netware sử dụng.

Hệ thống tập tin ảo

Linux có một số hệ thống tệp không được thiết kế để lưu trữ dữ liệu trên ổ cứng (hoặc phương tiện lưu trữ khác) mà chỉ để trao đổi thông tin giữa kernel và chương trình người dùng.
devpts - Hệ thống tệp này cung cấp quyền truy cập vào các thiết bị đầu cuối giả (viết tắt là PTY) thông qua /dev/pts/* theo thông số kỹ thuật UNIX-98. (Các thiết bị đầu cuối giả mô phỏng giao diện nối tiếp. Trên hệ thống UNIX/Linux, các giao diện như vậy được sử dụng bởi các trình mô phỏng thiết bị đầu cuối như xterm. Thông thường, các thiết bị như /dev/ttypn được sử dụng. Ngược lại, đặc tả UNIX-98 xác định các thiết bị mới. Hơn thông tin chi tiếtđược báo cáo trong thiết bị đầu cuối văn bản H0WT0.)
proc và sysfs - hệ thống tệp proc được sử dụng để hiển thị thông tin dịch vụ liên quan đến quản lý kernel và tiến trình. Ngoài ra, hệ thống tệp sysfs còn xây dựng mối quan hệ giữa kernel và phần cứng. Cả hai hệ thống tập tin đều được gắn kết tại/proc và/sys.
tmpfs - Hệ thống này được xây dựng trên cơ sở bộ nhớ dùng chung theo System V. Nó thường được gắn ở vị trí /dev/shm và cho phép trao đổi thông tin hiệu quả giữa hai chương trình. Trên một số bản phân phối (chẳng hạn như Ubuntu), các thư mục /var/run và /var/lock cũng được tạo bằng hệ thống tệp tmpfs. Các tệp trong các thư mục này được một số trình nền mạng sử dụng để lưu trữ số nhận dạng quy trình cũng như thông tin truy cập tệp. Nhờ tmpfs, dữ liệu này hiện được phản ánh trong RAM. Phương pháp này đảm bảo tốc độ cao và sau khi tắt máy tính, sẽ không còn tệp nào trong thư mục /var/run hoặc /var/lock.

usbfs - hệ thống tệp usbfs, bắt đầu với phiên bản kernel 2.6 trở lên, cung cấp thông tin về các thiết bị USB được kết nối. Nó thường được tích hợp vào hệ thống tập tin Proc. Giới thiệu về hỗ trợ thiết bị USB trong Linux.

Các hệ thống tập tin khác

auto - trên thực tế, không có hệ thống tập tin nào có tên đó. Tuy nhiên, từ auto có thể được sử dụng trong /etc/fstab hoặc với lệnh mount để chỉ định hệ thống tệp. Trong trường hợp này, Linux sẽ cố gắng tự nhận dạng hệ thống tệp. Phương pháp này hoạt động với hầu hết các hệ thống tập tin chính.
tự động, autofs4

autofs, autofs4 cũng không phải là hệ thống tệp mà là phần mở rộng kernel tự động thực thi lệnh mount cho các hệ thống tệp đã chọn. Nếu một hệ thống tập tin không được sử dụng trong một thời gian, lệnh umount sẽ tự động chạy trên đó. Phương pháp này thuận tiện chủ yếu trong trường hợp chỉ có một vài trong số nhiều thư mục NFS được sử dụng tích cực cùng một lúc.

Để thực hiện các thao tác như vậy, tập lệnh /etc/init.d/ autofs sẽ tự động thực thi chương trình tự động đếm khi hệ thống khởi động. Nó được cấu hình bằng tệp /etc/auto.master. Các chương trình tương ứng sẽ được cài đặt tự động, chẳng hạn như trong Red Hat và Fedora. Trong mọi trường hợp, autofs chỉ được kích hoạt sau khi định cấu hình /etc/auto.master hoặc /etc/auto.misc.
cramfs và squatfs

cramfs và squash - Hệ thống tệp Cram và Squash ở chế độ chỉ đọc. Chúng được sử dụng để "đóng gói" càng nhiều tệp nén càng tốt vào bộ nhớ flash hoặc ROM (bộ nhớ chỉ đọc).

cầu chì - FUSE là viết tắt của Hệ thống tệp trong Không gian người dùng và cho phép trình điều khiển hệ thống tệp được phát triển và sử dụng bên ngoài kernel. Do đó, FUSE luôn được sử dụng với trình điều khiển hệ thống tệp bên ngoài. Đặc biệt, FUSE hoạt động với trình điều khiển NTFS ntfs-3g.

gfs và ocfs - Hệ thống tệp toàn cầu và Hệ thống tệp cụm từ Oracle (Oracle Cluster File System) cho phép bạn xây dựng các hệ thống tệp mạng khổng lồ có thể được truy cập song song bởi nhiều máy tính cùng một lúc.

jffs và yaffs - Hệ thống tập tin nhật ký cho phương tiện flash (Nhật ký Tệp Flash System và Yet Another Flash File System được tối ưu hóa đặc biệt để hoạt động với ổ đĩa thể rắn và phương tiện flash. Bằng cách sử dụng các thuật toán đặc biệt, họ cố gắng sử dụng đồng đều tất cả các ô nhớ (công nghệ cân bằng hao mòn) để tránh lỗi hệ thống sớm.
vòng

vòng lặp - được sử dụng để hoạt động với các thiết bị giả. Thiết bị loopback là một bộ chuyển đổi có khả năng truy cập tập tin thông thường giống như một thiết bị khối. Nhờ nó, bạn có thể đặt bất kỳ hệ thống tệp nào vào bất kỳ tệp nào, sau đó kết nối nó với cây thư mục bằng cách sử dụng mount. Hàm kernel chịu trách nhiệm cho việc này - hỗ trợ thiết bị giả - được triển khai trong mô-đun vòng lặp.

Có nhiều cách sử dụng khác nhau cho thiết bị giả. Đặc biệt, chúng có thể được sử dụng khi tạo đĩa trong RAM để khởi tạo lần đầu (Initial đĩa RAM) cho GRUB hoặc LILO, khi triển khai hệ thống tệp được mã hóa hoặc kiểm tra ảnh ISO CD.

Hệ thống tập tin phương tiện lưu trữ

Hệ thống tập tin
ISO 9660
Phần mở rộng hệ thống tập tin Joliet ISO 9660.
Rock Ridge (RRIP, IEEE P1282) – phần mở rộng hệ thống tệp ISO 9660 được thiết kế để lưu trữ các thuộc tính tệp được sử dụng trong hệ điều hành POSIX
Phần mở rộng Amiga Rock Ridge
El Torito
Tiện ích mở rộng ISO9660 của Apple
HFS, HFS+
Universal Disk Format là đặc điểm kỹ thuật của định dạng hệ thống tệp độc lập với hệ điều hành để lưu trữ tệp trên phương tiện quang học. UDF là sự triển khai của tiêu chuẩn ISO/IEC 13346
Núi Rainier

Cách có thể truy cập phân vùng đĩa hoặc phương tiện di động bằng hệ thống tệp trong môi trường Windows Ext2/3/4 ? Ví dụ: nếu cũng có hệ thống thứ hai trên máy tính Linux. Và bạn cần phải làm việc với dữ liệu của nó từ môi trường các cửa sổ. Hoặc một ví dụ khác - khi các đĩa ảo có hệ thống được cài đặt trên máy ảo được gắn bên trong Windows Linux hoặc Android. Với Ext2/3/ 4 Windows không thể hoạt động tự nhiên; để làm được điều này nó cần công cụ của bên thứ ba. Đây là những loại phương tiện gì? Hãy nhìn vào những điều dưới đây.


***
Ba công cụ đầu tiên sẽ giúp bạn chỉ có thể đọc các thiết bị thông tin từ Ext2/3/4. Giải pháp mới nhất sẽ cho phép bạn đọc và ghi dữ liệu. Tất cả các công cụ được thảo luận dưới đây đều miễn phí.

1. Trình đọc Linux của DiskInternals

Một chương trình đơn giản là một trình quản lý tệp nguyên thủy, được tạo giống như Windows Explorer tiêu chuẩn, có hỗ trợ cho các hệ thống tệp Số lẻ 2/3/4 , Reiser4 , HFS , UFS2. Trong cửa sổ chương trình chúng ta sẽ thấy các phân vùng và thiết bị có Linux hoặc Android.

Để sao chép, bạn cần chọn thư mục hoặc tập tin, nhấn nút "Cứu".

Sau đó chỉ định đường dẫn sao chép.

2. Plugin cho Total Commander DiskInternals Reader

Người hâm mộ phổ biến có thể trích xuất dữ liệu Linux hoặc Android bên trong Windows bằng trình quản lý tệp này. Nhưng trước tiên hãy cài đặt một plugin đặc biệt trong đó. Một trong những plugin này là nó có thể kết nối và đọc các thiết bị thông tin được định dạng trong Ext2/3/4 , Chất béo/exFAT , HFS/HFS+ , ReiserFS. Tải xuống plugin, giải nén kho lưu trữ của nó bên trong , xác nhận cài đặt.

Hãy khởi động (quan trọng) thay mặt quản trị viên. Chúng ta hãy đi đến phần. Nhấp chuột.

Ở đây, cùng với các phân vùng đĩa và phương tiện khác, cái có Ext2/3/4 .

Dữ liệu được sao chép theo cách truyền thống cách - bằng cách nhấn F5 trên bảng thứ hai.

3. Plugin cho Total Commander ext4tc

Một giải pháp thay thế đơn giản cho giải pháp trước đó - ext4tc, một plugin khác dành cho . Nó có thể kết nối để đọc các thiết bị thông tin được định dạng chỉ trong Ext2/3/4. Tải xuống plugin, giải nén kho lưu trữ của nó bên trong trình quản lý tệp và bắt đầu cài đặt.

Hãy khởi động (quan trọng) thay mặt quản trị viên. Nhấp chuột. Chúng ta hãy đi đến .

Nếu bạn cần sao chép dữ liệu, hãy sử dụng cách thông thường bằng phím F5.

4. Trình điều khiển hỗ trợ Ext2Fsd

Chương trình Ext2Fsd– đây là tài xế Ext2/3/4, nó triển khai hỗ trợ cho các hệ thống tệp này ở cấp hệ điều hành. Bạn có thể làm việc với các phân vùng đĩa và ổ đĩa được định dạng bằng các hệ thống tệp này như với các thiết bị đa phương tiện thông thường được Windows hỗ trợ trong cửa sổ Explorer hoặc chương trình của bên thứ ba. Trình điều khiển cho phép bạn vừa đọc và ghi dữ liệu.

Tải xuống phiên bản hiện tại mới nhất Ext2Fsd.

Trong quá trình cài đặt, chúng tôi kích hoạt (nếu làm việc lâu dài) ba hộp kiểm được đề xuất:

1 — Driver tự động chạy với Windows;
2 - Hỗ trợ ghi âm cho Ext2;
3 - Hỗ trợ định dạng cho Ext3.

Ở giai đoạn tiền hoàn thiện, chúng tôi kích hoạt tùy chọn khởi chạy cửa sổ trình quản lý trình điều khiển - - cùng với việc gán thông tin cho các thiết bị từ Ext2/3/4 ký tự ổ đĩa.

Trong cửa sổ mở ra Chúng ta sẽ gặp giới truyền thông với bức thư đã được giao. Ví dụ, trong trường hợp của chúng tôi, một nhà cung cấp dịch vụ có Ext4 lá thư miễn phí đầu tiên được đưa ra F.

Bây giờ chúng ta có thể làm việc với đĩa F trong cửa sổ Explorer.

Gán một chữ cái cho các thiết bị được kết nối mới bằng Ext2/3/4 có thể được thực hiện bằng cách sử dụng menu ngữ cảnh được hiển thị trên mỗi menu được hiển thị trong cửa sổ thiết bị. Nhưng chỉ bằng cách gán ký tự ổ đĩa, thiết bị như vậy sẽ không xuất hiện sau khởi động lại Windows, giải pháp này chỉ dành cho một phiên máy tính. Để tạo một thiết bị mới với Ext2/3/4 hiển thị vĩnh viễn trong môi trường Windows, bạn cần nhấp đúp vào nó để mở cửa sổ cấu hình và đặt các tham số kết nối vĩnh viễn. Trong cột thứ hai bạn cần:

Đối với phương tiện di động, hãy kích hoạt hộp kiểm được biểu thị bằng số 1 trong ảnh chụp màn hình và chỉ định ký tự ổ đĩa;
Đối với các ổ đĩa và phân vùng bên trong, hãy kích hoạt hộp kiểm được chỉ ra trong ảnh chụp màn hình bên dưới với số 2, đồng thời chỉ định ký tự ổ đĩa.

Nếu bạn đã cài đặt hai hệ điều hành, Windows và Linux, thì có thể bạn muốn được chứa trên các phân vùng của hệ điều hành miễn phí trực tiếp từ Windows mà không cần khởi động lại máy tính.

Thật không may, không có hỗ trợ cho phân vùng hệ điều hành Linux trong Windows. Nhưng vô ích. Đối với tôi, có vẻ như đây có thể là một cử chỉ tốt đẹp từ phía Microsoft.

Bản chất của vấn đề là Windows sử dụng hệ thống tệp NTFS và Linux có cách tổ chức tệp riêng, hệ thống tệp mở rộng, phiên bản mới nhất có số sê-ri 4.

Linux thân thiện với người dùng hơn so với người chị thương mại của nó: Linux có hỗ trợ hệ thống tệp theo mặc định Windows NTFS. Tất nhiên, bạn sẽ không thể cài đặt Linux trên phân vùng NTFS nhưng bạn có thể đọc và ghi dữ liệu từ phân vùng đó.

IFS Ext2

Ext2 IFS hỗ trợ Windows NT4.0/2000/XP/2003/Vista/2008 phiên bản x86 và x64, đồng thời cho phép bạn xem nội dung của các phân vùng Linux ext2 và cũng có thể ghi vào chúng. Tiện ích này cài đặt trình điều khiển hệ thống ext2fs.sys, mở rộng Tính năng của Windows và bao gồm hỗ trợ ext2 đầy đủ trong đó: các phân vùng ext2 được gán ký tự ổ đĩa, đồng thời các tệp và thư mục trên chúng được hiển thị trong hộp thoại của tất cả các ứng dụng, chẳng hạn như trong Explorer.

Ext2 FSD

Ext2 FSD là trình điều khiển miễn phí cho hệ thống Windows (phiên bản 2K/XP/VISTA/7 x86 và x64). Giống như tiện ích trước đó, về bản chất cũng là một trình điều khiển, nó bao gồm hỗ trợ đầy đủ cho hệ thống tệp ext2 trong Windows.

LTOOLS là một bộ tiện ích dòng lệnh cho phép bạn đọc và ghi dữ liệu đến/từ các phân vùng Linux ext2, ext3 và ReiserFS (hệ thống tệp Linux tiêu chuẩn) từ máy chạy DOS hoặc Windows.

Có một phiên bản của chương trình với vỏ đồ họa(viết bằng Java) – LTOOLSgui, cũng như một phiên bản có shell đồ họa được viết bằng .

Ext2Đọc

Món tráng miệng, như mọi khi, là ngon nhất.

Ext2Read là một tiện ích kiểu quản lý tệp cho phép bạn vừa xem vừa ghi vào các phân vùng ext2/ext3/ext4. Nó hỗ trợ LVM2 và điều khiến nó khác biệt với các chương trình khác trong bài đánh giá này là hệ thống tệp ext4. Hỗ trợ tích hợp để sao chép thư mục đệ quy.

Và đây là món tráng miệng thứ hai. Lúc đầu người ta nói rằng việc Microsoft hỗ trợ sẽ là một cử chỉ tốt Phân vùng Linux trong Windows theo mặc định.

Tuy nhiên, cử chỉ này được thực hiện nhân dịp kỷ niệm 20 năm Linux. Xem cho chính mình.

Đó là tất cả. Cám ơn vì sự quan tâm của bạn. Tôi sẽ đi đánh bọn gà trống. Có rất nhiều trong số họ vào mùa xuân này. 🙂

Tại sao điện thoại thông minh không khởi chạy được chương trình từ thẻ nhớ? Về cơ bản ext4 khác với ext3 như thế nào? Tại sao ổ đĩa flash sẽ tồn tại lâu hơn nếu bạn định dạng nó ở dạng NTFS thay vì FAT? Vấn đề chính với F2FS là gì? Câu trả lời nằm ở đặc điểm cấu trúc của hệ thống tập tin. Chúng ta sẽ nói về họ.

Giới thiệu

Hệ thống tập tin xác định cách lưu trữ dữ liệu. Chúng xác định những hạn chế mà người dùng sẽ gặp phải, tốc độ đọc và ghi sẽ như thế nào và ổ đĩa sẽ hoạt động trong bao lâu mà không gặp lỗi. Điều này đặc biệt đúng đối với ổ SSD bình dân và những người em của chúng - ổ đĩa flash. Biết được những tính năng này, bạn có thể tận dụng tối đa mọi hệ thống và tối ưu hóa việc sử dụng nó cho các tác vụ cụ thể.

Bạn phải chọn loại và tham số của hệ thống tệp mỗi khi bạn cần làm điều gì đó không tầm thường. Ví dụ, bạn muốn tăng tốc độ phổ biến nhất thao tác tập tin. Ở cấp độ hệ thống tập tin, điều này có thể đạt được những cách khác: lập chỉ mục sẽ cung cấp tìm kiếm nhanh và việc đặt trước các khối trống sẽ giúp việc viết lại các tệp thay đổi thường xuyên trở nên dễ dàng hơn. Việc tối ưu hóa trước dữ liệu trong RAM sẽ giảm số lượng thao tác I/O cần thiết.

Các thuộc tính như vậy của hệ thống tệp hiện đại như ghi lười, sao chép và các thuật toán nâng cao khác giúp tăng thời gian hoạt động mà không gặp sự cố. Chúng đặc biệt phù hợp với ổ SSD giá rẻ có chip nhớ TLC, ổ flash và thẻ nhớ.

Tối ưu hóa riêng biệt tồn tại cho mảng đĩa cấp độ khác nhau: Ví dụ: hệ thống tệp có thể hỗ trợ phản chiếu âm lượng nhẹ, chụp nhanh tức thì hoặc chia tỷ lệ động mà không cần lấy âm lượng ngoại tuyến.

Hộp đen

Người dùng chủ yếu làm việc với hệ thống tập tin mặc định hệ điều hành. Họ hiếm khi tạo các phân vùng đĩa mới và thậm chí còn ít nghĩ đến cài đặt của mình hơn - họ chỉ cần sử dụng các tham số được đề xuất hoặc thậm chí mua phương tiện được định dạng sẵn.

Đối với người hâm mộ Windows, mọi thứ đều đơn giản: NTFS trên tất cả các phân vùng đĩa và FAT32 (hoặc cùng NTFS) trên ổ đĩa flash. Nếu có một NAS và nó sử dụng một số hệ thống tập tin khác, thì đối với hầu hết mọi người, nó vẫn nằm ngoài tầm nhận thức. Họ chỉ cần kết nối với nó qua mạng và tải xuống các tập tin, như thể từ một hộp đen.

Trên các thiết bị di động có Android ext4 thường được tìm thấy nhiều nhất trong bộ nhớ trong và FAT32 trên thẻ nhớ microSD. Yabloko hoàn toàn không quan tâm họ có loại hệ thống tệp nào: HFS+, HFSX, APFS, WTFS... đối với họ chỉ có các biểu tượng thư mục và tệp đẹp mắt được vẽ bởi những nhà thiết kế giỏi nhất. Người dùng Linux có nhiều lựa chọn nhất, nhưng bạn có thể thêm hỗ trợ cho các hệ thống tệp không phải gốc trong cả Windows và macOS - nhiều hơn về điều đó sau.

Rễ chung

Hơn một trăm hệ thống tập tin khác nhau đã được tạo ra, nhưng chỉ hơn một chục hệ thống có thể được coi là hiện hành. Mặc dù tất cả chúng đều được phát triển cho các ứng dụng cụ thể của riêng mình nhưng nhiều ứng dụng cuối cùng lại có liên quan ở mức độ khái niệm. Chúng tương tự nhau vì chúng sử dụng cùng một loại cấu trúc biểu diễn dữ liệu (meta) - cây B (“bi-cây”).

Giống như bất kỳ hệ thống phân cấp nào, cây B bắt đầu bằng bản ghi gốc và sau đó phân nhánh xuống các phần tử lá - các bản ghi riêng lẻ của tệp và thuộc tính của chúng, hay còn gọi là “lá”. Điểm chính của việc tạo ra cấu trúc logic như vậy là tăng tốc độ tìm kiếm các đối tượng hệ thống tệp trên phạm vi rộng. mảng động- giống ổ cứng với dung lượng vài terabyte hoặc thậm chí là mảng RAID ấn tượng hơn.

Cây B yêu cầu quyền truy cập đĩa ít hơn nhiều so với các loại khác cây cân bằng, trong khi thực hiện các thao tác tương tự. Điều này đạt được là do các đối tượng cuối cùng trong cây B được sắp xếp theo thứ bậc ở cùng một độ cao và tốc độ của mọi thao tác tỷ lệ chính xác với chiều cao của cây.

Giống như các cây cân bằng khác, cây B có độ dài đường đi bằng nhau từ gốc đến bất kỳ lá nào. Thay vì phát triển lên trên, chúng phân nhánh nhiều hơn và phát triển rộng hơn: tất cả các điểm nhánh trong cây B đều lưu trữ nhiều tham chiếu đến các đối tượng con, khiến chúng dễ dàng được tìm thấy trong ít lệnh gọi hơn. Con số lớn con trỏ giúp giảm số lượng thao tác tốn nhiều thời gian nhất trên đĩa - định vị đầu khi đọc các khối tùy ý.

Khái niệm cây B được hình thành từ những năm 70 và kể từ đó đã trải qua nhiều cải tiến khác nhau. Ở dạng này hay dạng khác, nó được triển khai trong NTFS, BFS, XFS, JFS, ReiserFS và nhiều DBMS. Họ đều là họ hàng từ quan điểm nguyên tắc cơ bản tổ chức dữ liệu. Sự khác biệt liên quan đến chi tiết, thường khá quan trọng. Các hệ thống tệp liên quan cũng có một nhược điểm chung: chúng đều được tạo ra để hoạt động cụ thể với đĩa ngay cả trước khi SSD ra đời.

Bộ nhớ flash là động cơ của sự tiến bộ

Ổ đĩa thể rắn đang dần thay thế ổ đĩa, nhưng hiện tại, chúng buộc phải sử dụng các hệ thống tệp xa lạ với chúng, do kế thừa truyền lại. Chúng được xây dựng trên các mảng bộ nhớ flash, nguyên tắc hoạt động của chúng khác với nguyên tắc hoạt động của các thiết bị đĩa. Đặc biệt, bộ nhớ flash phải được xóa trước khi được ghi, một thao tác mà chip NAND không thể thực hiện ở cấp độ tế bào riêng lẻ. Nó chỉ có thể hoàn toàn cho các khối lớn.

Hạn chế này là do trong bộ nhớ NAND, tất cả các ô được kết hợp thành các khối, mỗi khối chỉ có một kết nối chung với bus điều khiển. Chúng tôi sẽ không đi sâu vào chi tiết về cách tổ chức trang và mô tả hệ thống phân cấp đầy đủ. Nguyên tắc hoạt động nhóm với các ô và thực tế là kích thước của các khối bộ nhớ flash thường lớn hơn các khối được xử lý trong bất kỳ hệ thống tệp nào là rất quan trọng. Do đó, tất cả các địa chỉ và lệnh cho các ổ đĩa có flash NAND phải được dịch qua lớp trừu tượng FTL (Flash Translation Layer).

Khả năng tương thích với logic của thiết bị đĩa và hỗ trợ các lệnh của giao diện gốc của chúng được cung cấp bởi bộ điều khiển bộ nhớ flash. Thông thường, FTL được triển khai trong chương trình cơ sở của họ, nhưng có thể (một phần) được triển khai trên máy chủ - ví dụ: Plextor ghi trình điều khiển cho ổ SSD của nó để tăng tốc độ ghi.

Không thể thực hiện được nếu không có FTL, vì ngay cả việc ghi một bit vào một ô cụ thể cũng sẽ kích hoạt toàn bộ chuỗi hoạt động: bộ điều khiển tìm khối chứa ô mong muốn; khối được đọc hoàn toàn, được ghi vào bộ đệm hoặc vào nơi miễn phí, sau đó nó sẽ bị xóa hoàn toàn, sau đó nó được viết lại với những thay đổi cần thiết.

Cách tiếp cận này gợi nhớ đến cuộc sống hàng ngày của quân đội: để ra lệnh cho một người lính, trung sĩ phải xây dựng chung, gọi anh chàng tội nghiệp ra khỏi đội hình và ra lệnh cho những người khác giải tán. Trong bộ nhớ NOR hiếm hoi hiện nay, tổ chức này là các lực lượng đặc biệt: mỗi ô được điều khiển độc lập (mỗi bóng bán dẫn có một tiếp điểm riêng).

Nhiệm vụ của bộ điều khiển ngày càng tăng, vì với mỗi thế hệ bộ nhớ flash, quy trình kỹ thuật sản xuất nó giảm dần nhằm tăng mật độ và giảm chi phí lưu trữ dữ liệu. Cùng với các tiêu chuẩn công nghệ, tuổi thọ ước tính của chip cũng ngày càng giảm.

Các mô-đun có ô SLC cấp đơn có tài nguyên được khai báo là 100 nghìn chu kỳ viết lại và thậm chí nhiều hơn. Nhiều trong số chúng vẫn hoạt động trong ổ đĩa flash và thẻ CF cũ. Đối với MLC cấp doanh nghiệp (eMLC), tài nguyên được khai báo trong khoảng từ 10 đến 20 nghìn, trong khi đối với MLC cấp người tiêu dùng thông thường, ước tính khoảng 3-5 nghìn. Bộ nhớ loại này đang bị siết chặt bởi TLC thậm chí còn rẻ hơn, nguồn tài nguyên của nó chỉ đạt tới một nghìn chu kỳ. Việc duy trì tuổi thọ của bộ nhớ flash ở mức có thể chấp nhận được đòi hỏi các thủ thuật phần mềm và các hệ thống tệp mới đang trở thành một trong số đó.

Ban đầu, các nhà sản xuất cho rằng hệ thống tập tin không quan trọng. Bản thân bộ điều khiển phải phục vụ một loạt các ô nhớ thuộc bất kỳ loại nào có thời gian tồn tại ngắn, phân phối tải giữa chúng một cách tối ưu. Đối với trình điều khiển hệ thống tệp, nó mô phỏng một đĩa thông thường và tự thực hiện các tối ưu hóa ở mức độ thấp đối với mọi quyền truy cập. Tuy nhiên, trên thực tế, việc tối ưu hóa khác nhau tùy theo từng thiết bị, từ ma thuật đến không có thật.

Trong SSD doanh nghiệp, bộ điều khiển tích hợp là một máy tính nhỏ. Nó có bộ nhớ đệm khổng lồ (nửa gigabyte trở lên) và hỗ trợ nhiều kỹ thuật hiệu quả dữ liệu để tránh các chu kỳ ghi lại không cần thiết. Con chip sắp xếp tất cả các khối trong bộ nhớ đệm, thực hiện ghi lười, thực hiện chống trùng lặp nhanh chóng, dự trữ một số khối và xóa các khối khác ở chế độ nền. Tất cả điều kỳ diệu này xảy ra hoàn toàn không được hệ điều hành, chương trình và người dùng chú ý. Với một ổ SSD như thế này, việc sử dụng hệ thống tập tin nào thực sự không quan trọng. Tối ưu hóa nội bộ có tác động lớn hơn nhiều đến năng suất và nguồn lực so với những nguồn lực bên ngoài.

SSD giá rẻ (và thậm chí nhiều hơn nữa là ổ flash) có giá thấp hơn nhiều bộ điều khiển thông minh. Bộ đệm trong chúng bị hạn chế hoặc không có và các công nghệ máy chủ tiên tiến hoàn toàn không được sử dụng. Bộ điều khiển trong thẻ nhớ thô sơ đến mức người ta thường cho rằng chúng hoàn toàn không tồn tại. Do đó, đối với các thiết bị giá rẻ có bộ nhớ flash, các phương pháp cân bằng tải bên ngoài vẫn phù hợp - chủ yếu sử dụng các hệ thống tệp chuyên dụng.

Từ JFFS đến F2FS

Một trong những nỗ lực đầu tiên nhằm viết một hệ thống tệp có tính đến các nguyên tắc tổ chức bộ nhớ flash là JFFS - Hệ thống tệp Flash ghi nhật ký. Ban đầu, sự phát triển này của công ty Axis Communications của Thụy Điển nhằm mục đích tăng hiệu suất bộ nhớ của các thiết bị mạng mà Axis sản xuất vào những năm 1990. Phiên bản đầu tiên của JFFS chỉ hỗ trợ bộ nhớ NOR, nhưng ở phiên bản thứ hai, nó đã trở thành bạn của NAND.

Hiện tại JFFS2 được sử dụng hạn chế. Về cơ bản nó vẫn được sử dụng trong Bản phân phối Linux cho các hệ thống nhúng. Nó có thể được tìm thấy trong bộ định tuyến, camera IP, NAS và các thiết bị thông thường khác của Internet of Things. Nói chung, bất cứ nơi nào cần một lượng nhỏ bộ nhớ đáng tin cậy.

Một nỗ lực nữa để phát triển JFFS2 là LogFS, lưu trữ các nút trong một tệp riêng biệt. Tác giả của ý tưởng này là Jorn Engel, nhân viên chi nhánh IBM ở Đức và Robert Mertens, giáo viên tại Đại học Osnabrück. Nguồn LogFS có sẵn trên GitHub. Đánh giá bằng thực tế rằng thay đổi cuối cùng nó đã được tạo ra cách đây bốn năm, LogFS chưa bao giờ trở nên phổ biến.

Nhưng những nỗ lực này đã thúc đẩy sự xuất hiện của một hệ thống tệp chuyên dụng khác - F2FS. Nó được phát triển bởi Tập đoàn Samsung, chiếm một phần đáng kể trong bộ nhớ flash được sản xuất trên thế giới. Samsung sản xuất chip Flash NAND cho các thiết bị của riêng họ và theo yêu cầu từ các công ty khác, đồng thời phát triển ổ SSD với giao diện cơ bản mới thay vì giao diện đĩa cũ. Theo quan điểm của Samsung, việc tạo ra một hệ thống tệp chuyên dụng được tối ưu hóa cho bộ nhớ flash là một điều cần thiết đã quá hạn từ lâu.

Bốn năm trước, vào năm 2012, Samsung đã tạo ra F2FS (Hệ thống tệp thân thiện với Flash). Ý tưởng của cô ấy rất hay nhưng việc thực hiện lại còn thô thiển. Nhiệm vụ chính khi tạo F2FS rất đơn giản: giảm số lượng thao tác ghi lại ô và phân phối tải trên chúng một cách đồng đều nhất có thể. Điều này yêu cầu thực hiện các thao tác trên nhiều ô trong cùng một khối cùng một lúc, thay vì bắt buộc thực hiện từng ô một. Điều này có nghĩa là điều cần thiết không phải là viết lại ngay lập tức các khối hiện có theo yêu cầu đầu tiên của HĐH, mà là lưu các lệnh và dữ liệu vào bộ nhớ đệm, thêm các khối mới vào không gian trống và trì hoãn việc xóa các ô.

Ngày nay, hỗ trợ F2FS đã được triển khai chính thức trong Linux (và do đó là cả Android), nhưng trên thực tế, nó chưa mang lại bất kỳ lợi thế đặc biệt nào. Tính năng chính của hệ thống tập tin này (viết lại lười biếng) đã dẫn đến những kết luận sớm về tính hiệu quả của nó. Thủ thuật bộ nhớ đệm cũ thậm chí còn đánh lừa các phiên bản đầu tiên của điểm chuẩn, trong đó F2FS thể hiện lợi thế tưởng tượng không chỉ bằng một vài phần trăm (như mong đợi) hoặc thậm chí vài lần, mà theo cấp độ lớn. Trình điều khiển F2FS chỉ báo cáo việc hoàn thành một thao tác mà bộ điều khiển vừa định thực hiện. Tuy nhiên, nếu mức tăng hiệu suất thực sự của F2FS là nhỏ thì độ hao mòn trên các tế bào chắc chắn sẽ ít hơn so với khi sử dụng cùng một ext4. Những tối ưu hóa mà bộ điều khiển giá rẻ không thể thực hiện sẽ được thực hiện ở cấp độ của chính hệ thống tệp.

Mức độ và bitmap

Hiện tại, F2FS được coi là xa lạ đối với những người đam mê công nghệ. Thậm chí ở sở hữu điện thoại thông minh Samsung vẫn sử dụng ext4. Nhiều người coi cô phát triển hơn nữa ext3, nhưng điều này không hoàn toàn đúng. Đó là về về cuộc cách mạng hơn là về việc phá vỡ rào cản 2 TB cho mỗi tệp và chỉ đơn giản là tăng các chỉ số định lượng khác.

Khi máy tính lớn và tệp nhỏ, việc đánh địa chỉ không phải là vấn đề. Mỗi tệp được phân bổ một số khối nhất định, địa chỉ của chúng được nhập vào bảng tương ứng. Đây là cách hệ thống tệp ext3 hoạt động, hệ thống này vẫn được sử dụng cho đến ngày nay. Nhưng trong ext4, một phương pháp đánh địa chỉ khác về cơ bản đã xuất hiện - mức độ.

Mức độ có thể được coi là phần mở rộng của các nút như các tập hợp khối riêng biệt được xử lý hoàn toàn dưới dạng các chuỗi liền kề. Một phạm vi có thể chứa toàn bộ tập tin kích thước trung bình và đối với các tệp lớn, chỉ cần phân bổ một tá hoặc hai phạm vi là đủ. Điều này hiệu quả hơn nhiều so với việc giải quyết hàng trăm nghìn khối nhỏ 4 kilobyte.

Bản thân cơ chế ghi cũng đã thay đổi trong ext4. Bây giờ các khối được phân phối ngay lập tức trong một yêu cầu. Và không phải trước mà ngay trước khi ghi dữ liệu vào đĩa. Phân bổ nhiều khối lười biếng cho phép bạn loại bỏ các hoạt động không cần thiết mà ext3 đã mắc phải: trong đó, các khối cho tệp mới được phân bổ ngay lập tức, ngay cả khi nó hoàn toàn nằm gọn trong bộ nhớ đệm và đã được lên kế hoạch xóa tạm thời.


Chế độ ăn hạn chế chất béo

Ngoài các cây cân bằng và các sửa đổi của chúng, còn có các cây phổ biến khác cấu trúc logic. Có những hệ thống tệp có kiểu tổ chức khác về cơ bản - ví dụ: tuyến tính. Bạn có thể sử dụng ít nhất một trong số chúng thường xuyên.

Bí ẩn

Đoán câu đố: ở tuổi mười hai, cô bắt đầu tăng cân, đến mười sáu tuổi, cô trở thành một kẻ béo ngu ngốc, và đến năm ba mươi hai, cô trở nên béo và vẫn là một kẻ ngốc nghếch. Cô ấy là ai?

Đúng rồi, đây là câu chuyện về hệ thống file FAT. Yêu cầu về khả năng tương thích đã khiến cô có di truyền xấu. Trên đĩa mềm nó là 12-bit, trên ổ cứng- lúc đầu là 16-bit, nhưng ngày nay nó là 32-bit. Trong mỗi phiên bản tiếp theo số lượng khối có thể đánh địa chỉ tăng lên, nhưng về bản chất không có gì thay đổi.

Hệ thống tệp FAT32 vẫn phổ biến đã xuất hiện cách đây hai mươi năm. Ngày nay, nó vẫn còn sơ khai và không hỗ trợ danh sách kiểm soát truy cập, hạn ngạch đĩa, nén nền hoặc các danh sách khác công nghệ hiện đại tối ưu hóa xử lý dữ liệu.

Tại sao FAT32 lại cần thiết ngày nay? Mọi thứ vẫn chỉ nhằm đảm bảo tính tương thích. Các nhà sản xuất tin tưởng đúng đắn rằng bất kỳ hệ điều hành nào cũng có thể đọc được phân vùng FAT32. Đó là lý do tại sao họ tạo ra nó trên cứng bên ngoàiđĩa, USB Flash và thẻ nhớ.

Cách giải phóng bộ nhớ flash của điện thoại thông minh của bạn

Theo mặc định, thẻ nhớ microSD(HC) được sử dụng trong điện thoại thông minh được định dạng ở FAT32. Đây là trở ngại chính cho việc cài đặt ứng dụng trên chúng và truyền dữ liệu từ bộ nhớ trong. Để khắc phục, bạn cần tạo phân vùng trên thẻ bằng ext3 hoặc ext4. Bạn có thể chuyển mọi thứ vào nó thuộc tính tập tin(bao gồm quyền sở hữu và quyền truy cập), vì vậy mọi ứng dụng đều có thể chạy như thể nó được khởi chạy từ bộ nhớ trong.

Windows không biết cách tạo nhiều phân vùng trên ổ đĩa flash, nhưng để làm được điều này, bạn có thể chạy Linux (ít nhất là trong máy ảo) hoặc một tiện ích nâng cao để làm việc với phân vùng logic - ví dụ: MiniTool Disk Wizard Free. Sau khi phát hiện ra một phân vùng chính bổ sung có ext3/ext4 trên thẻ, ứng dụng Link2SD và các ứng dụng tương tự sẽ cung cấp nhiều tùy chọn hơn so với trường hợp chỉ có một phân vùng FAT32.


Một lập luận khác ủng hộ việc chọn FAT32 thường được trích dẫn là nó không ghi nhật ký, nghĩa là thao tác ghi nhanh hơn và ít hao mòn hơn trên các ô nhớ NAND Flash. Trong thực tế, việc sử dụng FAT32 lại dẫn đến điều ngược lại và phát sinh nhiều vấn đề khác.

Ổ đĩa flash và thẻ nhớ nhanh chóng chết do bất kỳ thay đổi nào trong FAT32 đều gây ra tình trạng ghi đè lên cùng một khu vực nơi đặt hai chuỗi bảng tệp. Tôi đã lưu toàn bộ trang web và nó đã bị ghi đè hàng trăm lần - với mỗi lần thêm một ảnh GIF nhỏ khác vào ổ đĩa flash. Bạn đã tung ra phần mềm di động chưa? Nó tạo các tập tin tạm thời và liên tục thay đổi chúng trong khi chạy. Vì vậy, sẽ tốt hơn nhiều nếu sử dụng NTFS trên ổ đĩa flash có bảng $MFT chống lỗi. Các tệp nhỏ có thể được lưu trữ trực tiếp trong bảng tệp chính và các phần mở rộng và bản sao của nó được ghi vào Những khu vực khác nhau bộ nhớ flash. Ngoài ra, việc lập chỉ mục NTFS giúp tìm kiếm nhanh hơn.

THÔNG TIN

Đối với FAT32 và NTFS, các hạn chế về mặt lý thuyết về mức độ lồng nhau không được chỉ định, nhưng trên thực tế, chúng giống nhau: chỉ có thể tạo 7707 thư mục con trong thư mục cấp một. Những ai thích chơi búp bê matryoshka sẽ đánh giá cao nó.

Một vấn đề khác mà hầu hết người dùng gặp phải là không thể ghi một tệp lớn hơn 4 GB vào phân vùng FAT32. Lý do là trong FAT32, kích thước tệp được mô tả bằng 32 bit trong bảng phân bổ tệp và 2^32 (chính xác là trừ một) chính xác là bốn hợp đồng biểu diễn. Hóa ra là cả phim có chất lượng bình thường cũng như hình ảnh DVD đều không thể được ghi vào ổ flash mới mua.

Sao chép các tệp lớn không quá tệ: khi bạn cố gắng thực hiện việc này, ít nhất lỗi sẽ hiển thị ngay lập tức. Trong các tình huống khác, FAT32 hoạt động như một quả bom hẹn giờ. Ví dụ: bạn đã sao chép phần mềm di động vào ổ đĩa flash và lúc đầu bạn sử dụng nó mà không gặp vấn đề gì. Sau một thời gian dài, một trong các chương trình (ví dụ: kế toán hoặc email), cơ sở dữ liệu trở nên cồng kềnh và... nó sẽ ngừng cập nhật. Không thể ghi đè tệp vì nó đã đạt đến giới hạn 4 GB.

Một vấn đề ít rõ ràng hơn là trong FAT32, ngày tạo tệp hoặc thư mục có thể được chỉ định trong vòng hai giây. Điều này là không đủ đối với nhiều ứng dụng mật mã sử dụng dấu thời gian. Độ chính xác thấp của thuộc tính ngày là một lý do khác khiến FAT32 không được coi là hệ thống tệp hợp lệ từ góc độ bảo mật. Tuy nhiên, cô ấy mặt yếu có thể được sử dụng cho mục đích riêng của bạn. Ví dụ: nếu bạn sao chép bất kỳ tệp nào từ phân vùng NTFS sang ổ đĩa FAT32, chúng sẽ bị xóa tất cả siêu dữ liệu cũng như các quyền được kế thừa và được đặt đặc biệt. FAT đơn giản là không hỗ trợ chúng.

exFAT

Không giống như FAT12/16/32, exFAT được phát triển riêng cho USB Flash và thẻ nhớ lớn ( ≥ 32 GB). FAT mở rộng loại bỏ nhược điểm nêu trên của FAT32 - ghi đè bất kỳ thay đổi nào lên các khu vực tương tự. Giống như hệ thống 64-bit, nó hầu như không có giới hạn đáng kể mỗi kích thước tập tin. Về mặt lý thuyết, nó có thể dài 2^64 byte (16 EB) và các thẻ có kích thước này sẽ không sớm xuất hiện.

Một điều quan trọng khác chênh lệch exFAT- hỗ trợ cho danh sách kiểm soát truy cập (ACL). Đây không còn là kiểu đơn giản như những năm 1990 nữa, nhưng bản chất khép kín của định dạng này đã cản trở việc triển khai exFAT. Hỗ trợ ExFAT chỉ được triển khai đầy đủ và hợp pháp trong Windows (bắt đầu từ XP SP2) và OS X (bắt đầu từ 10.6.5). Trên Linux và *BSD, nó được hỗ trợ với những hạn chế hoặc không hoàn toàn hợp pháp. Microsoft yêu cầu cấp phép sử dụng exFAT và có rất nhiều tranh cãi pháp lý trong lĩnh vực này.

Btrfs

Khác đại diện sáng giá Hệ thống tập tin dựa trên cây B được gọi là Btrfs. FS này xuất hiện vào năm 2007 và ban đầu được tạo ra ở Oracle nhằm mục đích hoạt động với SSD và RAID. Ví dụ: nó có thể được chia tỷ lệ linh hoạt: tạo các nút mới trực tiếp trên hệ thống đang chạy hoặc chia một ổ đĩa thành các ổ đĩa con mà không phân bổ không gian trống cho chúng.

Cơ chế sao chép khi ghi được triển khai trong Btrfs và tích hợp hoàn toàn với mô-đun hạt nhân của trình ánh xạ thiết bị cho phép bạn chụp ảnh nhanh gần như tức thời thông qua các thiết bị khối ảo. Nén trước (zlib hoặc lzo) và chống trùng lặp giúp tăng tốc các hoạt động cơ bản đồng thời kéo dài tuổi thọ của bộ nhớ flash. Điều này đặc biệt đáng chú ý khi làm việc với cơ sở dữ liệu (đạt được mức nén 2-4 lần) và các tệp nhỏ (chúng được viết thành các khối lớn có trật tự và có thể được lưu trữ trực tiếp trong “lá”).

Btrfs cũng hỗ trợ chế độ ghi nhật ký đầy đủ (dữ liệu và siêu dữ liệu), kiểm tra âm lượng mà không cần ngắt kết nối và nhiều tính năng hiện đại khác. Mã Btrfs được xuất bản dưới Giấy phép GPL. Hệ thống tệp này đã được hỗ trợ ổn định trong Linux kể từ phiên bản kernel 4.3.1.

Nhật ký

Hầu như tất cả các hệ thống tệp hiện đại ít nhiều (ext3/ext4, NTFS, HFSX, Btrfs và các hệ thống khác) đều thuộc nhóm chung gồm các hệ thống được ghi nhật ký, vì chúng lưu giữ hồ sơ về những thay đổi được thực hiện trong một nhật ký riêng (tạp chí) và được kiểm tra dựa trên nhật ký đó trong trường hợp xảy ra lỗi trong quá trình hoạt động của đĩa. Tuy nhiên, mức độ chi tiết ghi nhật ký và khả năng chịu lỗi của các hệ thống tệp này là khác nhau.

Ext3 hỗ trợ ba chế độ ghi: ghi nhật ký vòng kín, ghi theo thứ tự và ghi đầy đủ. Chế độ đầu tiên chỉ liên quan đến việc ghi những thay đổi chung(siêu dữ liệu) được thực hiện không đồng bộ đối với các thay đổi trong chính dữ liệu đó. Ở chế độ thứ hai, việc ghi siêu dữ liệu tương tự được thực hiện nhưng nghiêm ngặt trước khi thực hiện bất kỳ thay đổi nào. Chế độ thứ ba tương đương với ghi nhật ký đầy đủ (các thay đổi cả về siêu dữ liệu và chính các tệp).

Chỉ có tùy chọn cuối cùng đảm bảo tính toàn vẹn dữ liệu. Hai cái còn lại chỉ tăng tốc độ phát hiện lỗi trong quá trình quét và đảm bảo khôi phục tính toàn vẹn của chính hệ thống tệp chứ không phải nội dung của tệp.

Ghi nhật ký ở NTFS tương tự như chế độ ghi nhật ký thứ hai trong ext3. Chỉ những thay đổi về siêu dữ liệu mới được ghi lại trong nhật ký và bản thân dữ liệu có thể bị mất trong trường hợp xảy ra lỗi. Phương pháp ghi nhật ký này trong NTFS không nhằm mục đích đạt được độ tin cậy tối đa mà chỉ là sự thỏa hiệp giữa hiệu suất và khả năng chịu lỗi. Đây là lý do tại sao những người đã quen làm việc với các hệ thống được ghi nhật ký đầy đủ lại cân nhắc việc ghi nhật ký giả NTFS.

Cách tiếp cận được triển khai trong NTFS về mặt nào đó thậm chí còn tốt hơn so với mặc định trong ext3. Ngoài ra, NTFS còn tạo các điểm kiểm tra định kỳ để đảm bảo rằng tất cả các hoạt động đĩa bị trì hoãn trước đó đều được hoàn thành. Điểm kiểm tra không liên quan gì đến điểm khôi phục trong \System Volume Information\ . Đây chỉ là các mục nhật ký dịch vụ.

Thực tiễn cho thấy rằng việc ghi nhật ký một phần NTFS như vậy trong hầu hết các trường hợp là đủ để hoạt động mà không gặp sự cố. Rốt cuộc, ngay cả khi mất điện đột ngột thiết bị đĩa không bị mất điện ngay lập tức. Bản thân nguồn điện và vô số tụ điện trong ổ đĩa chỉ cung cấp lượng năng lượng tối thiểu đủ để hoàn thành thao tác ghi hiện tại. SSD hiện đại với tốc độ và hiệu quả của chúng, cùng một lượng năng lượng thường đủ để thực hiện các hoạt động đang chờ xử lý. Nỗ lực chuyển sang ghi nhật ký đầy đủ sẽ làm giảm đáng kể tốc độ của hầu hết các hoạt động.

Kết nối các tệp của bên thứ ba trong Windows

Việc sử dụng hệ thống tệp bị hạn chế bởi sự hỗ trợ của chúng ở cấp hệ điều hành. Ví dụ: Windows không hiểu ext2/3/4 và HFS+, nhưng đôi khi cần phải sử dụng chúng. Điều này có thể được thực hiện bằng cách thêm trình điều khiển thích hợp.

CẢNH BÁO

Hầu hết các trình điều khiển và plugin hỗ trợ hệ thống tệp của bên thứ ba đều có những hạn chế và không phải lúc nào cũng hoạt động ổn định. Chúng có thể xung đột với các trình điều khiển, phần mềm chống vi-rút và chương trình ảo hóa khác.

Trình điều khiển mở để đọc và ghi phân vùng ext2/3 với sự hỗ trợ một phần cho ext4. Phiên bản mới nhất hỗ trợ phạm vi và phân vùng lên tới 16 TB. LVM, danh sách kiểm soát truy cập và thuộc tính mở rộng không được hỗ trợ.


Có một plugin miễn phí cho Total Commander. Hỗ trợ đọc phân vùng ext2/3/4.


coLinux là một cổng mở và miễn phí Nhân Linux. Cùng với trình điều khiển 32 bit, nó cho phép bạn chạy Linux trên Windows từ 2000 đến 7 mà không cần sử dụng công nghệ ảo hóa. Chỉ hỗ trợ phiên bản 32-bit. Việc phát triển sửa đổi 64-bit đã bị hủy bỏ. CoLinux cũng cho phép bạn tổ chức quyền truy cập vào các phân vùng ext2/3/4 từ Windows. Hỗ trợ cho dự án đã bị đình chỉ vào năm 2014.

Windows 10 có thể đã tích hợp sẵn tính năng hỗ trợ cho các hệ thống tệp dành riêng cho Linux, nhưng tính năng này chỉ bị ẩn. Những suy nghĩ này được đề xuất bởi trình điều khiển cấp hạt nhân Lxcore.sys và dịch vụ LxssManager, được tải dưới dạng thư viện theo quy trình Svchost.exe. Để biết thêm thông tin về vấn đề này, hãy xem báo cáo của Alex Ionescu “Hạt nhân Linux ẩn bên trong Windows 10” mà ông đã trình bày tại Black Hat 2016.


ExtFS cho Windows là trình điều khiển trả phí do Paragon sản xuất. Nó chạy trên Windows 7 đến 10 và hỗ trợ quyền truy cập đọc/ghi vào các ổ đĩa ext2/3/4. Cung cấp hỗ trợ gần như đầy đủ cho ext4 trên Windows.

HFS+ dành cho Windows 10 là một trình điều khiển độc quyền khác do Paragon Software sản xuất. Mặc dù tên như vậy nhưng nó hoạt động trong tất cả các phiên bản Windows bắt đầu từ XP. Cung cấp quyền truy cập đầy đủ vào hệ thống tệp HFS+/HFSX trên các đĩa có bất kỳ bố cục nào (MBR/GPT).

WinBtrfs là sự phát triển ban đầu của trình điều khiển Btrfs cho Windows. Đã có trong phiên bản 0.6, nó hỗ trợ cả quyền truy cập đọc và ghi vào các ổ Btrfs. Nó có thể xử lý các liên kết cứng và tượng trưng, ​​​​hỗ trợ các luồng dữ liệu thay thế, ACL, hai loại nén và chế độ đọc/ghi không đồng bộ. Trong khi WinBtrfs không biết cách sử dụng mkfs.btrfs, btrfs-balance và các tiện ích khác để duy trì hệ thống tệp này.

Khả năng và hạn chế của hệ thống tập tin: bảng tóm tắt

Hệ thống tập tin Kích thước âm lượng tối đa Giới hạn kích thước của một tập tin Độ dài của tên tập tin thích hợp Độ dài của tên file đầy đủ (bao gồm cả đường dẫn từ thư mục gốc) Giới hạn số lượng tập tin và/hoặc thư mục Độ chính xác của chỉ thị ngày của tập tin/thư mục Quyền dos-tu-pa Liên kết cứng Liên kết tượng trưng Ảnh chụp nhanh Nén dữ liệu ở chế độ nền Mã hóa dữ liệu ở chế độ nền Ông nội-ple-ka-tion của dữ liệu
FAT16 2 GB ở các cung 512 byte hoặc 4 GB ở các cụm 64 KB 2 GB 255 byte với LFN
FAT32 8 TB, mỗi 2 KB 4 GB (2^32 - 1 byte) 255 byte với LFN tối đa 32 thư mục con với CDS 65460 10 ms (tạo) / 2 giây (sửa đổi) KHÔNG KHÔNG KHÔNG KHÔNG KHÔNG KHÔNG KHÔNG
exFAT ≈ 128 PB (2^32-1 cụm 2^25-1 byte) theo lý thuyết / 512 TB do các hạn chế của bên thứ ba 16 EB (2^64 - 1 byte) 2796202 trong danh mục 10 mili giây ACL KHÔNG KHÔNG KHÔNG KHÔNG KHÔNG KHÔNG
NTFS 256 TB trong cụm 64 KB hoặc 16 TB trong cụm 4 KB 16 TB (Win 7) / 256 TB (Win 8) 255 ký tự Unicode (UTF-16) 32.760 ký tự Unicode, tối đa 255 ký tự cho mỗi phần tử 2^32-1 100 ns ACL Đúng Đúng Đúng Đúng Đúng Đúng
HFS+ 8 EB (2^63 byte) 8 EB 255 ký tự Unicode (UTF-16) không bị giới hạn riêng biệt 2^32-1 1 giây Unix, ACL Đúng Đúng KHÔNG Đúng Đúng KHÔNG
APFS 8 EB (2^63 byte) 8 EB 255 ký tự Unicode (UTF-16) không bị giới hạn riêng biệt 2^63 1 giây Unix, ACL Đúng Đúng Đúng Đúng Đúng Đúng
Ext3 32 TB (về mặt lý thuyết) / 16 TB trong cụm 4 KB (do hạn chế của chương trình e2fs) 2 TB (về mặt lý thuyết) / 16 GB cho các chương trình cũ hơn 255 ký tự Unicode (UTF-16) không bị giới hạn riêng biệt 1 giây Unix, ACL Đúng Đúng KHÔNG KHÔNG KHÔNG KHÔNG
Ext4 1 EB (về mặt lý thuyết) / 16 TB trong cụm 4 KB (do hạn chế của chương trình e2fs) 16 TB 255 ký tự Unicode (UTF-16) không bị giới hạn riêng biệt 4 tỷ 1 giây POSIX Đúng Đúng KHÔNG KHÔNG Đúng KHÔNG
F2FS 16 TB 3,94 TB 255 byte không bị giới hạn riêng biệt 1 giây POSIX, ACL Đúng Đúng KHÔNG KHÔNG Đúng KHÔNG
BTRFS 16 EB (2^64 - 1 byte) 16 EB 255 ký tự ASCII 2^17 byte 1 giây POSIX, ACL Đúng Đúng Đúng Đúng Đúng Đúng

Hệ thống tập tin EXT3

Không giống như EXT2, EXT3ghi chép hệ thống tập tin, tức là sẽ không rơi vào trạng thái không nhất quán sau những thất bại. Nhưng nó hoàn toàn tương thích với EXT2.

Được phát triển bởi Red Hat

Hiện tại là phiên bản chính cho LINUX.

Trình điều khiển Ext3 giữ các bản sao chính xác hoàn chỉnh của các khối đang được sửa đổi (1KB, 2KB hoặc 4KB) trong bộ nhớ cho đến khi thao tác hoàn tất. Điều này có vẻ lãng phí. Các khối hoàn chỉnh không chỉ chứa dữ liệu đã thay đổi mà còn chứa cả dữ liệu chưa sửa đổi.

Cách tiếp cận này được gọi là " ghi nhật ký vật lý", phản ánh việc sử dụng "khối vật lý" làm đơn vị ghi nhật ký cơ bản. Phương pháp chỉ lưu trữ các byte có thể thay đổi thay vì toàn bộ khối được gọi là " ghi nhật ký hợp lý" (XFS được sử dụng). Bởi vì ext3 sử dụng "ghi nhật ký vật lý", nhật ký trong ext3 lớn hơn trong XFS. Do sử dụng các khối đầy đủ trong ext3, cả trình điều khiển và hệ thống con ghi nhật ký đều tránh được sự phức tạp phát sinh với "logic ghi nhật ký".

Các loại ghi nhật ký được Ext3 hỗ trợ, có thể được bật từ tệp /etc/fstab:

dữ liệu=tạp chí(chế độ ghi nhật ký dữ liệu đầy đủ) - tất cả dữ liệu mới trước tiên được ghi vào nhật ký và chỉ sau đó mới được chuyển đến vị trí cố định của nó. Trong trường hợp xảy ra sự cố, nhật ký có thể được đọc lại, đưa dữ liệu và siêu dữ liệu trở lại trạng thái nhất quán.
Chậm nhất nhưng đáng tin cậy nhất.

dữ liệu=đã đặt hàng- chỉ những thay đổi đối với siêu dữ liệu của hệ thống tệp được ghi lại, nhưng về mặt logic, các khối siêu dữ liệu và dữ liệu được nhóm thành một mô-đun duy nhất gọi là giao dịch. Trước khi ghi siêu dữ liệu mới vào đĩa, dữ liệu liên quan khối được viết đầu tiên. Chế độ ghi nhật ký ext3 này được cài đặt theo mặc định.
Khi thêm dữ liệu vào cuối tệp, chế độ data=ordered được đảm bảo đảm bảo tính toàn vẹn (như với chế độ ghi nhật ký dữ liệu đầy đủ). Tuy nhiên, nếu dữ liệu được ghi vào một tệp trên các tệp hiện có thì có khả năng trộn lẫn các khối “gốc” với các khối đã sửa đổi. Đây là kết quả của việc data=ordered không theo dõi các bản ghi trong đó khối mới nằm trên cái hiện có và không gây ra sự sửa đổi siêu dữ liệu.

dữ liệu=ghi lại(chỉ siêu dữ liệu) - chỉ những thay đổi đối với siêu dữ liệu hệ thống tệp mới được ghi lại. Phương pháp ghi nhật ký nhanh nhất. Đây là loại ghi nhật ký mà bạn thấy với các hệ thống tệp XFS, JFS và ReiserFS.

3.3.3 Hệ thống tập tin XFS

XFS là một hệ thống tệp nhật ký được phát triển bởi Silicon Graphics, nhưng hiện được phát hành dưới dạng nguồn mở.

Thông tin chính thức tại http://oss.sgi.com/projects/xfs/

XFS được tạo ra vào đầu những năm 90 (1992-1993) bởi Silicon Grapgics (nay là SGI) dành cho các máy tính đa phương tiện chạy Irix OS. Hệ thống tệp nhắm đến các tệp và hệ thống tệp rất lớn. Một tính năng của hệ thống tệp này là thiết bị nhật ký - một phần siêu dữ liệu của chính hệ thống tệp được ghi vào nhật ký theo cách mà toàn bộ quá trình khôi phục được rút gọn thành việc sao chép dữ liệu này từ nhật ký sang hệ thống tệp. Kích thước nhật ký được đặt khi tạo hệ thống, tối thiểu phải là 32 megabyte; và bạn không cần nhiều hơn - thật khó để có được số lượng giao dịch không được tiết lộ như vậy.

Một số tính năng:

o Hoạt động hiệu quả hơn với các tệp lớn.

o Có khả năng di chuyển nhật ký sang đĩa khác để cải thiện hiệu suất.

o Chỉ lưu dữ liệu bộ đệm khi bộ nhớ đầy chứ không lưu định kỳ như các dữ liệu khác.

o Chỉ dữ liệu meta được ghi lại.

o Cây B+ được sử dụng.

o Ghi nhật ký logic được sử dụng

3.3.4 Hệ thống tập tin RFS

RFS (RaiserFS)- hệ thống tập tin nhật ký được phát triển bởi Namesys.

Thông tin chính thức về RaiserFS

Một số tính năng:

o Hoạt động hiệu quả hơn với một lượng lớn các tập tin nhỏ, về hiệu suất và sử dụng hiệu quả không gian đĩa.

o Sử dụng cây cân bằng b* được tối ưu hóa đặc biệt (phiên bản cải tiến của cây B+)

o Phân bổ động các nút i thay vì một tập hợp tĩnh được tạo khi tạo hệ thống tệp "truyền thống".

o Kích thước khối động.

3.3.4 Hệ thống tập tin JFS

JFS (Hệ thống tệp được ghi nhật ký) - Một hệ thống tệp nhật ký được IBM phát triển cho hệ điều hành AIX, nhưng hiện được phát hành dưới dạng nguồn mở.

Thông tin chính thức về Công nghệ hệ thống tệp nhật ký cho Linux

Một số tính năng:

o Nhật ký JFS tuân theo mô hình giao dịch cơ sở dữ liệu cổ điển

o Chỉ dữ liệu meta được ghi lại

o Kích thước nhật ký không quá 32 megabyte.

o Chế độ ghi nhật ký không đồng bộ - được thực hiện khi lưu lượng I/O giảm

o Ghi nhật ký logic được sử dụng.

3.4 Bảng so sánh một số hệ thống tập tin hiện đại

NTFS EXT4 RFS XFS JFS
Lưu trữ thông tin tập tin MFT inode inode inode inode
Kích thước phân vùng tối đa 16 EB (2 60) 1 Ebyte 4 gigablocks (vì các khối là động) 16 byte 32 PB
Kích thước khối từ 512 byte đến 64 KB 1 KB - 4 KB Lên tới 64 KB (hiện đã cố định 4 KB) từ 512 byte đến 64 KB 512/1024/2048/4096 byte
Số khối tối đa 2^48 2^32 2^32
Kích thước tệp tối đa 2^64 16 TB (đối với khối 4 KB) 8 TB 8 Ebyte 4 PB (2 50)
Độ dài tên tệp tối đa
Ghi nhật ký Đúng Đúng Đúng Đúng Đúng
Quản lý khối miễn phí KHÔNG Dựa trên bitmap Cây B được lập chỉ mục theo độ lệch và kích thước Cây + Người bạn nhị phân
Mức độ cho không gian trống KHÔNG KHÔNG Đúng KHÔNG
Cây B cho các mục thư mục Đúng KHÔNG Là cây con của cây hệ thống tệp chính Đúng Đúng
Cây B để đánh địa chỉ các khối tệp KHÔNG Bên trong cây hệ thống tập tin chính Đúng Đúng
Mức độ đánh địa chỉ các khối của tập tin KHÔNG Có (từ phiên bản 4) Đúng Đúng
Dữ liệu bên trong inode (file nhỏ) KHÔNG Đúng Đúng KHÔNG
Dữ liệu liên kết tượng trưng trong inode KHÔNG Đúng Đúng Đúng
Các mục thư mục bên trong inode (thư mục nhỏ) KHÔNG Đúng Đúng Đúng
Phân bổ inode/MFT động Đúng KHÔNG Đúng Đúng Đúng
Cấu trúc để quản lý các nút được phân bổ động KHÔNG Cây B* tổng quát cây B+ Cây B+với các vùng inode liền kề
Hỗ trợ tập tin thưa thớt Đúng KHÔNG Đúng Đúng Đúng