Hệ thống tập tin truyền thống là gì?

Trong điện toán, hệ thống tệp hoặc hệ thống tệp [thường được viết tắt là fs] là một phương pháp và cấu trúc dữ liệu mà hệ điều hành sử dụng để kiểm soát cách lưu trữ và truy xuất dữ liệu. Nếu không có hệ thống tệp, dữ liệu được đặt trong phương tiện lưu trữ sẽ là một khối dữ liệu lớn mà không có cách nào để biết nơi một phần dữ liệu dừng lại và phần tiếp theo bắt đầu hoặc vị trí của bất kỳ phần dữ liệu nào khi đến lúc truy xuất nó. Bằng cách tách dữ liệu thành các phần và đặt tên cho từng phần, dữ liệu dễ dàng được phân tách và xác định. Lấy tên từ cách đặt tên của một hệ thống quản lý dữ liệu trên giấy, mỗi nhóm dữ liệu được gọi là một "tệp". Cấu trúc và các quy tắc logic được sử dụng để quản lý các nhóm dữ liệu và tên của chúng được gọi là "hệ thống tệp". "

Có nhiều loại hệ thống tệp, mỗi loại có cấu trúc và logic độc đáo, thuộc tính về tốc độ, tính linh hoạt, bảo mật, kích thước, v.v. Một số hệ thống tệp đã được thiết kế để sử dụng cho các ứng dụng cụ thể. Ví dụ: hệ thống tệp ISO 9660 được thiết kế dành riêng cho đĩa quang

Hệ thống tệp có thể được sử dụng trên nhiều loại thiết bị lưu trữ bằng nhiều phương tiện khác nhau. Kể từ năm 2019, ổ đĩa cứng đã là thiết bị lưu trữ chính và dự kiến ​​sẽ duy trì như vậy trong tương lai gần. Các loại phương tiện khác được sử dụng bao gồm SSD, băng từ và đĩa quang. Trong một số trường hợp, chẳng hạn như với tmpfs, bộ nhớ chính của máy tính [bộ nhớ truy cập ngẫu nhiên, RAM] được sử dụng để tạo một hệ thống tệp tạm thời để sử dụng trong thời gian ngắn

Một số hệ thống tệp được sử dụng trên thiết bị lưu trữ dữ liệu cục bộ; . Một số hệ thống tệp là "ảo", nghĩa là các "tệp" được cung cấp [được gọi là tệp ảo] được tính toán theo yêu cầu [chẳng hạn như procfs và sysfs] hoặc chỉ là ánh xạ vào một hệ thống tệp khác được sử dụng làm kho lưu trữ sao lưu. Hệ thống tệp quản lý quyền truy cập vào cả nội dung của tệp và siêu dữ liệu về các tệp đó. Nó chịu trách nhiệm sắp xếp không gian lưu trữ;

Nguồn gốc của thuật ngữ[sửa | sửa mã nguồn]

Trước khi máy tính ra đời, thuật ngữ hệ thống tệp được sử dụng để mô tả phương pháp lưu trữ và truy xuất tài liệu giấy. Đến năm 1961, thuật ngữ này được áp dụng cho việc lưu trữ trên máy vi tính cùng với nghĩa gốc. Đến năm 1964, nó được sử dụng rộng rãi

Kiến trúc[sửa]

Một hệ thống tệp bao gồm hai hoặc ba lớp. Đôi khi các lớp được tách biệt rõ ràng và đôi khi các chức năng được kết hợp

Hệ thống tệp logic chịu trách nhiệm tương tác với ứng dụng người dùng. Nó cung cấp giao diện chương trình ứng dụng [API] cho các hoạt động của tệp — OPEN, CLOSE, READ, v.v. và chuyển thao tác được yêu cầu tới lớp bên dưới nó để xử lý. Hệ thống tệp logic "quản lý [các] mục trong bảng tệp đang mở và bộ mô tả tệp theo quy trình". Lớp này cung cấp "quyền truy cập tệp, hoạt động thư mục, [và] bảo mật và bảo vệ"

Lớp tùy chọn thứ hai là hệ thống tệp ảo. "Giao diện này cho phép hỗ trợ nhiều phiên bản đồng thời của hệ thống tệp vật lý, mỗi phiên bản được gọi là triển khai hệ thống tệp"

Lớp thứ ba là hệ thống tệp vật lý. Lớp này liên quan đến hoạt động vật lý của thiết bị lưu trữ [e. g. đĩa]. Nó xử lý các khối vật lý được đọc hoặc viết. Nó xử lý bộ đệm và quản lý bộ nhớ và chịu trách nhiệm về vị trí vật lý của các khối ở các vị trí cụ thể trên phương tiện lưu trữ. Hệ thống tệp vật lý tương tác với trình điều khiển thiết bị hoặc với kênh để điều khiển thiết bị lưu trữ

Các khía cạnh của hệ thống tập tin[sửa | sửa mã nguồn]

Quản lý không gian[sửa]

Ghi chú. điều này chỉ áp dụng cho các hệ thống tệp được sử dụng trong thiết bị lưu trữ

Một ví dụ về không gian chùng, thể hiện với các cụm NTFS 4.096 byte. 100.000 tệp, mỗi năm byte cho mỗi tệp, tương đương với 500.000 byte dữ liệu thực nhưng yêu cầu 409.600.000 byte dung lượng ổ đĩa để lưu trữ

Hệ thống tệp phân bổ không gian theo cách chi tiết, thường là nhiều đơn vị vật lý trên thiết bị. Hệ thống tệp chịu trách nhiệm tổ chức các tệp và thư mục, đồng thời theo dõi xem khu vực nào của phương tiện thuộc về tệp nào và khu vực nào không được sử dụng. Ví dụ: trong Apple DOS đầu những năm 1980, các cung 256 byte trên đĩa mềm 140 kilobyte đã sử dụng bản đồ rãnh/khung. [cần dẫn nguồn]

Điều này dẫn đến không gian không được sử dụng khi một tệp không phải là bội số chính xác của đơn vị phân bổ, đôi khi được gọi là không gian chùng. Đối với phân bổ 512 byte, dung lượng chưa sử dụng trung bình là 256 byte. Đối với cụm 64 KB, dung lượng chưa sử dụng trung bình là 32 KB. Kích thước của đơn vị phân bổ được chọn khi hệ thống tệp được tạo. Việc chọn kích thước phân bổ dựa trên kích thước trung bình của các tệp dự kiến ​​sẽ có trong hệ thống tệp có thể giảm thiểu dung lượng không sử dụng được. Thông thường, phân bổ mặc định có thể cung cấp mức sử dụng hợp lý. Việc chọn kích thước phân bổ quá nhỏ sẽ dẫn đến chi phí hoạt động quá mức nếu hệ thống tệp sẽ chứa hầu hết các tệp rất lớn

Sự phân mảnh hệ thống tệp xảy ra khi không gian không được sử dụng hoặc các tệp đơn lẻ không liền kề. Khi một hệ thống tệp được sử dụng, các tệp được tạo, sửa đổi và xóa. Khi một tệp được tạo, hệ thống tệp sẽ phân bổ không gian cho dữ liệu. Một số hệ thống tệp cho phép hoặc yêu cầu chỉ định phân bổ không gian ban đầu và phân bổ gia tăng tiếp theo khi tệp phát triển. Khi các tệp bị xóa, không gian mà chúng được phân bổ cuối cùng được coi là có sẵn để các tệp khác sử dụng. Điều này tạo ra các khu vực được sử dụng và không sử dụng xen kẽ với nhiều kích cỡ khác nhau. Đây là sự phân mảnh không gian trống. Khi một tệp được tạo và không có vùng không gian liền kề có sẵn để phân bổ ban đầu, không gian phải được chỉ định theo từng đoạn. Khi một tệp được sửa đổi sao cho nó trở nên lớn hơn, nó có thể vượt quá dung lượng được phân bổ ban đầu cho nó, một phân bổ khác phải được gán ở nơi khác và tệp sẽ bị phân mảnh

Trong một số hệ điều hành, quản trị viên hệ thống có thể sử dụng hạn ngạch đĩa để hạn chế phân bổ dung lượng đĩa

Tên tập tin[sửa]

Tên tệp [hoặc tên tệp] được sử dụng để xác định vị trí lưu trữ trong hệ thống tệp. Hầu hết các hệ thống tệp đều có giới hạn về độ dài của tên tệp. Trong một số hệ thống tệp, tên tệp không phân biệt chữ hoa chữ thường [tôi. e. , tên MYFILEmyfile đề cập đến cùng một tệp trong một thư mục]; . e. , tên MYFILE, MyFilemyfile đề cập đến ba tệp riêng biệt nằm trong cùng một thư mục]

Hầu hết các hệ thống tệp hiện đại cho phép tên tệp chứa nhiều loại ký tự từ bộ ký tự Unicode. Tuy nhiên, họ có thể có những hạn chế trong việc sử dụng một số ký tự đặc biệt, không cho phép chúng trong tên tệp;

Thư mục [ chỉnh sửa ]

Các hệ thống tệp thường có các thư mục [còn gọi là thư mục] cho phép người dùng nhóm các tệp thành các bộ sưu tập riêng biệt. Điều này có thể được thực hiện bằng cách liên kết tên tệp với chỉ mục trong mục lục hoặc inode trong hệ thống tệp giống Unix. Cấu trúc thư mục có thể phẳng [i. e. tuyến tính] hoặc cho phép phân cấp trong đó các thư mục có thể chứa các thư mục con. Hệ thống tệp đầu tiên hỗ trợ phân cấp thư mục tùy ý đã được sử dụng trong hệ điều hành Multics. Các hệ thống tệp gốc của các hệ thống giống Unix cũng hỗ trợ phân cấp thư mục tùy ý, chẳng hạn như Hệ thống tệp phân cấp của Apple và HFS+ kế nhiệm của nó trong Mac OS cổ điển, hệ thống tệp FAT trong MS-DOS 2. 0 và các phiên bản mới hơn của MS-DOS và trong Microsoft Windows, hệ thống tệp NTFS trong họ hệ điều hành Windows NT và ODS-2 [Cấu trúc trên đĩa-2] và các cấp cao hơn của hệ thống tệp Files-11 trong

Thông tin kế toán khác thường được liên kết với từng tệp trong hệ thống tệp. Độ dài của dữ liệu chứa trong một tệp có thể được lưu trữ dưới dạng số khối được phân bổ cho tệp hoặc dưới dạng số byte. Thời gian tệp được sửa đổi lần cuối có thể được lưu dưới dạng dấu thời gian của tệp. Hệ thống tệp có thể lưu trữ thời gian tạo tệp, thời gian truy cập lần cuối, thời gian siêu dữ liệu của tệp bị thay đổi hoặc thời gian tệp được sao lưu lần cuối. Thông tin khác có thể bao gồm loại thiết bị của tệp [e. g. khối, ký tự, ổ cắm, thư mục con, v.v. ], ID người dùng và ID nhóm của chủ sở hữu, quyền truy cập và các thuộc tính tệp khác [e. g. liệu tệp có ở chế độ chỉ đọc, có thể thực thi được hay không, v.v. ]

Hệ thống tệp lưu trữ tất cả siêu dữ liệu được liên kết với tệp—bao gồm tên tệp, độ dài nội dung của tệp và vị trí của tệp trong hệ thống phân cấp thư mục—tách biệt với nội dung của tệp

Hầu hết các hệ thống tệp lưu trữ tên của tất cả các tệp trong một thư mục ở một nơi—bảng thư mục cho thư mục đó—thường được lưu trữ giống như bất kỳ tệp nào khác. Nhiều hệ thống tệp chỉ đặt một số siêu dữ liệu cho một tệp trong bảng thư mục và phần còn lại của siêu dữ liệu cho tệp đó trong một cấu trúc hoàn toàn riêng biệt, chẳng hạn như inode

Hầu hết các hệ thống tệp cũng lưu trữ siêu dữ liệu không được liên kết với bất kỳ tệp cụ thể nào. Siêu dữ liệu đó bao gồm thông tin về các vùng không được sử dụng—bitmap không gian trống, bản đồ khả dụng của khối—và thông tin về các thành phần xấu. Thường thì thông tin như vậy về một nhóm phân bổ được lưu trữ bên trong chính nhóm phân bổ đó

Các thuộc tính bổ sung có thể được liên kết trên các hệ thống tệp, chẳng hạn như NTFS, XFS, ext2, ext3, một số phiên bản của UFS và HFS+, sử dụng các thuộc tính tệp mở rộng. Một số hệ thống tệp cung cấp các thuộc tính do người dùng xác định, chẳng hạn như tác giả của tài liệu, mã hóa ký tự của tài liệu hoặc kích thước của hình ảnh

Một số hệ thống tệp cho phép các bộ sưu tập dữ liệu khác nhau được liên kết với một tên tệp. Các bộ sưu tập riêng biệt này có thể được gọi là luồng hoặc nhánh. Apple từ lâu đã sử dụng hệ thống tệp rẽ nhánh trên Macintosh và Microsoft hỗ trợ các luồng ở định dạng NTFS. Một số hệ thống tệp duy trì nhiều bản sửa đổi trước đây của một tệp dưới một tên tệp duy nhất;

Xem để biết chi tiết về hệ thống tệp nào hỗ trợ loại siêu dữ liệu nào

Hệ thống tệp dưới dạng giao diện người dùng trừu tượng[sửa | sửa mã nguồn]

Trong một số trường hợp, một hệ thống tệp có thể không sử dụng thiết bị lưu trữ nhưng có thể được sử dụng để tổ chức và thể hiện quyền truy cập vào bất kỳ dữ liệu nào, cho dù dữ liệu đó được lưu trữ hay được tạo động [e. g. thủ tục]

Tiện ích[sửa]

Hệ thống tệp bao gồm các tiện ích để khởi tạo, thay đổi tham số và xóa phiên bản của hệ thống tệp. Một số bao gồm khả năng mở rộng hoặc cắt bớt không gian được phân bổ cho hệ thống tệp

Các tiện ích thư mục có thể được sử dụng để tạo, đổi tên và xóa các mục nhập thư mục, còn được gọi là dentries [số ít. nha khoa] và để thay đổi siêu dữ liệu được liên kết với một thư mục. Các tiện ích thư mục cũng có thể bao gồm khả năng tạo các liên kết bổ sung tới một thư mục [các liên kết cứng trong Unix], để đổi tên các liên kết chính [". " trong các hệ điều hành giống Unix],[cần làm rõ] và để tạo các liên kết hai chiều tới các tệp

Các tiện ích tệp tạo, liệt kê, sao chép, di chuyển và xóa tệp cũng như thay đổi siêu dữ liệu. Họ có thể cắt bớt dữ liệu, cắt bớt hoặc mở rộng phân bổ không gian, thêm vào, di chuyển và sửa đổi tệp tại chỗ. Tùy thuộc vào cấu trúc cơ bản của hệ thống tệp, chúng có thể cung cấp cơ chế thêm vào trước hoặc cắt bớt từ đầu tệp, chèn các mục vào giữa tệp hoặc xóa các mục khỏi tệp. Các tiện ích giải phóng dung lượng cho các tệp đã xóa, nếu hệ thống tệp cung cấp chức năng phục hồi, cũng thuộc danh mục này

Một số hệ thống tệp trì hoãn các hoạt động như sắp xếp lại không gian trống, xóa an toàn không gian trống và xây dựng lại cấu trúc phân cấp bằng cách cung cấp các tiện ích để thực hiện các chức năng này tại thời điểm hoạt động tối thiểu. Một ví dụ là các tiện ích chống phân mảnh hệ thống tập tin

Một số tính năng quan trọng nhất của tiện ích hệ thống tệp là các hoạt động giám sát có thể liên quan đến việc bỏ qua quyền sở hữu hoặc truy cập trực tiếp vào thiết bị cơ bản. Chúng bao gồm sao lưu và phục hồi hiệu suất cao, sao chép dữ liệu và tổ chức lại các cấu trúc dữ liệu và bảng phân bổ khác nhau trong hệ thống tệp

Hạn chế và cho phép truy cập[sửa]

Có một số cơ chế được sử dụng bởi các hệ thống tệp để kiểm soát quyền truy cập vào dữ liệu. Thông thường, mục đích là ngăn người dùng hoặc nhóm người dùng đọc hoặc sửa đổi tệp. Một lý do khác là để đảm bảo dữ liệu được sửa đổi theo cách được kiểm soát để quyền truy cập có thể bị hạn chế đối với một chương trình cụ thể. Các ví dụ bao gồm mật khẩu được lưu trữ trong siêu dữ liệu của tệp hoặc ở nơi khác và quyền của tệp ở dạng bit quyền, danh sách kiểm soát truy cập hoặc khả năng. Nhu cầu về các tiện ích hệ thống tệp để có thể truy cập dữ liệu ở cấp độ phương tiện nhằm tổ chức lại cấu trúc và cung cấp sao lưu hiệu quả thường có nghĩa là những tiện ích này chỉ hiệu quả đối với người dùng lịch sự nhưng không hiệu quả đối với những kẻ xâm nhập

Các phương pháp mã hóa dữ liệu tệp đôi khi được bao gồm trong hệ thống tệp. Điều này rất hiệu quả vì không cần các tiện ích hệ thống tệp để biết hạt giống mã hóa để quản lý dữ liệu hiệu quả. Rủi ro khi dựa vào mã hóa bao gồm thực tế là kẻ tấn công có thể sao chép dữ liệu và sử dụng vũ lực để giải mã dữ liệu. Ngoài ra, mất hạt giống có nghĩa là mất dữ liệu

Duy trì tính toàn vẹn[sửa]

Một trách nhiệm quan trọng của hệ thống tệp là đảm bảo rằng cấu trúc hệ thống tệp trong bộ lưu trữ thứ cấp vẫn nhất quán, bất kể hành động của các chương trình truy cập vào hệ thống tệp. Điều này bao gồm các hành động được thực hiện nếu một chương trình sửa đổi hệ thống tệp kết thúc bất thường hoặc không thông báo cho hệ thống tệp rằng nó đã hoàn thành các hoạt động của mình. Điều này có thể bao gồm cập nhật siêu dữ liệu, mục nhập thư mục và xử lý bất kỳ dữ liệu nào được lưu vào bộ đệm nhưng chưa được cập nhật trên phương tiện lưu trữ vật lý

Các lỗi khác mà hệ thống tệp phải xử lý bao gồm lỗi phương tiện hoặc mất kết nối với các hệ thống từ xa

Trong trường hợp hệ điều hành bị lỗi hoặc mất điện "mềm", các quy trình đặc biệt trong hệ thống tệp phải được gọi tương tự như khi một chương trình riêng lẻ bị lỗi

Hệ thống tệp cũng phải có khả năng sửa các cấu trúc bị hỏng. Những điều này có thể xảy ra do lỗi hệ điều hành mà HĐH không thể thông báo cho hệ thống tệp, mất điện hoặc thiết lập lại

Hệ thống tệp cũng phải ghi lại các sự kiện để cho phép phân tích các sự cố hệ thống cũng như sự cố với các tệp hoặc thư mục cụ thể

Dữ liệu người dùng[sửa]

Mục đích quan trọng nhất của hệ thống tệp là quản lý dữ liệu người dùng. Điều này bao gồm lưu trữ, truy xuất và cập nhật dữ liệu

Một số hệ thống tệp chấp nhận dữ liệu để lưu trữ dưới dạng luồng byte được thu thập và lưu trữ theo cách hiệu quả đối với phương tiện. Khi một chương trình truy xuất dữ liệu, nó chỉ định kích thước của bộ nhớ đệm và hệ thống tệp sẽ chuyển dữ liệu từ phương tiện sang bộ đệm. Một thói quen thư viện thời gian chạy đôi khi có thể cho phép chương trình người dùng xác định bản ghi dựa trên lệnh gọi thư viện chỉ định độ dài. Khi chương trình người dùng đọc dữ liệu, thư viện sẽ truy xuất dữ liệu qua hệ thống tệp và trả về một bản ghi

Một số hệ thống tệp cho phép xác định độ dài bản ghi cố định được sử dụng cho tất cả các thao tác ghi và đọc. Điều này tạo điều kiện thuận lợi cho việc định vị bản ghi thứ n cũng như cập nhật bản ghi

Nhận dạng cho mỗi bản ghi, còn được gọi là khóa, tạo nên một hệ thống tệp tinh vi hơn. Chương trình người dùng có thể đọc, viết và cập nhật các bản ghi mà không cần quan tâm đến vị trí của chúng. Điều này đòi hỏi sự quản lý phức tạp của các khối phương tiện thường tách biệt các khối chính và khối dữ liệu. Các thuật toán rất hiệu quả có thể được phát triển với các cấu trúc kim tự tháp để định vị các bản ghi

Sử dụng hệ thống tập tin[sửa]

Các tiện ích, thư viện thời gian chạy ngôn ngữ cụ thể và chương trình người dùng sử dụng API hệ thống tệp để thực hiện các yêu cầu của hệ thống tệp. Chúng bao gồm truyền dữ liệu, định vị, cập nhật siêu dữ liệu, quản lý thư mục, quản lý thông số truy cập và xóa

Nhiều hệ thống tệp trong một hệ thống duy nhất[sửa | sửa mã nguồn]

Thông thường, các hệ thống bán lẻ được cấu hình với một hệ thống tệp duy nhất chiếm toàn bộ thiết bị lưu trữ

Một cách tiếp cận khác là phân vùng đĩa để có thể sử dụng một số hệ thống tệp với các thuộc tính khác nhau. Một hệ thống tệp, để sử dụng làm bộ nhớ cache của trình duyệt hoặc bộ lưu trữ email, có thể được định cấu hình với kích thước phân bổ nhỏ. Điều này giữ cho hoạt động tạo và xóa các tệp điển hình của hoạt động trình duyệt trong một vùng hẹp của đĩa, nơi nó sẽ không can thiệp vào các phân bổ tệp khác. Một phân vùng khác có thể được tạo để lưu trữ các tệp âm thanh hoặc video có kích thước khối tương đối lớn. Tuy nhiên, một cái khác thường có thể được đặt ở chế độ chỉ đọc và chỉ định kỳ được đặt ở chế độ có thể ghi

Cách tiếp cận thứ ba, chủ yếu được sử dụng trong các hệ thống đám mây, là sử dụng "ảnh đĩa" để chứa các hệ thống tệp bổ sung, có cùng thuộc tính hoặc không, trong một hệ thống tệp [máy chủ] khác dưới dạng tệp. Một ví dụ phổ biến là ảo hóa. một người dùng có thể chạy bản phân phối Linux thử nghiệm [sử dụng hệ thống tệp ext4] trong một máy ảo trong môi trường Windows sản xuất của họ [sử dụng NTFS]. Hệ thống tệp ext4 nằm trong ảnh đĩa, được coi là một tệp [hoặc nhiều tệp, tùy thuộc vào trình ảo hóa và cài đặt] trong hệ thống tệp máy chủ NTFS

Có nhiều hệ thống tệp trên một hệ thống có lợi ích bổ sung là trong trường hợp một phân vùng bị hỏng, các hệ thống tệp còn lại thường sẽ vẫn còn nguyên vẹn. Điều này bao gồm vi-rút phá hủy phân vùng hệ thống hoặc thậm chí hệ thống không khởi động được. Các tiện ích hệ thống tệp yêu cầu quyền truy cập chuyên dụng có thể được hoàn thành từng phần một cách hiệu quả. Ngoài ra, chống phân mảnh có thể hiệu quả hơn. Một số tiện ích bảo trì hệ thống, chẳng hạn như quét vi-rút và sao lưu, cũng có thể được xử lý trong các phân đoạn. Ví dụ: không cần sao lưu hệ thống tệp chứa video cùng với tất cả các tệp khác nếu không có tệp nào được thêm vào kể từ lần sao lưu cuối cùng. Đối với các tệp hình ảnh, người ta có thể dễ dàng "tách" các hình ảnh khác biệt chỉ chứa dữ liệu "mới" được ghi vào hình ảnh chính [gốc]. Hình ảnh khác biệt có thể được sử dụng cho cả hai vấn đề an toàn [như một hệ thống "dùng một lần" - có thể được khôi phục nhanh chóng nếu bị vi-rút phá hủy hoặc làm ô nhiễm, vì hình ảnh cũ có thể bị xóa và hình ảnh mới có thể được tạo trong vài giây, thậm chí không cần

Giới hạn thiết kế[sửa | sửa mã nguồn]

Tất cả các hệ thống tệp có một số giới hạn chức năng xác định. Các giới hạn chức năng này là nỗ lực phỏng đoán tốt nhất của nhà thiết kế dựa trên quy mô của hệ thống lưu trữ hiện tại và quy mô của hệ thống lưu trữ trong tương lai. Lưu trữ đĩa tiếp tục tăng với tốc độ gần như hàm mũ [xem định luật Moore], vì vậy sau một vài năm, các hệ thống tệp đã tiếp tục đạt đến giới hạn thiết kế yêu cầu người dùng máy tính phải liên tục chuyển sang hệ thống mới hơn với dung lượng lớn hơn bao giờ hết

Độ phức tạp của hệ thống tệp thường thay đổi tỷ lệ thuận với dung lượng lưu trữ khả dụng. Hệ thống tệp của máy tính gia đình đầu những năm 1980 với dung lượng lưu trữ từ 50 KB đến 512 KB sẽ không phải là lựa chọn hợp lý cho các hệ thống lưu trữ hiện đại với dung lượng hàng trăm GB. Tương tự như vậy, các hệ thống tệp hiện đại sẽ không phải là lựa chọn hợp lý cho các hệ thống ban đầu này, vì sự phức tạp của cấu trúc hệ thống tệp hiện đại sẽ nhanh chóng tiêu tốn hoặc thậm chí vượt quá dung lượng rất hạn chế của các hệ thống lưu trữ ban đầu.

Các loại hệ thống tập tin[sửa | sửa mã nguồn]

Các loại hệ thống tệp có thể được phân loại thành hệ thống tệp đĩa/băng, hệ thống tệp mạng và hệ thống tệp mục đích đặc biệt

Hệ thống tệp đĩa [ chỉnh sửa ]

Hệ thống tệp đĩa tận dụng khả năng của phương tiện lưu trữ đĩa để xử lý dữ liệu ngẫu nhiên trong một khoảng thời gian ngắn. Các cân nhắc bổ sung bao gồm tốc độ truy cập dữ liệu theo yêu cầu ban đầu và dự đoán rằng dữ liệu sau cũng có thể được yêu cầu. Điều này cho phép nhiều người dùng [hoặc quy trình] truy cập vào nhiều dữ liệu khác nhau trên đĩa mà không cần quan tâm đến vị trí tuần tự của dữ liệu. Các ví dụ bao gồm FAT [FAT12, FAT16, FAT32], exFAT, NTFS, HFS và HFS+, HPFS, APFS, UFS, ext2, ext3, ext4, XFS, btrfs, Files-11, Veritas File System, VMFS, ZFS, ReiserFS và ScoutFS. Một số hệ thống tệp đĩa là hệ thống tệp nhật ký hoặc hệ thống tệp phiên bản

Đĩa quang[sửa]

ISO 9660 và Định dạng đĩa chung [UDF] là hai định dạng phổ biến nhắm mục tiêu đĩa Compact, DVD và đĩa Blu-ray. Mount Rainier là một phần mở rộng cho UDF được hỗ trợ kể từ 2. 6 của nhân Linux và kể từ Windows Vista hỗ trợ ghi lại vào đĩa DVD

Hệ thống tập tin Flash[sửa]

Hệ thống tệp flash xem xét các khả năng, hiệu suất và hạn chế đặc biệt của thiết bị bộ nhớ flash. Thông thường, hệ thống tệp đĩa có thể sử dụng thiết bị bộ nhớ flash làm phương tiện lưu trữ cơ bản, nhưng sẽ tốt hơn nhiều nếu sử dụng hệ thống tệp được thiết kế riêng cho thiết bị flash

Hệ thống tập tin băng[sửa]

Hệ thống tệp băng là một hệ thống tệp và định dạng băng được thiết kế để lưu trữ các tệp trên băng. Băng từ là phương tiện lưu trữ tuần tự với thời gian truy cập dữ liệu ngẫu nhiên dài hơn đáng kể so với đĩa, đặt ra những thách thức đối với việc tạo và quản lý hiệu quả hệ thống tệp đa năng

Trong một hệ thống tệp đĩa thường có một thư mục tệp chính và bản đồ các vùng dữ liệu được sử dụng và miễn phí. Mọi bổ sung, thay đổi hoặc xóa tệp yêu cầu cập nhật thư mục và bản đồ đã sử dụng/miễn phí. Truy cập ngẫu nhiên vào các vùng dữ liệu được tính bằng mili giây để hệ thống này hoạt động tốt đối với các ổ đĩa

Băng yêu cầu chuyển động tuyến tính để cuộn và thư giãn các cuộn phương tiện có khả năng rất dài. Chuyển động băng này có thể mất vài giây đến vài phút để di chuyển đầu đọc/ghi từ đầu này sang đầu kia của băng

Do đó, thư mục tệp chính và bản đồ sử dụng có thể cực kỳ chậm và không hiệu quả với băng. Viết thường liên quan đến việc đọc bản đồ sử dụng khối để tìm các khối trống để ghi, cập nhật bản đồ sử dụng và thư mục để thêm dữ liệu, sau đó chuyển băng để ghi dữ liệu vào đúng vị trí. Mỗi lần ghi tệp bổ sung yêu cầu cập nhật bản đồ và thư mục cũng như ghi dữ liệu, có thể mất vài giây để xảy ra đối với mỗi tệp

Thay vào đó, các hệ thống tệp băng thường cho phép thư mục tệp được trải rộng trên băng xen kẽ với dữ liệu, được gọi là truyền phát, do đó không cần chuyển động băng lặp đi lặp lại và tốn thời gian để ghi dữ liệu mới

Tuy nhiên, một tác dụng phụ của thiết kế này là việc đọc thư mục tệp của băng thường yêu cầu quét toàn bộ băng để đọc tất cả các mục nhập thư mục nằm rải rác. Hầu hết các phần mềm lưu trữ dữ liệu hoạt động với lưu trữ băng sẽ lưu trữ một bản sao cục bộ của danh mục băng trên hệ thống tệp đĩa, để việc thêm tệp vào băng có thể được thực hiện nhanh chóng mà không cần phải quét lại phương tiện băng. Bản sao danh mục băng cục bộ thường bị loại bỏ nếu không được sử dụng trong một khoảng thời gian nhất định, tại thời điểm đó băng phải được quét lại nếu nó được sử dụng trong tương lai

IBM đã phát triển một hệ thống tệp cho băng được gọi là Hệ thống tệp băng tuyến tính. Việc triển khai hệ thống tệp này của IBM đã được phát hành dưới dạng sản phẩm nguồn mở. Hệ thống tệp băng tuyến tính sử dụng một phân vùng riêng trên băng để ghi siêu dữ liệu chỉ mục, do đó tránh được các sự cố liên quan đến phân tán các mục nhập thư mục trên toàn bộ băng

Định dạng băng[sửa]

Ghi dữ liệu vào băng, xóa hoặc định dạng băng thường là một quá trình tốn nhiều thời gian và có thể mất vài giờ trên băng lớn. Với nhiều công nghệ băng dữ liệu, không cần thiết phải định dạng băng trước khi ghi đè dữ liệu mới vào băng. Điều này là do bản chất phá hoại vốn có của việc ghi đè dữ liệu trên phương tiện tuần tự

Do mất nhiều thời gian để định dạng băng nên thông thường, băng được định dạng trước để người dùng băng không cần mất thời gian chuẩn bị từng băng mới để sử dụng. Tất cả những gì thường cần thiết là ghi nhãn phương tiện nhận dạng vào băng trước khi sử dụng và thậm chí điều này có thể được phần mềm tự động ghi khi sử dụng băng mới lần đầu tiên

Hệ thống tập tin cơ sở dữ liệu[sửa | sửa mã nguồn]

Một khái niệm khác về quản lý tệp là ý tưởng về hệ thống tệp dựa trên cơ sở dữ liệu. Thay vì, hoặc ngoài quản lý có cấu trúc phân cấp, các tệp được xác định theo đặc điểm của chúng, như loại tệp, chủ đề, tác giả hoặc siêu dữ liệu phong phú tương tự

IBM DB2 cho i [trước đây gọi là DB2/400 và DB2 cho i5/OS] là một hệ thống tệp cơ sở dữ liệu như một phần của hệ điều hành IBM i dựa trên đối tượng [trước đây gọi là OS/400 và i5/OS], kết hợp một cấp độ duy nhất. . Soltis cựu nhà khoa học trưởng của IBM cho IBM i. Khoảng 1978 đến 1988 Frank G. Soltis và nhóm của ông tại IBM Rochester đã thiết kế và áp dụng thành công các công nghệ như hệ thống tệp cơ sở dữ liệu mà những công ty khác như Microsoft sau này không đạt được. Những công nghệ này được gọi một cách không chính thức là 'Pháo đài Rochester'[cần dẫn nguồn] và ở một số khía cạnh cơ bản được mở rộng từ các công nghệ Máy tính lớn ban đầu nhưng theo nhiều cách tiên tiến hơn từ góc độ công nghệ[cần dẫn nguồn]

Một số dự án khác không phải là hệ thống tệp cơ sở dữ liệu "thuần túy" nhưng sử dụng một số khía cạnh của hệ thống tệp cơ sở dữ liệu

  • Nhiều hệ thống quản lý nội dung Web sử dụng DBMS quan hệ để lưu trữ và truy xuất tệp. Ví dụ: tệp XHTML được lưu trữ dưới dạng trường XML hoặc văn bản, trong khi tệp hình ảnh được lưu trữ dưới dạng trường blob; . " Nhiều CMS cũng có tùy chọn chỉ lưu trữ siêu dữ liệu trong cơ sở dữ liệu, với hệ thống tệp tiêu chuẩn được sử dụng để lưu trữ nội dung của tệp
  • Các hệ thống tệp rất lớn, được thể hiện bởi các ứng dụng như Apache Hadoop và Hệ thống tệp của Google, sử dụng một số khái niệm hệ thống tệp cơ sở dữ liệu

Hệ thống tập tin giao dịch[sửa | sửa mã nguồn]

Một số chương trình cần thực hiện nhiều thay đổi hệ thống tệp hoặc nếu một hoặc nhiều thay đổi không thành công vì bất kỳ lý do gì, thì không thực hiện thay đổi nào. Ví dụ: một chương trình đang cài đặt hoặc cập nhật phần mềm có thể ghi tệp thực thi, thư viện và/hoặc tệp cấu hình. Nếu một số thao tác ghi không thành công và phần mềm vẫn chưa được cài đặt hoặc cập nhật một phần, phần mềm có thể bị hỏng hoặc không sử dụng được. Một bản cập nhật không đầy đủ của tiện ích hệ thống chính, chẳng hạn như trình bao lệnh, có thể khiến toàn bộ hệ thống ở trạng thái không sử dụng được

Xử lý giao dịch giới thiệu bảo đảm nguyên tử, đảm bảo rằng các hoạt động bên trong giao dịch đều được cam kết hoặc giao dịch có thể bị hủy bỏ và hệ thống loại bỏ tất cả các kết quả một phần của nó. Điều này có nghĩa là nếu có sự cố hoặc mất điện, sau khi khôi phục, trạng thái được lưu trữ sẽ nhất quán. Phần mềm sẽ được cài đặt hoàn chỉnh hoặc cài đặt không thành công sẽ được khôi phục hoàn toàn, nhưng cài đặt một phần không sử dụng được sẽ không còn lại trên hệ thống. Các giao dịch cũng cung cấp bảo đảm cách ly[cần làm rõ], nghĩa là các hoạt động trong một giao dịch được ẩn khỏi các luồng khác trên hệ thống cho đến khi giao dịch được thực hiện và các hoạt động can thiệp vào hệ thống sẽ được tuần tự hóa đúng với giao dịch

Windows, bắt đầu với Vista, đã thêm hỗ trợ giao dịch cho NTFS, trong một tính năng có tên là NTFS giao dịch, nhưng việc sử dụng nó hiện không được khuyến khích. Có một số nguyên mẫu nghiên cứu về hệ thống tệp giao dịch cho các hệ thống UNIX, bao gồm hệ thống tệp Valor, Amino, LFS và hệ thống tệp ext3 giao dịch trên nhân TxOS, cũng như các hệ thống tệp giao dịch nhắm mục tiêu các hệ thống nhúng, chẳng hạn như TFFS

Việc đảm bảo tính nhất quán trên nhiều hoạt động của hệ thống tệp là khó khăn, nếu không muốn nói là không thể nếu không có các giao dịch hệ thống tệp. Khóa tệp có thể được sử dụng làm cơ chế kiểm soát đồng thời cho các tệp riêng lẻ, nhưng nó thường không bảo vệ cấu trúc thư mục hoặc siêu dữ liệu tệp. Chẳng hạn, khóa tệp không thể ngăn điều kiện chạy đua TOCTTOU trên các liên kết tượng trưng. Khóa tệp cũng không thể tự động khôi phục thao tác không thành công, chẳng hạn như nâng cấp phần mềm;

Hệ thống tệp ghi nhật ký là một kỹ thuật được sử dụng để giới thiệu tính nhất quán ở cấp độ giao dịch đối với cấu trúc hệ thống tệp. Các giao dịch nhật ký không được hiển thị với các chương trình như một phần của API hệ điều hành;

Các hệ thống sao lưu dữ liệu thường không hỗ trợ sao lưu trực tiếp dữ liệu được lưu trữ theo cách thức giao dịch, điều này gây khó khăn cho việc khôi phục các bộ dữ liệu nhất quán và đáng tin cậy. Hầu hết các phần mềm sao lưu chỉ ghi chú những tệp nào đã thay đổi kể từ một thời điểm nhất định, bất kể trạng thái giao dịch được chia sẻ trên nhiều tệp trong tập dữ liệu tổng thể. Như một giải pháp thay thế, một số hệ thống cơ sở dữ liệu chỉ tạo một tệp trạng thái lưu trữ chứa tất cả dữ liệu cho đến thời điểm đó và phần mềm sao lưu chỉ sao lưu dữ liệu đó và hoàn toàn không tương tác trực tiếp với cơ sở dữ liệu giao dịch đang hoạt động. Quá trình khôi phục yêu cầu tạo lại cơ sở dữ liệu riêng biệt từ tệp trạng thái sau khi tệp đã được khôi phục bằng phần mềm sao lưu

Hệ thống tập tin mạng[sửa | sửa mã nguồn]

Hệ thống tệp mạng là một hệ thống tệp hoạt động như một ứng dụng khách cho giao thức truy cập tệp từ xa, cung cấp quyền truy cập vào các tệp trên máy chủ. Các chương trình sử dụng giao diện cục bộ có thể tạo, quản lý và truy cập các thư mục và tệp phân cấp trong các máy tính được kết nối mạng từ xa. Ví dụ về hệ thống tệp mạng bao gồm máy khách cho các giao thức NFS, AFS, SMB và máy khách giống như hệ thống tệp cho FTP và WebDAV

Hệ thống tệp đĩa dùng chung là hệ thống trong đó một số máy [thường là máy chủ] đều có quyền truy cập vào cùng một hệ thống con đĩa bên ngoài [thường là mạng vùng lưu trữ]. Hệ thống tệp phân xử quyền truy cập vào hệ thống con đó, ngăn chặn xung đột ghi. Các ví dụ bao gồm GFS2 từ Red Hat, GPFS, hiện được gọi là Spectrum Scale, từ IBM, SFS từ DataPlow, CXFS từ SGI, StorNext từ Quantum Corporation và ScoutFS từ Versity

Các hệ thống tệp đặc biệt [ chỉnh sửa ]

Một hệ thống tệp đặc biệt trình bày các phần tử không phải tệp của hệ điều hành dưới dạng tệp để chúng có thể được thực hiện bằng cách sử dụng API hệ thống tệp. Điều này thường được thực hiện trong các hệ điều hành giống Unix, nhưng các thiết bị cũng được đặt tên tệp trong một số hệ điều hành không giống Unix.

Hệ thống tệp thiết bị [ chỉnh sửa ]

Hệ thống tệp thiết bị đại diện cho thiết bị I/O và thiết bị giả dưới dạng tệp, được gọi là tệp thiết bị. Các ví dụ trong các hệ thống giống Unix bao gồm devfs và, trong Linux 2. 6 hệ thống, udev. Trong các hệ thống không giống Unix, chẳng hạn như TOPS-10 và các hệ điều hành khác chịu ảnh hưởng của nó, trong đó tên tệp hoặc tên đường dẫn đầy đủ của tệp có thể bao gồm tiền tố thiết bị, các thiết bị không phải là hệ thống tệp được gọi bằng tiền tố thiết bị

Các hệ thống tập tin đặc biệt khác[sửa | sửa mã nguồn]

  • Trong nhân Linux, configfs và sysfs cung cấp các tệp có thể được sử dụng để truy vấn nhân để biết thông tin và định cấu hình các thực thể trong nhân
  • procfs ánh xạ các quy trình và trên Linux, các cấu trúc hệ điều hành khác vào một không gian tệp

Hệ thống tập tin tối thiểu/lưu trữ băng cassette[sửa | sửa mã nguồn]

Vào những năm 1970, các thiết bị đĩa và băng kỹ thuật số quá đắt đối với một số người dùng máy vi tính đời đầu. Một hệ thống lưu trữ dữ liệu cơ bản rẻ tiền đã được phát minh sử dụng băng cassette âm thanh phổ biến

Khi hệ thống cần ghi dữ liệu, người dùng được thông báo nhấn "RECORD" trên máy ghi âm, sau đó nhấn "RETURN" trên bàn phím để hệ thống thông báo rằng máy ghi âm đang ghi. Hệ thống đã viết âm thanh để cung cấp đồng bộ hóa thời gian, sau đó điều chế âm thanh mã hóa tiền tố, dữ liệu, tổng kiểm tra và hậu tố. Khi hệ thống cần đọc dữ liệu, người dùng được hướng dẫn nhấn nút "PLAY" trên máy cassette. Hệ thống sẽ lắng nghe các âm thanh trên băng đợi cho đến khi một loạt âm thanh có thể được nhận dạng là đồng bộ hóa. Sau đó, hệ thống sẽ diễn giải các âm thanh tiếp theo dưới dạng dữ liệu. Khi đọc xong dữ liệu, hệ thống sẽ thông báo cho người dùng nhấn "STOP" trên đầu ghi băng cassette. Nó là nguyên thủy, nhưng nó [hầu hết] đã hoạt động. Dữ liệu được lưu trữ tuần tự, thường ở định dạng không tên, mặc dù một số hệ thống [chẳng hạn như loạt máy tính Commodore PET] đã cho phép các tệp được đặt tên. Nhiều bộ dữ liệu có thể được ghi và định vị bằng cách tua nhanh băng và quan sát tại bộ đếm băng để tìm điểm bắt đầu gần đúng của vùng dữ liệu tiếp theo trên băng. Người dùng có thể phải nghe âm thanh để tìm đúng vị trí để bắt đầu phát vùng dữ liệu tiếp theo. Một số triển khai thậm chí còn bao gồm âm thanh nghe được xen kẽ với dữ liệu

Hệ thống tệp phẳng [ chỉnh sửa ]

Trong một hệ thống tệp phẳng, không có thư mục con;

Khi phương tiện đĩa mềm lần đầu tiên có sẵn, loại hệ thống tệp này là đủ do dung lượng dữ liệu tương đối nhỏ có sẵn. Các máy CP/M có hệ thống tệp phẳng, trong đó các tệp có thể được gán cho một trong 16 khu vực người dùng và các thao tác tệp chung được thu hẹp để hoạt động trên một tệp thay vì mặc định hoạt động trên tất cả chúng. Những khu vực người dùng này không nhiều hơn các thuộc tính đặc biệt được liên kết với các tệp; . Apple Macintosh đời đầu cũng có một hệ thống tệp phẳng, Hệ thống tệp Macintosh. Điều bất thường là chương trình quản lý tệp [Macintosh Finder] đã tạo ảo giác về một hệ thống tệp phân cấp một phần trên EMFS. Cấu trúc này yêu cầu mọi tệp phải có một tên duy nhất, ngay cả khi nó có vẻ nằm trong một thư mục riêng biệt. IBM DOS/360 và OS/360 lưu trữ các mục nhập cho tất cả các tệp trên một gói đĩa [tập đĩa] trong một thư mục trên gói được gọi là Mục lục Tập đĩa [VTOC]

Mặc dù các hệ thống tệp phẳng, đơn giản trở nên khó sử dụng khi số lượng tệp tăng lên và gây khó khăn cho việc sắp xếp dữ liệu thành các nhóm tệp có liên quan

Một bổ sung gần đây cho dòng hệ thống tệp phẳng là S3 của Amazon, một dịch vụ lưu trữ từ xa, được cố ý đơn giản hóa để cho phép người dùng có khả năng tùy chỉnh cách lưu trữ dữ liệu của họ. Các cấu trúc duy nhất là các thùng [hãy tưởng tượng một ổ đĩa có kích thước không giới hạn] và các đối tượng [tương tự, nhưng không giống với khái niệm tiêu chuẩn của tệp]. Quản lý tệp nâng cao được cho phép bằng cách có thể sử dụng gần như bất kỳ ký tự nào [bao gồm cả '/'] trong tên của đối tượng và khả năng chọn các tập hợp con của nội dung nhóm dựa trên các tiền tố giống hệt nhau

Hệ thống tập tin và hệ điều hành[sửa | sửa mã nguồn]

Nhiều hệ điều hành bao gồm hỗ trợ cho nhiều hơn một hệ thống tệp. Đôi khi HĐH và hệ thống tệp được đan xen chặt chẽ đến mức khó có thể tách rời các chức năng của hệ thống tệp

Cần có một giao diện được cung cấp bởi phần mềm hệ điều hành giữa người dùng và hệ thống tệp. Giao diện này có thể là văn bản [chẳng hạn như được cung cấp bởi giao diện dòng lệnh, chẳng hạn như Unix shell hoặc OpenVMS DCL] hoặc đồ họa [chẳng hạn như được cung cấp bởi giao diện người dùng đồ họa, chẳng hạn như trình duyệt tệp]. Nếu là đồ họa, phép ẩn dụ của thư mục, chứa tài liệu, tệp khác và thư mục lồng nhau thường được sử dụng [xem thêm. thư mục và thư mục]

Unix và các hệ điều hành tương tự Unix[sửa | sửa mã nguồn]

Các hệ điều hành giống Unix tạo ra một hệ thống tệp ảo, làm cho tất cả các tệp trên tất cả các thiết bị dường như tồn tại trong một hệ thống phân cấp duy nhất. Điều này có nghĩa là, trong các hệ thống đó, có một thư mục gốc và mọi tệp hiện có trên hệ thống được đặt ở đâu đó trong đó. Các hệ thống giống Unix có thể sử dụng đĩa RAM hoặc tài nguyên mạng được chia sẻ làm thư mục gốc của nó

Các hệ thống giống Unix gán tên thiết bị cho mỗi thiết bị, nhưng đây không phải là cách các tệp trên thiết bị đó được truy cập. Thay vào đó, để có quyền truy cập vào các tệp trên thiết bị khác, trước tiên hệ điều hành phải được thông báo vị trí của các tệp đó trong cây thư mục. Quá trình này được gọi là gắn một hệ thống tập tin. Ví dụ: để truy cập các tệp trên đĩa CD-ROM, người ta phải yêu cầu hệ điều hành "Lấy hệ thống tệp từ đĩa CD-ROM này và làm cho nó xuất hiện trong thư mục such-and-such. " Thư mục được cung cấp cho hệ điều hành được gọi là điểm gắn kết – chẳng hạn, nó có thể là /media. Thư mục /media tồn tại trên nhiều hệ thống Unix [như được chỉ định trong Tiêu chuẩn phân cấp hệ thống tệp] và được dành riêng để sử dụng làm điểm gắn kết cho phương tiện di động như CD, DVD, ổ USB hoặc đĩa mềm. Nó có thể trống hoặc có thể chứa các thư mục con để gắn các thiết bị riêng lẻ. Nói chung, chỉ có quản trị viên [i. e. người dùng root] có thể cho phép gắn các hệ thống tập tin

Các hệ điều hành giống Unix thường bao gồm phần mềm và công cụ hỗ trợ quá trình cài đặt và cung cấp cho nó chức năng mới. Một số chiến lược này đã được đặt ra là "tự động gắn kết" để phản ánh mục đích của chúng

  • Trong nhiều tình huống, các hệ thống tệp khác với thư mục gốc cần có sẵn ngay khi hệ điều hành khởi động. Do đó, tất cả các hệ thống giống Unix đều cung cấp phương tiện để gắn hệ thống tệp khi khởi động. Quản trị viên hệ thống xác định các hệ thống tệp này trong tệp cấu hình fstab [vfstab trong Solaris], tệp này cũng chỉ ra các tùy chọn và điểm gắn kết
  • Trong một số trường hợp, không cần phải gắn một số hệ thống tệp nhất định khi khởi động, mặc dù việc sử dụng chúng có thể được mong muốn sau đó. Có một số tiện ích cho các hệ thống giống Unix cho phép gắn các hệ thống tệp được xác định trước theo yêu cầu
  • Phương tiện di động cho phép các chương trình và dữ liệu được truyền giữa các máy mà không cần kết nối vật lý. Các ví dụ phổ biến bao gồm ổ đĩa flash USB, CD-ROM và DVD. Do đó, các tiện ích đã được phát triển để phát hiện sự hiện diện và sẵn có của phương tiện, sau đó gắn phương tiện đó mà không cần bất kỳ sự can thiệp nào của người dùng
  • Các hệ thống tương tự Unix tiến bộ cũng đã giới thiệu một khái niệm gọi là siêu khối; . Ví dụ: một đĩa mềm đã được tăng tốc có thể bị xóa khỏi hệ thống. Trong các trường hợp bình thường, đĩa phải được đồng bộ hóa và sau đó được ngắt kết nối trước khi xóa. Với điều kiện đồng bộ hóa đã xảy ra, một đĩa khác có thể được đưa vào ổ đĩa. Hệ thống tự động thông báo rằng đĩa đã thay đổi và cập nhật nội dung điểm gắn kết để phản ánh phương tiện mới
  • Trình đếm tự động sẽ tự động gắn hệ thống tệp khi một tham chiếu được tạo đến thư mục trên đỉnh mà nó sẽ được gắn. Điều này thường được sử dụng cho các hệ thống tệp trên máy chủ mạng, thay vì dựa vào các sự kiện như chèn phương tiện, như sẽ phù hợp với phương tiện di động

Linux[sửa]

Linux hỗ trợ nhiều hệ thống tệp, nhưng các lựa chọn phổ biến cho đĩa hệ thống trên thiết bị khối bao gồm họ ext* [ext2, ext3 và ext4], XFS, JFS và btrfs. Đối với đèn flash thô không có lớp dịch flash [FTL] hoặc Thiết bị công nghệ bộ nhớ [MTD], có UBIFS, JFFS2 và YAFFS, trong số những thứ khác. SquashFS là một hệ thống tệp nén chỉ đọc phổ biến

Hệ mặt trời [ chỉnh sửa ]

Solaris trong các phiên bản trước được mặc định là UFS [không ghi nhật ký hoặc không ghi nhật ký] cho các hệ thống tệp bổ sung và có thể khởi động. Solaris được mặc định, hỗ trợ và mở rộng UFS

Hỗ trợ cho các hệ thống tệp khác và các cải tiến quan trọng đã được thêm vào theo thời gian, bao gồm cả Veritas Software Corp. [ghi nhật ký] VxFS, Sun Microsystems [phân cụm] QFS, Sun Microsystems [ghi nhật ký] UFS và Sun Microsystems [mã nguồn mở, có thể gộp, có thể nén 128 bit và sửa lỗi] ZFS

Phần mở rộng hạt nhân đã được thêm vào Solaris để cho phép vận hành Veritas VxFS có thể khởi động. Ghi nhật ký hoặc ghi nhật ký đã được thêm vào UFS trong Sun's Solaris 7. Các bản phát hành của Solaris 10, Solaris Express, OpenSolaris và các biến thể nguồn mở khác của hệ điều hành Solaris sau này đã hỗ trợ ZFS có thể khởi động

Quản lý khối hợp lý cho phép mở rộng một hệ thống tệp trên nhiều thiết bị nhằm mục đích thêm dự phòng, dung lượng và/hoặc thông lượng. Các môi trường cũ trong Solaris có thể sử dụng Solaris Volume Manager [trước đây gọi là Solstice DiskSuite]. Nhiều hệ điều hành [bao gồm cả Solaris] có thể sử dụng Veritas Volume Manager. Các hệ điều hành dựa trên Solaris hiện đại làm lu mờ nhu cầu quản lý khối lượng thông qua việc tận dụng các nhóm lưu trữ ảo trong ZFS

macOS [ chỉnh sửa ]

macOS [trước đây là Mac OS X] sử dụng Hệ thống tệp của Apple [APFS], vào năm 2017 đã thay thế một hệ thống tệp được kế thừa từ Mac OS cổ điển có tên là HFS Plus [HFS+]. Apple cũng sử dụng thuật ngữ "Mac OS Extended" cho HFS+. HFS Plus là một hệ thống tệp giàu siêu dữ liệu và phân biệt chữ hoa chữ thường nhưng [thường] không phân biệt chữ hoa chữ thường. Do gốc Unix của macOS, quyền Unix đã được thêm vào HFS Plus. Các phiên bản sau của HFS Plus đã thêm ghi nhật ký để ngăn cấu trúc hệ thống tệp bị hỏng và giới thiệu một số tối ưu hóa cho thuật toán phân bổ nhằm cố gắng tự động chống phân mảnh tệp mà không yêu cầu trình chống phân mảnh bên ngoài

Tên tệp có thể dài tối đa 255 ký tự. HFS Plus sử dụng Unicode để lưu trữ tên tệp. Trên macOS, loại tệp có thể đến từ mã loại, được lưu trữ trong siêu dữ liệu của tệp hoặc phần mở rộng tên tệp

HFS Plus có ba loại liên kết. Liên kết cứng kiểu Unix, liên kết tượng trưng kiểu Unix và bí danh. Bí danh được thiết kế để duy trì liên kết đến tệp gốc của chúng ngay cả khi chúng được di chuyển hoặc đổi tên;

macOS 10. 13 High Sierra, được công bố vào ngày 5 tháng 6 năm 2017 tại sự kiện WWDC của Apple, sử dụng Hệ thống tệp của Apple trên ổ cứng thể rắn

macOS cũng hỗ trợ hệ thống tệp UFS, bắt nguồn từ Hệ thống tệp nhanh BSD Unix thông qua NeXTSTEP. Tuy nhiên, kể từ Mac OS X Leopard, macOS không còn có thể được cài đặt trên ổ UFS nữa, cũng như hệ thống tiền Leopard được cài đặt trên ổ UFS không thể được nâng cấp lên Leopard. Kể từ Mac OS X Lion, hỗ trợ UFS đã bị loại bỏ hoàn toàn

Các phiên bản macOS mới hơn có khả năng đọc và ghi vào các hệ thống tệp FAT cũ [16 và 32] phổ biến trên Windows. Chúng cũng có khả năng đọc các hệ thống tệp NTFS mới hơn cho Windows. Để ghi vào hệ thống tệp NTFS trên các phiên bản macOS trước Mac OS X Snow Leopard, cần có phần mềm của bên thứ ba. Hệ điều hành Mac X10. 6 [Snow Leopard] trở lên cho phép ghi vào hệ thống tệp NTFS, nhưng chỉ sau khi thay đổi cài đặt hệ thống không tầm thường [có phần mềm của bên thứ ba tự động hóa việc này]

Cuối cùng, macOS hỗ trợ đọc và ghi hệ thống tệp exFAT kể từ Mac OS X Snow Leopard, bắt đầu từ phiên bản 10. 6. 5

hệ điều hành/2 1. 2 đã giới thiệu Hệ thống tệp hiệu suất cao [HPFS]. HPFS hỗ trợ các tên tệp trường hợp hỗn hợp trong các trang mã khác nhau, tên tệp dài [255 ký tự], sử dụng dung lượng ổ đĩa hiệu quả hơn, một kiến ​​trúc giữ các mục liên quan gần nhau trên ổ đĩa, dữ liệu ít bị phân mảnh hơn, dung lượng dựa trên phạm vi . Một hệ thống tập tin được ghi nhật ký [JFS] đã được xuất xưởng vào năm 1999

PC-BSD là phiên bản FreeBSD dành cho máy tính để bàn, kế thừa hỗ trợ ZFS của FreeBSD, tương tự như FreeNAS. Trình cài đặt đồ họa mới của PC-BSD có thể xử lý / [root] trên các bản cài đặt nhóm ZFS và RAID-Z và mã hóa ổ đĩa bằng Geli ngay từ đầu theo cách [GUI] dễ dàng, thuận tiện. PC-BSD 9 hiện tại. 0+ 'Phiên bản đồng vị' có hệ thống tệp ZFS phiên bản 5 và nhóm lưu trữ ZFS phiên bản 28

Kế hoạch 9 từ Bell Labs coi mọi thứ là một tệp và truy cập tất cả các đối tượng như một tệp sẽ được truy cập [i. e. , không có ioctl hoặc mmap]. kết nối mạng, đồ họa, gỡ lỗi, xác thực, khả năng, mã hóa và các dịch vụ khác được truy cập thông qua thao tác I/O trên bộ mô tả tệp. Giao thức 9P loại bỏ sự khác biệt giữa tệp cục bộ và tệp từ xa. Các hệ thống tệp trong Kế hoạch 9 được tổ chức với sự trợ giúp của các không gian tên riêng tư cho mỗi quy trình, cho phép mỗi quy trình có chế độ xem khác nhau về nhiều hệ thống tệp cung cấp tài nguyên trong một hệ thống phân tán

Hệ điều hành Inferno chia sẻ những khái niệm này với Gói 9

Microsoft Windows[sửa mã nguồn]

Danh sách thư mục trong trình bao lệnh Windows

Windows sử dụng các hệ thống tệp FAT, NTFS, exFAT, Live File System và ReFS [cuối cùng trong số này chỉ được hỗ trợ và sử dụng được trong Windows Server 2012, Windows Server 2016, Windows 8, Windows 8. 1 và Windows 10;

Windows sử dụng trừu tượng hóa ký tự ổ đĩa ở cấp độ người dùng để phân biệt một đĩa hoặc phân vùng này với đĩa khác. Ví dụ, con đường C. \WINDOWS đại diện cho một thư mục WINDOWS trên phân vùng được biểu thị bằng chữ C. ổ C. được sử dụng phổ biến nhất cho phân vùng ổ đĩa cứng chính, trên đó Windows thường được cài đặt và khởi động từ đó. "Truyền thống" này đã trở nên ăn sâu đến mức các lỗi tồn tại trong nhiều ứng dụng khiến giả định rằng ổ đĩa cài đặt hệ điều hành là C. Việc sử dụng các ký tự ổ đĩa và truyền thống sử dụng "C" làm ký tự ổ đĩa cho phân vùng ổ đĩa cứng chính, có thể bắt nguồn từ MS-DOS, trong đó các chữ cái A và B được dành riêng cho tối đa hai ổ đĩa mềm. Điều này lần lượt bắt nguồn từ CP/M vào những năm 1970 và cuối cùng là từ CP/CMS của IBM năm 1967

CHẤT BÉO[sửa]

Họ hệ thống tệp FAT được hầu hết các hệ điều hành dành cho máy tính cá nhân hỗ trợ, bao gồm tất cả các phiên bản Windows và MS-DOS/PC DOS, OS/2 và DR-DOS. [PC DOS là phiên bản OEM của MS-DOS, MS-DOS ban đầu dựa trên 86-DOS của SCP. DR-DOS dựa trên Concurrent DOS của Digital Research, kế thừa của CP/M-86. ] Do đó, các hệ thống tệp FAT rất phù hợp làm định dạng trao đổi chung giữa các máy tính và thiết bị thuộc hầu hết mọi loại và độ tuổi

Hệ thống tệp FAT truy nguyên nguồn gốc của nó trở lại tiền thân FAT 8 bit [không tương thích] trong Đĩa độc lập BASIC và dự án MDOS/MIDAS tồn tại trong thời gian ngắn. [cần dẫn nguồn]

Trong những năm qua, hệ thống tệp đã được mở rộng từ FAT12 sang FAT16 và FAT32. Nhiều tính năng khác nhau đã được thêm vào hệ thống tệp bao gồm thư mục con, hỗ trợ bảng mã, thuộc tính mở rộng và tên tệp dài. Các bên thứ ba như Nghiên cứu kỹ thuật số đã kết hợp hỗ trợ tùy chọn để theo dõi xóa và các chương trình bảo mật đa người dùng dựa trên ổ đĩa/thư mục/tệp để hỗ trợ mật khẩu tệp và thư mục và các quyền như quyền truy cập đọc/ghi/thực thi/xóa. Hầu hết các tiện ích mở rộng này không được Windows hỗ trợ

Các hệ thống tệp FAT12 và FAT16 có giới hạn về số lượng mục nhập trong thư mục gốc của hệ thống tệp và có các hạn chế về kích thước tối đa của các phân vùng hoặc đĩa có định dạng FAT

FAT32 giải quyết các hạn chế trong FAT12 và FAT16, ngoại trừ giới hạn kích thước tệp gần 4 GB, nhưng nó vẫn còn hạn chế so với NTFS

FAT12, FAT16 và FAT32 cũng có giới hạn tám ký tự cho tên tệp và ba ký tự cho phần mở rộng [chẳng hạn như. exe]. Điều này thường được gọi là 8. giới hạn 3 tên tệp. VFAT, một phần mở rộng tùy chọn cho FAT12, FAT16 và FAT32, được giới thiệu trong Windows 95 và Windows NT 3. 5, tên tệp dài [LFN] được phép lưu trữ trong hệ thống tệp FAT theo kiểu tương thích ngược

NTFS[sửa]

NTFS, được giới thiệu với hệ điều hành Windows NT vào năm 1993, cho phép kiểm soát quyền dựa trên ACL. Các tính năng khác cũng được NTFS hỗ trợ bao gồm liên kết cứng, nhiều luồng tệp, lập chỉ mục thuộc tính, theo dõi hạn ngạch, tệp thưa thớt, mã hóa, nén và điểm phân tích lại [thư mục hoạt động như điểm gắn kết cho các hệ thống tệp khác, liên kết tượng trưng, ​​​​điểm nối, liên kết lưu trữ từ xa]

exFAT [ chỉnh sửa ]

exFAT có một số lợi thế nhất định so với NTFS liên quan đến chi phí hệ thống tệp. [cần dẫn nguồn]

exFAT không tương thích ngược với các hệ thống tệp FAT như FAT12, FAT16 hoặc FAT32. Hệ thống tệp được hỗ trợ với các hệ thống Windows mới hơn, chẳng hạn như Windows XP, Windows Server 2003, Windows Vista, Windows 2008, Windows 7, Windows 8, Windows 8. 1, Windows 10 và Windows 11

exFAT được hỗ trợ trong macOS bắt đầu từ phiên bản 10. 6. 5 [Báo tuyết]. Hỗ trợ trong các hệ điều hành khác còn thưa thớt vì việc triển khai hỗ trợ cho exFAT cần có giấy phép. exFAT là hệ thống tệp duy nhất được hỗ trợ đầy đủ trên cả macOS và Windows có thể chứa các tệp lớn hơn 4 GB

OpenVMS[sửa]

Trước khi giới thiệu VSAM, các hệ thống OS/360 đã triển khai hệ thống tệp lai. Hệ thống được thiết kế để hỗ trợ dễ dàng các gói đĩa có thể tháo rời, vì vậy thông tin liên quan đến tất cả các tệp trên một đĩa [khối lượng theo thuật ngữ của IBM] được lưu trữ trên đĩa đó trong một tệp hệ thống phẳng có tên là Mục lục Khối lượng [VTOC]. VTOC lưu trữ tất cả siêu dữ liệu cho tệp. Sau đó, một cấu trúc thư mục phân cấp đã được áp dụng với việc giới thiệu Danh mục hệ thống, có thể tùy chọn lập danh mục các tệp [bộ dữ liệu] trên các ổ lưu trữ và di động. Danh mục chỉ chứa thông tin để liên kết tập dữ liệu với một khối lượng cụ thể. Nếu người dùng yêu cầu quyền truy cập vào tập dữ liệu trên ổ đĩa ngoại tuyến và họ có các đặc quyền phù hợp, hệ thống sẽ cố gắng tải ổ đĩa được yêu cầu. Các bộ dữ liệu được phân loại và không được phân loại vẫn có thể được truy cập bằng cách sử dụng thông tin trong VTOC, bỏ qua danh mục, nếu id khối lượng bắt buộc được cung cấp cho yêu cầu MỞ. Sau đó, VTOC đã được lập chỉ mục để tăng tốc độ truy cập

Hệ thống Giám sát Đàm thoại[sửa]

Thành phần IBM Conversational Monitor System [CMS] của VM/370 sử dụng một hệ thống tệp phẳng riêng biệt cho mỗi đĩa ảo [minidisk]. Dữ liệu tệp và thông tin điều khiển bị phân tán và trộn lẫn. Neo là một bản ghi được gọi là Master File Directory [MFD], luôn nằm trong khối thứ tư trên đĩa. Ban đầu CMS sử dụng các khối 800 byte có độ dài cố định, nhưng các phiên bản sau này đã sử dụng các khối có kích thước lớn hơn lên tới 4K. Truy cập vào một bản ghi dữ liệu yêu cầu hai cấp độ gián tiếp, trong đó mục nhập thư mục của tệp [được gọi là mục nhập Bảng trạng thái tệp [FST]] trỏ đến các khối chứa danh sách địa chỉ của các bản ghi riêng lẻ

Hệ thống tệp AS/400[sửa | sửa mã nguồn]

Dữ liệu trên AS/400 và các phiên bản sau của nó bao gồm các đối tượng hệ thống được ánh xạ vào không gian địa chỉ ảo của hệ thống trong một cửa hàng cấp đơn. Nhiều loại đối tượng được xác định bao gồm các thư mục và tệp được tìm thấy trong các hệ thống tệp khác. Các đối tượng tệp, cùng với các loại đối tượng khác, tạo thành cơ sở hỗ trợ của AS/400 cho cơ sở dữ liệu quan hệ tích hợp

Các hệ thống tệp khác[sửa | sửa mã nguồn]

  • Hệ thống tệp Prospero là một hệ thống tệp dựa trên Mô hình hệ thống ảo. Hệ thống được tạo bởi Dr. b. Clifford Neuman của Viện Khoa học Thông tin tại Đại học Nam California
  • - được viết bằng ALGOL 68
  • Hệ thống tệp của Hệ thống đầu cuối Michigan [MTS] rất thú vị vì. [i] nó cung cấp "tệp dòng" trong đó độ dài bản ghi và số dòng được liên kết dưới dạng siêu dữ liệu với từng bản ghi trong tệp, các dòng có thể được thêm, thay thế, cập nhật bằng các bản ghi có cùng độ dài hoặc khác nhau và xóa ở bất kỳ đâu trong tệp mà không cần

Hạn chế[sửa]

Chuyển đổi loại hệ thống tệp[sửa]

Có thể thuận lợi hoặc cần thiết để có các tệp trong một hệ thống tệp khác với hệ thống tệp hiện tại. Các lý do bao gồm nhu cầu tăng yêu cầu về dung lượng vượt quá giới hạn của hệ thống tệp hiện tại. Độ sâu của đường dẫn có thể cần được tăng lên ngoài giới hạn của hệ thống tệp. Có thể có những cân nhắc về hiệu suất hoặc độ tin cậy. Cung cấp quyền truy cập vào một hệ điều hành khác không hỗ trợ hệ thống tệp hiện có là một lý do khác

Chuyển đổi tại chỗ[sửa]

Trong một số trường hợp, việc chuyển đổi có thể được thực hiện tại chỗ, mặc dù việc di chuyển hệ thống tệp sẽ thận trọng hơn vì nó liên quan đến việc tạo một bản sao của dữ liệu và được khuyến nghị. Trên hệ thống tệp Windows, FAT và FAT32 có thể được chuyển đổi sang NTFS thông qua chuyển đổi. exe, nhưng không phải ngược lại. Trên Linux, ext2 có thể được chuyển đổi thành ext3 [và được chuyển đổi trở lại] và ext3 có thể được chuyển đổi thành ext4 [nhưng không quay lại] và cả ext3 và ext4 đều có thể được chuyển đổi thành btrfs và được chuyển đổi trở lại cho đến khi thông tin hoàn tác bị xóa. Những chuyển đổi này có thể thực hiện được do sử dụng cùng một định dạng cho chính dữ liệu tệp và di chuyển siêu dữ liệu vào không gian trống, trong một số trường hợp sử dụng hỗ trợ tệp thưa thớt

Di chuyển sang hệ thống tệp khác[sửa]

Di chuyển có nhược điểm là cần thêm dung lượng mặc dù có thể nhanh hơn. Trường hợp tốt nhất là nếu có dung lượng chưa sử dụng trên phương tiện sẽ chứa hệ thống tệp cuối cùng

Ví dụ: để di chuyển hệ thống tệp FAT32 sang hệ thống tệp ext2. Đầu tiên tạo một hệ thống tệp ext2 mới, sau đó sao chép dữ liệu vào hệ thống tệp, sau đó xóa hệ thống tệp FAT32

Một giải pháp thay thế, khi không có đủ dung lượng để giữ lại hệ thống tệp gốc cho đến khi hệ thống tệp mới được tạo, là sử dụng vùng làm việc [chẳng hạn như phương tiện di động]. Việc này mất nhiều thời gian hơn nhưng sao lưu dữ liệu là một tác dụng phụ tốt

Đường dẫn tệp dài và tên tệp dài[sửa | sửa mã nguồn]

Trong các hệ thống tệp phân cấp, các tệp được truy cập bằng một đường dẫn là danh sách phân nhánh của các thư mục chứa tệp. Các hệ thống tệp khác nhau có các giới hạn khác nhau về độ sâu của đường dẫn. Các hệ thống tệp cũng có giới hạn về độ dài của một tên tệp riêng lẻ

Sao chép tệp có tên dài hoặc nằm trong đường dẫn có độ sâu đáng kể từ hệ thống tệp này sang hệ thống tệp khác có thể gây ra kết quả không mong muốn. Điều này phụ thuộc vào cách tiện ích thực hiện sao chép xử lý sự khác biệt

Quá trình tập tin truyền thống là gì?

Trong hệ thống này, người dùng phải viết các thủ tục quản lý cơ sở dữ liệu . Nó cung cấp các chi tiết về biểu diễn dữ liệu và lưu trữ dữ liệu. Trong này - Dữ liệu được lưu trữ trong các tệp. Mỗi tệp có định dạng cụ thể.

Sự khác biệt giữa DBMS và hệ thống tệp truyền thống là gì?

Hệ thống tệp Vs DBMS. Khám phá sự khác biệt giữa Hệ thống tệp và DBMS là gì. Hệ thống tệp giúp lưu trữ tập hợp các tệp dữ liệu thô vào đĩa cứng, trong khi DBMS là một hệ thống phần mềm và nó giúp lưu trữ, thao tác hoặc khôi phục dữ liệu.

Một ví dụ về một hệ thống tập tin là gì?

Ví dụ bao gồm FAT [FAT12, FAT16, FAT32], exFAT, NTFS, HFS và HFS+, HPFS, APFS, UFS, ext2, ext3, ext4, XFS, btrfs, Files . Một số hệ thống tệp đĩa là hệ thống tệp nhật ký hoặc hệ thống tệp phiên bản. . Some disk file systems are journaling file systems or versioning file systems.

Hệ thống tập tin truyền thống thường được lưu trữ ở đâu?

Hệ thống tệp truyền thống là phương pháp tổ chức tệp trên thiết bị lưu trữ, chẳng hạn như đĩa cứng hoặc ổ flash USB . Nó cho phép truy cập nhanh vào các tập tin khi cần thiết. Tuy nhiên, phương pháp này có những nhược điểm đáng kể, chẳng hạn như dư thừa dữ liệu, thiếu bảo mật và dữ liệu không nhất quán.

Chủ Đề