Chủ đề bài học: “Tập tin và cấu trúc tập tin.” Cấu trúc tập tin là gì

Tệp là thông tin được lưu trữ trên phương tiện lưu trữ máy tính dưới một tên cụ thể.

Các tập tin có thể lưu trữ các chương trình, văn bản và dữ liệu.

Các tập tin được xác định (được xác định duy nhất) theo tên. Người dùng đặt tên tượng trưng cho tập tin. Trong một số hệ điều hành, chẳng hạn như hệ điều hành của Microsoft, mỗi tên tệp bao gồm trực tiếp tên tập tin do người dùng đưa ra và tiện ích mở rộng. Điều này tính đến các hạn chế của hệ điều hành đối với cả ký tự được sử dụng trong tên và độ dài của tên. Cho đến gần đây, những ranh giới này rất hẹp. Ví dụ: hệ thống tệp của hệ điều hành MS-DOS giới hạn độ dài tên ở sơ đồ 8.3 (8 ký tự được phân bổ cho tên, 3 ký tự cho phần mở rộng). Các hệ thống tệp hiện đại thường hỗ trợ tên tệp tượng trưng dài. Hệ điều hành Windows cho phép tên dài tới 255 ký tự. Phần mở rộng được phân tách khỏi tên tệp bằng ký hiệu “.” (chấm).

Phần mở rộng cho biết loại tệp:

exe, com các tệp thực thi, tức là. chương trình được viết bằng một trong các ngôn ngữ lập trình;

doc - các tệp được tạo trong trình soạn thảo văn bản Word;

xls - tệp được tạo trong bảng tính Excel;

mdb – Truy cập các tệp hệ thống quản lý cơ sở dữ liệu (DBMS).

Thông thường, để dễ sử dụng, các file được gộp thành các thư mục (folder).

Để hệ điều hành truy cập các tập tin, bạn phải chỉ định tên tập tin đầy đủ, bao gồm tên của thiết bị bên ngoài (thường là đĩa), chuỗi các thư mục con và tên tệp. Ví dụ,

C:\User\Letter.doc tên tập tin đầy đủ Thư.doc nằm trên ổ C: trong thư mục Người dùng. chuỗi tên của thiết bị bên ngoài và tất cả các thư mục con được gọi đường dẫn đầy đủ đến tập tin.

Đôi khi khi thực hiện một số thao tác nhất định (tìm kiếm, sao chép, xóa tệp), bạn có thể sử dụng mẫu tên tập tin.

Mẫu là tên chung cho một nhóm tệp chứa các ký tự: * hoặc?.

Biểu tượng * có nghĩa là bất kỳ ký tự hợp lệ nào cũng có thể được sử dụng thay thế nó, bắt đầu từ vị trí nó xuất hiện cho đến hết tên.

Biểu tượng ? chỉ ra rằng vị trí này có thể chứa bất kỳ ký tự nào, nhưng chỉ một ký tự hợp lệ.

Ví dụ,

vật mẫu *.doc là viết tắt của tất cả các tệp có phần mở rộng .doc,

mẫu Letter?.doc biểu thị tất cả các tệp có tên Letter1.doc, Letter3.doc, LetterZ.doc, LetterA.doc, v.v.

Để lưu trữ các tập tin trên đĩa và cung cấp quyền truy cập vào chúng, các hệ điều hành đĩa hiện đại tạo ra hệ thống tập tin. Nguyên tắc tổ chức của nhiều hệ thống tập tin là dạng bảng.

Ý tưởng hệ thống tập tin có hai ý nghĩa. Thứ nhất, đây là tên dành cho một cách tổ chức tệp, thư mục, v.v. cụ thể, và thứ hai, cho một tập hợp tệp, thư mục cụ thể, v.v., được tổ chức theo phương pháp này.

Dữ liệu về vị trí trên đĩa mà một tệp cụ thể được ghi sẽ được lưu trữ trong vùng hệ thống của đĩa theo cách đặc biệt. bảng phân bổ tập tin.

Hệ thống tập tin của Microsoft.

Các phiên bản đầu tiên của hệ điều hành Windows của Microsoft sử dụng bảng phân bổ tệp MẬP (FAT – TệpPhân bổionBàn).

Kết quả của việc định dạng là các rãnh (vòng tròn đồng tâm) được hình thành trên đĩa, mỗi rãnh chứa một số lượng nhất định lĩnh vực. Khu vực là một phần của rãnh lưu trữ phần thông tin tối thiểu có thể được đọc từ hoặc ghi vào đĩa.

Để tổ chức quyền truy cập vào các tệp được ghi trên đĩa từ, HĐH tạo một danh sách các khu vực được phân bổ cho mỗi tệp. Thông thường, không gian đĩa được phân bổ cho các tệp theo khối của một số lĩnh vực, được gọi là cụm 5 . Cụm là đơn vị nhỏ nhất địa chỉ dữ liệu (xác định vị trí của chúng) trên đĩa.

FAT bao gồm các ô lưu trữ số cụm và sự khác biệt chính giữa các FAT khác nhau là kích thước của các ô này, được xác định bởi số chữ số nhị phân (bit). Hệ điều hành Windows 95 sử dụng FAT16, trong đó 16 bit được phân bổ cho địa chỉ cụm và do đó, số lượng cụm là 65.536 (2 16). Trong trường hợp một cụm bằng một cung (512 byte), dung lượng đĩa tối đa sẽ là 32 MB. Với sự ra đời của đĩa dung lượng cao, cụm bắt đầu bao gồm một số lĩnh vực - 2, 4, 8, v.v.

Đây là nơi phát sinh vấn đề sử dụng không gian đĩa không hợp lý. Thực tế là một cụm không thể chứa nhiều hơn một tệp. Sau đó, tệp 1 KB sẽ sử dụng cụm 8 KB và 16 KB tùy thuộc vào kích thước đĩa. Windows 95 OSR2 đã giới thiệu định dạng bảng phân bổ tệp FAT32 (32-bit) và tăng số lượng cụm lên 232 = 4.294.967.296, cho phép các cụm 4 KB.

Mỗi tệp được liên kết với tên tệp đầy đủ, ngày tạo tệp, thuộc tính tệp và độ dài tệp.

Phần tử FAT để mô tả tệp bao gồm:

    byte thuộc tính;

    thời gian sửa đổi;

    Ngày sửa đổi;

    Số cụm thứ nhất mà việc ghi tập tin bắt đầu từ đó;

    Kích thước tập tin.

Khi một tệp được ghi vào đĩa, HĐH sẽ ghi số cụm đầu tiên được phân bổ cho tệp trong thư mục nơi tệp được tạo. Sau đó, trong phần tử biểu thị cụm này trong FAT, HĐH ghi số của cụm tiếp theo, tệp đã chọn, v.v. Do đó, bằng cách bắt đầu tìm kiếm tệp trong thư mục và làm theo các con trỏ trong FAT, HĐH sẽ có thể chọn các cụm liên quan đến file theo thứ tự thích hợp, theo cụm. Đây là lý do tại sao nếu bảng FAT bị hủy thì không thể khôi phục được file. Bảng FAT được lưu trữ trên đĩa thành hai bản sao.

Hệ thống tệp FAT16 được hỗ trợ bởi tất cả các hệ điều hành của Microsoft, một số hệ điều hành Unix và hệ điều hành OS/2.

Windows NT Workstation, Windows 2000 Professional và Windows XP hỗ trợ hệ thống tệp NTFS.

Hệ thống tệp NTFS được biểu diễn dưới dạng bảng MFT (Bậc thầy Tài liệu Bàn), có dạng sau:

Độ dài bảng tối đa là 1500 byte.

16 bản ghi đầu tiên là bản ghi dịch vụ; chúng lưu trữ thông tin mô tả chính bảng MFT (tương tự như vùng hệ thống FAT).

Bắt đầu từ mục thứ 17, có mô tả về tệp và thư mục:

    thông tin tiêu chuẩn – ngày và giờ tạo tập tin, kích thước của nó;

    tên tệp – được lưu trữ ở 2 phiên bản: dài (tối đa 255 ký tự) và ngắn (8 + 3), được sử dụng khi sử dụng tệp trong MS DOS;

    bộ mô tả bảo mật cho biết ai có quyền gì đối với một tệp hoặc thư mục nhất định;

    dữ liệu – dữ liệu của các tập tin được lưu trữ. Nếu tệp ngắn thì tất cả dữ liệu đều ở nơi này. Nếu tệp lớn thì một phần của tệp sẽ được lưu trữ trong một trường của bảng MFT này và phần còn lại được lưu trữ ở bất kỳ khu vực nào khác và khu vực này được tham chiếu trong MFT.

Hệ thống tệp NTFS hỗ trợ mức độ bảo mật cao (mỗi tệp có thể có bộ mô tả bảo vệ để sao chép, đọc, ghi, sửa đổi, v.v.) và các quyền khác nhau có thể được đặt cho các nhóm người dùng khác nhau.

Hệ điều hành

Hệ thống tập tin

Microsoft MS-DOS

Microsoft Windows 95

Microsoft Windows 95 OSR2

Microsoft Windows 98

Microsoft Windows NT

Microsoft Windows 2000

NTFS, FAT16, FAT32

Microsoft Windows XP

NTFS, FAT16, FAT32

Windows NT, Windows 2000 Professional và Windows XP hỗ trợ hệ thống tệp FAT khi chạy trên đĩa mềm. Ổ cứng hỗ trợ hai hệ thống tệp - FAT và NTFS.

Tệp và cấu trúc tệp

Thời gian logic của thiết bị bộ nhớ ngoài
Mỗi máy tính có thể có nhiều thiết bị bộ nhớ ngoài được kết nối. Thiết bị bộ nhớ ngoài chính của PC là ổ cứng. Nó thường được chia thành nhiều phân vùng hợp lý.

Việc có nhiều phân vùng logic trên một ổ cứng mang lại cho người dùng những lợi ích sau:


  • Bạn có thể lưu trữ hệ điều hành trong một phân vùng logic và lưu trữ dữ liệu trong một phân vùng logic khác, cho phép bạn cài đặt lại hệ điều hành mà không ảnh hưởng đến dữ liệu;

  • Bạn có thể cài đặt các hệ điều hành khác nhau trên một ổ cứng ở các phân vùng logic khác nhau;

  • Việc bảo trì một phân vùng logic không ảnh hưởng đến các phân vùng khác.

Các thiết bị bộ nhớ ngoài và phân vùng đĩa logic có tên logic.

Trên hệ điều hành Windows tên logic bao gồm một chữ cái Latinh và dấu hai chấm được chấp nhận:


  • đối với ổ đĩa mềm (đĩa mềm) – A: và B:

  • dành cho ổ cứng và phân vùng logic –C:, D:, E:, v.v.

  • đối với ổ đĩa quang, tên theo sau ổ đĩa cứng (ví dụ: F:)

  • Đối với bộ nhớ flash được kết nối với máy tính, hãy sử dụng tên sau (ví dụ: G :)
Trên hệ điều hành Linux Các quy tắc khác để đặt tên đĩa đã được thông qua:

  • Các phân vùng logic thuộc ổ cứng đầu tiên - tên hda1, hda2, v.v.;

  • Các phân vùng logic thuộc ổ cứng thứ hai được đặt tên là hdb1, hdb2, v.v.
Tất cả các chương trình và dữ liệu được lưu trữ trong bộ nhớ ngoài của máy tính dưới dạng tệp.
^ Tập tin là vùng được đặt tên của bộ nhớ ngoài.
Hệ thống tập tin là một phần của HĐH xác định cách sắp xếp, lưu trữ và đặt tên tệp trên phương tiện lưu trữ.
Một tệp được đặc trưng bởi một tập hợp các tham số (tên, kích thước, ngày tạo, ngày sửa đổi lần cuối) và các thuộc tính được hệ điều hành sử dụng để xử lý tệp đó (lưu trữ, hệ thống, ẩn, chỉ đọc). Kích thước tập tin được thể hiện bằng byte.

Tên tập tin , theo quy luật, bao gồm hai phần cách nhau bằng dấu chấm: chính cái tên tập tin và tiện ích mở rộng .

Tên tập tin được đưa ra bởi người dùng. Phần mở rộng tên thường được chương trình tự động đặt khi lưu file. Tiện ích mở rộng cho phép người dùng nhập nó và hệ điều hành mở tệp bằng ứng dụng mong muốn.
Trong hệ điều hành Windows, các ký tự sau bị cấm trong tên tệp: \, /, :, *, ?, ”, |. Trên Linux, các ký tự này, ngoại trừ /, đều hợp lệ.

Hệ điều hành Linux, không giống như Windows, phân biệt chữ thường và chữ in hoa trong tên tệp: ví dụ: FILE.txt, file.txt và FiLe.txt là ba tệp khác nhau trong Linux.

Các loại tệp và phần mở rộng phổ biến nhất:


Loại tệp

Ví dụ về phần mở rộng

Tập tin hệ thống

drv, sys

tập tin văn bản

txt, rtf, doc, docx, odt

Tệp đồ họa

bmp, gif, jpg, tif, png, psd

trang web

htm, html

Tập tin âm thanh

wav, mp3, midi, kar, ogg

Tập tin video

avi, mpeg

Lưu trữ

zip, rar

Bảng tính

xls, od

Mã chương trình (văn bản) trong ngôn ngữ lập trình

cơ bản, pas

Các loại tệp sau được phân biệt trong hệ điều hành Linux:


  • tệp thông thường - tệp có chương trình và dữ liệu

  • thư mục - tập tin chứa thông tin về thư mục

  • liên kết - tệp chứa liên kết đến các tệp khác

  • tập tin thiết bị đặc biệt - các tập tin được sử dụng để đại diện cho các thiết bị vật lý của máy tính (ổ cứng và ổ đĩa quang, máy in, loa âm thanh, v.v.)

Danh mục
Mỗi máy tính hoặc phương tiện lưu trữ có thể chứa một số lượng lớn tệp. Để dễ dàng tìm kiếm thông tin hơn, các tập tin dựa trên những đặc điểm nhất định được kết hợp thành các nhóm gọi là danh mục sản phẩm hoặc thư mục .
Các thư mục cũng có tên riêng. Bản thân thư mục đó có thể là một phần của thư mục khác bên ngoài nó. Mỗi thư mục có thể chứa nhiều file và thư mục con.

Mục lục là một tập hợp các tập tin và thư mục con (thư mục con) được đặt tên.
Thư mục cấp cao nhất được gọi là thư mục gốc .

Trong hệ điều hành Windows, bất kỳ vật mang thông tin nào cũng có thư mục gốc, được hệ điều hành tạo ra mà không cần sự can thiệp của người dùng. Thư mục gốc được chỉ định bằng cách thêm dấu “\” (dấu gạch chéo ngược) vào tên logic của thiết bị bộ nhớ ngoài tương ứng: A:\, C:\, B:\, v.v.

Trong Linux, các thư mục trên ổ cứng hoặc phân vùng logic của chúng không thuộc cấp cao nhất của hệ thống tệp (chúng không phải là thư mục gốc). Chúng được "gắn" vào thư mục mnl. Các thiết bị lưu trữ bên ngoài khác (ổ đĩa mềm, ổ đĩa quang và ổ đĩa flash) được “gắn” vào thư mục phương tiện. Các thư mục mnt và media lần lượt được “gắn” vào một thư mục gốc duy nhất, được biểu thị bằng dấu “/” (dấu gạch chéo lên).

Cấu trúc tập tin đĩa là tập hợp các tệp trên đĩa và mối quan hệ giữa chúng.

Cấu trúc tập tin được đơn giảnđa cấp(thứ bậc).

Cấu trúc tập tin đơn giản có thể được sử dụng cho các đĩa có số lượng tệp nhỏ (lên đến vài chục). Trong trường hợp này, mục lục đĩa là một chuỗi tuyến tính các tên tệp.
Cấu trúc tập tin phân cấp được sử dụng để lưu trữ lớn (hàng trăm nghìn) tệp. Thứ bậc là sự sắp xếp các bộ phận (thành phần) của tổng thể theo thứ tự từ cao nhất đến thấp nhất.

Một biểu diễn đồ họa của cấu trúc tệp phân cấp được gọi là cây .

Để truy cập tệp mong muốn được lưu trữ trên một đĩa nhất định, bạn có thể chỉ định đường dẫn đến tập tin – tên của tất cả các thư mục từ thư mục gốc đến thư mục chứa tệp.

Đường dẫn được ghi tuần tự tới file và tên file tạo thành tên tập tin đầy đủ .
Ví dụ về tên tệp đầy đủ trong hệ điều hành Windows:

E:\images\photos\Trip.jpeg

Một trong những thành phần của hệ điều hành là hệ thống tệp - nơi lưu trữ chính thông tin về hệ thống và người dùng. Tất cả các hệ điều hành hiện đại đều hoạt động với một hoặc nhiều hệ thống tệp, ví dụ: FAT (Bảng phân bổ tệp), NTFS (Hệ thống tệp NT), HPFS (Hệ thống tệp hiệu suất cao), NFS (Hệ thống tệp mạng), AFS (Hệ thống tệp Andrew) , Hệ thống tệp Internet.

Hệ thống tệp là một phần của hệ điều hành, mục đích của nó là cung cấp cho người dùng giao diện thuận tiện khi làm việc với dữ liệu được lưu trữ trong bộ nhớ ngoài và cho phép các tệp được chia sẻ giữa nhiều người dùng và quy trình.

Theo nghĩa rộng, khái niệm "hệ thống tập tin" bao gồm:

Bộ sưu tập tất cả các tệp trên đĩa;

Tập hợp cấu trúc dữ liệu được sử dụng để quản lý tệp, chẳng hạn như thư mục tệp, bộ mô tả tệp, bảng phân bổ không gian đĩa trống và đã sử dụng;

Một bộ công cụ phần mềm hệ thống thực hiện quản lý tệp, cụ thể là: tạo, hủy, đọc, ghi, đặt tên, tìm kiếm và các hoạt động khác trên tệp.

Hệ thống tập tin thường được sử dụng cả khi tải HĐH sau khi bật máy tính và trong quá trình hoạt động. Hệ thống tập tin thực hiện các chức năng chính sau:

Xác định các cách có thể để tổ chức tệp và cấu trúc tệp trên phương tiện;

Triển khai các phương pháp truy cập nội dung tệp và cung cấp các công cụ để làm việc với tệp và cấu trúc tệp. Trong trường hợp này, quyền truy cập vào dữ liệu có thể được tổ chức theo hệ thống tệp theo cả tên và địa chỉ (số khu vực, bề mặt và đường đi của phương tiện);

Giám sát không gian trống trên phương tiện lưu trữ.

Khi một chương trình ứng dụng truy cập vào một tệp, nó không biết thông tin trong một tệp cụ thể được định vị như thế nào cũng như loại phương tiện vật lý nào (CD, đĩa cứng hoặc bộ nhớ flash) được ghi trên đó. Tất cả những gì chương trình biết là tên tệp, kích thước và thuộc tính của nó. Nó nhận dữ liệu này từ trình điều khiển hệ thống tập tin. Chính hệ thống tệp sẽ xác định vị trí và cách thức tệp sẽ được ghi trên phương tiện vật lý (ví dụ: ổ cứng).

Theo quan điểm của hệ điều hành, toàn bộ đĩa là một tập hợp các cụm (vùng bộ nhớ) có kích thước từ 512 byte trở lên. Trình điều khiển hệ thống tệp sắp xếp các cụm thành các tệp và thư mục (thực chất là các tệp chứa danh sách các tệp trong thư mục đó). Các trình điều khiển tương tự này sẽ theo dõi cụm nào hiện đang được sử dụng, cụm nào miễn phí và cụm nào được đánh dấu là bị lỗi. Để hiểu rõ ràng cách dữ liệu được lưu trữ trên đĩa và cách hệ điều hành cung cấp quyền truy cập vào chúng, cần phải hiểu, ít nhất là về mặt chung, cấu trúc logic của đĩa.


3.1.5 Cấu trúc logic đĩa

Để máy tính có thể lưu trữ, đọc và ghi thông tin, trước tiên ổ cứng phải được phân vùng. Các phân vùng được tạo trên đó bằng các chương trình thích hợp - việc này được gọi là "phân vùng ổ cứng". Nếu không có phân vùng này, sẽ không thể cài đặt hệ điều hành trên ổ cứng (mặc dù Windows XP và 2000 có thể được cài đặt trên một đĩa không được phân vùng, nhưng chúng tự thực hiện việc phân vùng này trong quá trình cài đặt).

Ổ cứng có thể được chia thành nhiều phân vùng, mỗi phân vùng sẽ được sử dụng độc lập. Cái này để làm gì? Một đĩa có thể chứa nhiều hệ điều hành khác nhau nằm trên các phân vùng khác nhau. Cấu trúc bên trong của một phân vùng được phân bổ cho bất kỳ HĐH nào hoàn toàn được xác định bởi hệ điều hành đó.

Ngoài ra, còn có những lý do khác để phân vùng đĩa, ví dụ:

Khả năng sử dụng đĩa có dung lượng lớn hơn MS DOS
32 MB;

Nếu một đĩa bị hỏng, chỉ thông tin trên đĩa đó bị mất;

Việc sắp xếp lại và dỡ bỏ một đĩa nhỏ dễ dàng và nhanh hơn một đĩa lớn;

Mỗi người dùng có thể được chỉ định ổ đĩa logic của riêng mình.

Thao tác chuẩn bị đĩa để sử dụng được gọi là định dạng, hoặc khởi tạo. Tất cả không gian đĩa sẵn có được chia thành các cạnh, rãnh và cung, với các rãnh và cạnh được đánh số bắt đầu từ 0 và các cung bắt đầu từ một. Một tập hợp các rãnh nằm ở cùng khoảng cách với trục của đĩa hoặc một gói đĩa được gọi là hình trụ. Do đó, địa chỉ vật lý của khu vực được xác định bởi tọa độ sau: số rãnh ghi (hình trụ - C), số mặt đĩa (đầu - H), số khu vực - R, tức là. CHR.

Khu vực đầu tiên của đĩa cứng (C=0, H=0, R=1) chứa bản ghi khởi động chính Bản ghi khởi động chính. Mục này không chiếm toàn bộ khu vực mà chỉ chiếm phần đầu tiên của nó. Master Boot Record là một chương trình tải khởi động phi hệ thống.

Ở cuối khu vực đầu tiên của ổ cứng là bảng phân vùng đĩa - Bảng phân vùng. Bảng này chứa bốn hàng mô tả tối đa bốn phân vùng. Mỗi hàng trong bảng mô tả một phần:

1) phần hoạt động hay không;

2) số của phần tương ứng với phần đầu của phần;

3) số của phần tương ứng với phần cuối của phần;

4) kích thước phân vùng theo các lĩnh vực;

5) mã hệ điều hành, tức là Phân vùng này thuộc hệ điều hành nào?

Một phân vùng được gọi là hoạt động nếu nó chứa chương trình khởi động hệ điều hành. Byte đầu tiên trong phần tử phần là cờ hoạt động phần (0 – không hoạt động, 128 (80H) – hoạt động). Nó được sử dụng để xác định xem phân vùng có phải là hệ thống hay không (có khả năng khởi động) và liệu hệ điều hành có cần được tải từ nó khi máy tính khởi động hay không. Chỉ có một phần có thể hoạt động. Các chương trình nhỏ được gọi là trình quản lý khởi động có thể nằm trong các khu vực đầu tiên của đĩa. Họ tương tác hỏi người dùng nên khởi động từ phân vùng nào và điều chỉnh cờ hoạt động của phân vùng cho phù hợp. Vì Bảng phân vùng có bốn hàng nên có thể có tối đa bốn hệ điều hành khác nhau trên đĩa, do đó, đĩa có thể chứa một số phân vùng chính thuộc các hệ điều hành khác nhau.

Một ví dụ về cấu trúc logic của một đĩa cứng bao gồm ba phân vùng, hai trong số đó thuộc về DOS và một thuộc về UNIX, được thể hiện trong Hình 3.2a.

Mỗi phân vùng đang hoạt động có bản ghi khởi động riêng - một chương trình tải một hệ điều hành nhất định.

Trong thực tế, đĩa thường được chia thành hai phân vùng. Kích thước của các phân vùng dù có được khai báo là hoạt động hay không đều do người dùng thiết lập trong quá trình chuẩn bị sử dụng ổ cứng. Điều này được thực hiện bằng cách sử dụng các chương trình đặc biệt. Trong DOS chương trình này được gọi là FDISK, trong các phiên bản Windows-XX nó được gọi là Diskadministrator.

Trong DOS, phân vùng chính là Phân vùng chính, đây là phần chứa trình tải hệ điều hành và chính hệ điều hành đó. Vì vậy, phân vùng chính là phân vùng hoạt động, được sử dụng làm ổ đĩa logic có tên C:.

Hệ điều hành WINDOWS (cụ thể là WINDOWS 2000) đã thay đổi thuật ngữ: phân vùng hoạt động được gọi là phân vùng hệ thống, và phân vùng khởi động là đĩa logic chứa các tệp hệ thống WINDOWS. Ổ đĩa logic khởi động có thể giống với phân vùng hệ thống, nhưng nó có thể nằm trên một phân vùng khác của cùng một ổ cứng hoặc trên một ổ cứng khác.

Phần nâng cao Phân vùng mở rộng có thể được chia thành nhiều ổ đĩa logic có tên từ D: đến Z:.

Hình 3.2b thể hiện cấu trúc logic của một ổ cứng, chỉ có hai phân vùng và bốn ổ đĩa logic.

Hệ thống tập tin. Các loại hệ thống tập tin. Hoạt động tập tin. Danh mục. Các thao tác với thư mục.

Tài liệu là một vùng được đặt tên của bộ nhớ ngoài có thể được ghi vào và đọc từ đó.

Mục đích chính của việc sử dụng tập tin.

    Lưu trữ thông tin lâu dài và đáng tin cậy . Độ bền đạt được thông qua việc sử dụng các thiết bị lưu trữ không phụ thuộc vào nguồn điện và độ tin cậy cao được xác định bằng cách bảo vệ quyền truy cập vào tệp và tổ chức chung của mã chương trình hệ điều hành, trong đó lỗi phần cứng thường không phá hủy thông tin được lưu trữ trong các tập tin.

    Chia sẻ thông tin . Tệp cung cấp một cách tự nhiên và dễ dàng để chia sẻ thông tin giữa các ứng dụng và người dùng bằng cách có tên biểu tượng dễ đọc và tính nhất quán về thông tin được lưu trữ và vị trí tệp. Người dùng phải có các công cụ thuận tiện để làm việc với tệp, bao gồm các thư mục kết hợp các tệp thành nhóm, công cụ tìm kiếm tệp theo đặc điểm, bộ lệnh để tạo, sửa đổi và xóa tệp. Một tệp có thể được tạo bởi một người dùng và sau đó được sử dụng bởi một người dùng hoàn toàn khác và người tạo hoặc quản trị viên tệp có thể xác định quyền truy cập của những người dùng khác. Những mục tiêu này được triển khai trong hệ điều hành bằng hệ thống tệp.

Hệ thống tập tin (FS) là một phần của hệ điều hành bao gồm:

    bộ sưu tập tất cả các tệp trên đĩa;

    bộ cấu trúc dữ liệu được sử dụng để quản lý tệp, chẳng hạn như thư mục tệp, bộ mô tả tệp, bảng phân bổ không gian đĩa trống và đã sử dụng;

    một bộ công cụ phần mềm hệ thống thực hiện các thao tác khác nhau trên tệp, chẳng hạn như tạo, hủy, đọc, ghi, đặt tên và tìm kiếm tệp.

Do đó, hệ thống tệp đóng vai trò là lớp trung gian sàng lọc tất cả sự phức tạp của tổ chức vật lý của việc lưu trữ dữ liệu dài hạn và tạo ra một mô hình logic đơn giản hơn cho việc lưu trữ này cho các chương trình, cũng như cung cấp cho chúng một bộ các lệnh dễ sử dụng để thao tác với tập tin.

Các hệ thống tập tin sau đây được biết đến rộng rãi:

    hệ thống tập tin hệ điều hành bệnh đa xơ cứng - DOS , dựa trên Bảng phân bổ tập tin - MẬP ( Tài liệu Phân bổ Bàn ).

Bảng chứa thông tin về vị trí của tất cả các file (mỗi file được chia thành cụm Các cụm của cùng một tệp không nhất thiết phải nằm cạnh nhau, tùy thuộc vào dung lượng đĩa trống). Hệ thống tệp MS-DOS có những hạn chế và nhược điểm đáng kể, ví dụ: trong Tên Tệp được phân bổ 12 byte, làm việc với ổ cứng lớn dẫn đến phân mảnh tệp đáng kể;

Các chức năng chính trong FS như vậy nhằm giải quyết các nhiệm vụ sau:

    đặt tên tập tin;

    giao diện lập trình ứ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;

    Khả năng phục hồi của hệ thống tệp khi mất điện, lỗi phần cứng và phần mềm.

    hệ điều hành /2 , gọi điện HPFS ( Cao - Hiệu suất Tài liệu Hệ thống - hệ thống tập tin nhanh).

Cung cấp khả năng có tên tệp lên tới 254 ký tự. Các tập tin được ghi vào đĩa có độ phân mảnh tối thiểu. Có thể làm việc với các tập tin được viết bằng MS DOS;

Một nhiệm vụ mới được thêm vào các nhiệm vụ được liệt kê ở trên chia sẻ một tập tin từ nhiều quá trình. Tệp trong trường hợp này là tài nguyên được chia sẻ, có nghĩa là hệ thống tệp phải giải quyết toàn bộ các vấn đề liên quan đến tài nguyên đó. Đặc biệt, FS phải cung cấp các phương tiện để chặn một tệp và các phần của nó, ngăn ngừa sự chạy đua, loại bỏ bế tắc, đối chiếu các bản sao, v.v.

Trong hệ thống nhiều người dùng, một nhiệm vụ khác xuất hiện: bảo vệ tệp của một người dùng khỏi bị người dùng khác truy cập trái phép.

    hệ thống tập tin hệ điều hành các cửa sổ 95

Nó có cấu trúc cấp độ, cho phép bạn hỗ trợ đồng thời một số hệ thống tệp. Hệ thống file MS-DOS cũ được hỗ trợ trực tiếp, còn các hệ thống file không do hãng phát triển Microsoft, được hỗ trợ bằng cách sử dụng đặc biệt mô-đun. Có thể sử dụng tên tệp dài (tối đa 254 ký tự).

    hệ thống tập tin hệ điều hành Unix

Chúng cung cấp một cách thống nhất để truy cập các hệ thống tệp I/O.

Quyền truy cập tệp trên thực tế xác định quyền truy cập vào hệ thống (chủ sở hữu tệp là người dùng đã tạo tệp đó).

Loại tập tin

Hệ thống tệp hỗ trợ một số loại tệp khác nhau về mặt chức năng, thường bao gồm tệp thông thường, tệp thư mục, tệp đặc biệt, đường ống được đặt tên, tệp ánh xạ bộ nhớ và các loại khác.

Tệp thông thường , hoặc đơn giản là các tệp, chứa thông tin tùy ý được người dùng nhập vào hoặc được tạo ra do hoạt động của hệ thống và chương trình người dùng. Hầu hết các hệ điều hành hiện đại (ví dụ: UNIX, Windows, OS/2) không hạn chế hoặc kiểm soát nội dung và cấu trúc của một tệp thông thường theo bất kỳ cách nào. Nội dung của một tệp thông thường được xác định bởi ứng dụng hoạt động với nó. Ví dụ: trình soạn thảo văn bản tạo các tệp văn bản bao gồm các chuỗi ký tự được biểu thị bằng một số mã. Đây có thể là tài liệu, mã nguồn chương trình, v.v. Tệp văn bản có thể được đọc trên màn hình và in trên máy in. Tệp nhị phân không sử dụng mã ký tự và thường có cấu trúc bên trong phức tạp, chẳng hạn như mã chương trình thực thi hoặc tệp lưu trữ. Tất cả các hệ điều hành phải có khả năng nhận dạng ít nhất một loại tệp - tệp thực thi của riêng chúng.

Danh mục - đây là loại tệp đặc biệt chứa thông tin tham chiếu hệ thống về một tập hợp tệp được người dùng nhóm theo tiêu chí không chính thức nào đó (ví dụ: tệp chứa tài liệu của cùng một hợp đồng hoặc các tệp tạo nên một gói phần mềm được kết hợp thành một nhóm). Trên nhiều hệ điều hành, một thư mục có thể chứa bất kỳ loại tệp nào, kể cả các thư mục khác, tạo thành cấu trúc cây dễ tìm kiếm. Các thư mục thiết lập ánh xạ giữa tên tệp và đặc điểm tệp được hệ thống tệp sử dụng để quản lý tệp. Đặc biệt, các đặc điểm đó bao gồm thông tin (hoặc con trỏ tới cấu trúc khác chứa dữ liệu này) về loại tệp và vị trí của tệp trên đĩa, quyền truy cập vào tệp cũng như ngày tạo và sửa đổi tệp. Trong tất cả các khía cạnh khác, các thư mục được hệ thống tệp xử lý như các tệp thông thường.

Các tập tin đặc biệt - Đây là các file giả được liên kết với các thiết bị I/O, dùng để thống nhất cơ chế truy cập file và các thiết bị bên ngoài. Các tệp đặc biệt cho phép người dùng thực hiện các thao tác I/O bằng các lệnh thông thường để ghi vào tệp hoặc đọc từ tệp. Các lệnh này trước tiên được xử lý bởi các chương trình hệ thống tệp, sau đó ở một số giai đoạn thực hiện yêu cầu, chúng được hệ điều hành chuyển đổi thành các lệnh điều khiển cho thiết bị tương ứng.

Các hệ thống tệp hiện đại hỗ trợ các loại tệp khác, chẳng hạn như liên kết tượng trưng, ​​​​ống dẫn được đặt tên và tệp ánh xạ bộ nhớ.

Cấu trúc hệ thống tập tin phân cấp

Người dùng truy cập tập tin bằng tên tượng trưng. Tuy nhiên, bộ nhớ của con người giới hạn số lượng tên đối tượng mà người dùng có thể tham chiếu theo tên. Tổ chức phân cấp của không gian tên cho phép chúng tôi mở rộng đáng kể các ranh giới này. Đây là lý do tại sao hầu hết các hệ thống tập tin đều có cấu trúc phân cấp, trong đó các cấp được tạo bằng cách cho phép chứa một thư mục cấp thấp hơn trong một thư mục cấp cao hơn (Hình 7.3).

Biểu đồ mô tả hệ thống phân cấp thư mục có thể là cây hoặc mạng. Các thư mục tạo thành một cây nếu một tệp chỉ được phép đưa vào một thư mục (Hình 7.3, b) và một mạng - nếu tệp có thể được đưa vào một số thư mục cùng một lúc (Hình 7.3, c). Ví dụ, trong MS-DOS và Windows, các thư mục tạo thành cấu trúc cây, trong khi ở UNIX, chúng tạo thành cấu trúc mạng. Trong cấu trúc cây, mỗi file là một lá. Thư mục cấp cao nhất được gọi là thư mục gốc hoặc root ( nguồn gốc ).

Với cách tổ chức này, người dùng không cần phải nhớ tên của tất cả các tệp; anh ta chỉ cần có ý tưởng sơ bộ về việc một tệp cụ thể có thể được gán vào nhóm nào để tìm thấy nó bằng cách duyệt tuần tự các thư mục. Cấu trúc phân cấp thuận tiện cho công việc của nhiều người dùng: mỗi người dùng với các tệp của mình được bản địa hóa trong thư mục hoặc cây con của thư mục riêng, đồng thời, tất cả các tệp trong hệ thống được kết nối hợp lý.

Trường hợp đặc biệt của cấu trúc phân cấp là tổ chức một cấp, khi tất cả các tệp được bao gồm trong một thư mục (Hình 7.3, a).

Tên tệp

Tất cả các loại tập tin đều có tên tượng trưng. Các hệ thống tệp được tổ chức theo cấp bậc thường sử dụng ba loại tên tệp: đơn giản, phức hợp và tương đối.

Một tên tượng trưng đơn giản hoặc ngắn gọn xác định một tệp trong một thư mục. Tên đơn giản được người dùng và lập trình viên gán cho các tệp và họ phải tính đến các hạn chế của hệ điều hành về cả phạm vi ký tự và độ dài của tên. Cho đến tương đối gần đây, những ranh giới này vẫn rất hẹp. Do đó, trong hệ thống tệp FAT phổ biến, độ dài của tên được giới hạn ở sơ đồ 8.3 (8 ký tự - chính tên, 3 ký tự - phần mở rộng tên) và trong hệ thống tệp s5, được hỗ trợ bởi nhiều phiên bản của hệ điều hành UNIX, một tên tượng trưng đơn giản không thể chứa nhiều hơn 14 ký tự. Tuy nhiên, sẽ thuận tiện hơn nhiều cho người dùng khi làm việc với những cái tên dài vì chúng cho phép bạn đặt những cái tên dễ nhớ cho biết rõ nội dung chứa trong tệp. Do đó, các hệ thống tệp hiện đại, cũng như các phiên bản cải tiến của hệ thống tệp có sẵn, có xu hướng hỗ trợ các tên tệp ký hiệu dài và đơn giản. Ví dụ: trên hệ thống tệp NTFS và FAT32 có trong hệ điều hành Windows NT, tên tệp có thể chứa tối đa 255 ký tự.

Trong các hệ thống tệp phân cấp, các tệp khác nhau được phép có cùng tên biểu tượng đơn giản, miễn là chúng thuộc về các thư mục khác nhau. Nghĩa là, sơ đồ “nhiều tệp - một tên đơn giản” hoạt động ở đây. Để xác định duy nhất một tệp trong các hệ thống như vậy, cái gọi là tên đầy đủ sẽ được sử dụng.

Tên đầy đủ là một chuỗi các tên tượng trưng đơn giản của tất cả các thư mục mà đường dẫn từ gốc đến tệp đã cho đi qua. Do đó, tên đầy đủ là tên ghép, trong đó các tên đơn giản được phân tách với nhau bằng dấu phân cách được chấp nhận trong HĐH. Thông thường, dấu gạch chéo tiến hoặc dấu gạch chéo ngược được sử dụng làm dấu phân cách và theo thông lệ, người ta không chỉ định tên của thư mục gốc. Trong bộ lễ phục. 7.3, b hai tệp có tên đơn giản là main.exe, nhưng tên ghép của chúng là /depart/main.exe và /user/anna/main.exe thì khác nhau.

Trong hệ thống tệp dạng cây, có sự tương ứng một-một giữa tệp và tên đầy đủ của nó: một tệp - một tên đầy đủ. Trong các hệ thống tệp có cấu trúc mạng, một tệp có thể được bao gồm trong một số thư mục và do đó có một số tên đầy đủ; ở đây sự tương ứng “một tập tin - nhiều tên đầy đủ” là hợp lệ. Trong cả hai trường hợp, tệp được xác định duy nhất bằng tên đầy đủ của nó.

Một tập tin cũng có thể được xác định bằng tên tương đối. Tên tệp tương đối được xác định thông qua khái niệm "thư mục hiện tại". Đối với mỗi người dùng, tại bất kỳ thời điểm nào, một trong các thư mục hệ thống tệp là thư mục hiện tại và thư mục này được chính người dùng chọn theo lệnh của hệ điều hành. Hệ thống tệp ghi lại tên của thư mục hiện tại để sau đó có thể sử dụng nó làm phần bổ sung cho tên tương đối để tạo thành tên tệp đủ điều kiện. Khi sử dụng tên tương đối, người dùng sẽ xác định một tệp bằng chuỗi tên thư mục mà tuyến đường từ thư mục hiện tại đến tệp đã cho đi qua. Ví dụ: nếu thư mục hiện tại là /user thì tên tệp tương đối /user/anna/main.exe là anna/main.exe.

Một số hệ điều hành cho phép bạn gán nhiều tên đơn giản cho cùng một tệp, tên này có thể được hiểu là bí danh. Trong trường hợp này, giống như trong một hệ thống có cấu trúc mạng, sự tương ứng “một tệp - nhiều tên đầy đủ” được thiết lập, vì mỗi tên tệp đơn giản tương ứng với ít nhất một tên đầy đủ.

Và mặc dù tên đầy đủ xác định duy nhất tệp, nhưng hệ điều hành sẽ dễ dàng làm việc với tệp hơn nếu có sự tương ứng một-một giữa các tệp và tên của chúng. Với mục đích này, nó gán một tên duy nhất cho tệp, sao cho mối quan hệ “một tệp - một tên duy nhất” là hợp lệ. Tên duy nhất tồn tại cùng với một hoặc nhiều tên tượng trưng được người dùng hoặc ứng dụng gán cho tệp. Tên duy nhất là một mã định danh bằng số và chỉ dành cho hệ điều hành. Một ví dụ về tên tệp duy nhất như vậy là số inode trên hệ thống UNIX.

Thuộc tính tệp

Khái niệm “tập tin” không chỉ bao gồm dữ liệu và tên mà nó lưu trữ mà còn bao gồm các thuộc tính của nó. Thuộc tính - Đây là thông tin mô tả thuộc tính của file. Ví dụ về các thuộc tính tệp có thể có:

    loại tệp (tệp thông thường, thư mục, tệp đặc biệt, v.v.);

    chủ sở hữu tập tin;

    người tạo tập tin;

    mật khẩu để truy cập tập tin;

    thông tin về các hoạt động truy cập tập tin được phép;

    thời gian tạo, lần truy cập cuối cùng và sửa đổi lần cuối;

    kích thước tập tin hiện tại;

    Kích thước tệp tối đa;

    dấu hiệu chỉ đọc;

    dấu hiệu “file ẩn”;

    ký tên vào “tập tin hệ thống”;

    ký vào “tập tin lưu trữ”;

    thuộc tính "nhị phân/ký tự";

    thuộc tính “tạm thời” (xóa sau khi hoàn tất quá trình);

    biển báo chặn;

    độ dài bản ghi tập tin;

    con trỏ tới trường khóa trong bản ghi;

    độ dài khóa.

Tập hợp các thuộc tính tệp được xác định bởi các đặc điểm cụ thể của hệ thống tệp: các loại hệ thống tệp khác nhau có thể sử dụng các bộ thuộc tính khác nhau để mô tả đặc điểm của tệp. Ví dụ: trên các hệ thống tệp hỗ trợ tệp phẳng, không cần sử dụng ba thuộc tính cuối cùng trong danh sách có liên quan đến cấu trúc tệp. Trong hệ điều hành một người dùng, tập hợp các thuộc tính sẽ thiếu các đặc điểm liên quan đến người dùng và bảo mật, chẳng hạn như chủ sở hữu tệp, người tạo tệp, mật khẩu để truy cập tệp, thông tin về quyền truy cập được ủy quyền vào tệp.

Người dùng có thể truy cập các thuộc tính bằng cách sử dụng các phương tiện được hệ thống tệp cung cấp cho mục đích này. Thông thường, bạn có thể đọc giá trị của bất kỳ thuộc tính nào nhưng chỉ thay đổi một số thuộc tính. Ví dụ: người dùng có thể thay đổi quyền của tệp (miễn là họ có các quyền cần thiết để làm như vậy), nhưng họ không thể thay đổi ngày tạo hoặc kích thước hiện tại của tệp.

Các giá trị thuộc tính tệp có thể được chứa trực tiếp trong các thư mục, như được thực hiện trong hệ thống tệp MS-DOS (Hình 7.6a). Hình này cho thấy cấu trúc của một mục thư mục chứa một tên biểu tượng đơn giản và các thuộc tính tệp. Ở đây các chữ cái biểu thị đặc điểm của tệp: R - chỉ đọc, A - lưu trữ, H - ẩn, S - hệ thống.

Cơm. 7.6. Cấu trúc thư mục: a - Cấu trúc mục nhập thư mục MS-DOS (32 byte), b - Cấu trúc mục nhập thư mục UNIX OS

Một tùy chọn khác là đặt các thuộc tính trong các bảng đặc biệt, khi danh mục chỉ chứa các liên kết đến các bảng này. Cách tiếp cận này được triển khai, ví dụ, trong hệ thống tệp ufs của hệ điều hành UNIX. Trong hệ thống tập tin này, cấu trúc thư mục rất đơn giản. Bản ghi cho mỗi tệp chứa một tên tệp ký hiệu ngắn và một con trỏ tới bộ mô tả chỉ mục tệp, đây là tên trong ufs cho bảng tập trung các giá trị thuộc tính tệp (Hình 7.6, b).

Trong cả hai phiên bản, các thư mục đều cung cấp liên kết giữa tên tệp và chính các tệp đó. Tuy nhiên, cách tiếp cận tách tên tệp khỏi các thuộc tính của nó làm cho hệ thống trở nên linh hoạt hơn. Ví dụ: một tập tin có thể dễ dàng được đưa vào nhiều thư mục cùng một lúc. Các mục nhập của tệp này trong các thư mục khác nhau có thể có các tên đơn giản khác nhau, nhưng trường liên kết sẽ có cùng số inode.

Hoạt động tập tin

Hầu hết các hệ điều hành hiện đại đều coi tệp là một chuỗi byte có độ dài thay đổi không có cấu trúc. Tiêu chuẩn POSIX Các thao tác sau được xác định trên tệp:

    int mở ( ký tự * tên , int cờ , cách thức _ t cách thức )

Thao tác này ``mở'' một tập tin, thiết lập một kết nối giữa chương trình và tập tin. Trong trường hợp này chương trình nhận được mô tả tập tin- một số nguyên xác định kết nối này. Trên thực tế, đây là chỉ mục trong bảng hệ thống của các tệp đang mở cho một tác vụ nhất định. Tất cả các hoạt động khác đều sử dụng chỉ mục này để tham chiếu tệp.

Tham số char * fname chỉ định tên tệp.int flags là mặt nạ bit xác định chế độ mở của tệp.Tệp có thể được mở ở chế độ chỉ đọc, chỉ ghi hoặc đọc-ghi; Ngoài ra, bạn có thể mở một tệp hiện có hoặc bạn có thể thử tạo một tệp mới có độ dài bằng 0. Chế độ tham số thứ ba tùy chọn chỉ được sử dụng khi tạo tệp và chỉ định các thuộc tính của tệp này.

    tắt _ t lseek ( int xử lý , tắt _ t bù lại , int từ đâu đến )

Thao tác này di chuyển con trỏ đọc/ghi trong tệp. Tham số offset chỉ định số byte để offset con trỏ và tham số whoce chỉ định vị trí bắt đầu offset. Người ta giả định rằng offset có thể được tính từ đầu tệp (SEEK_SET), từ cuối tệp (SEEK_END) và từ vị trí con trỏ hiện tại (SEEK_CUR). Thao tác trả về vị trí con trỏ được đo từ đầu tệp. Do đó, gọi lseek(handle, 0, SEEK_CUR) sẽ trả về vị trí hiện tại của con trỏ mà không di chuyển nó.

    int read(int Handle, char * Where, size_t How_much)

Đọc hoạt động từ một tập tin. Con trỏ Where chỉ định bộ đệm nơi dữ liệu đọc sẽ được đặt; tham số thứ ba chỉ định số lượng dữ liệu cần đọc.Hệ thống đọc số byte cần thiết từ tệp, bắt đầu từ con trỏ đọc/ghi tới tệp đó và di chuyển con trỏ đến cuối chuỗi đọc. Nếu tệp kết thúc sớm thì càng nhiều dữ liệu sẽ được đọc cho đến khi kết thúc. Hoạt động trả về số byte đã đọc. Nếu tệp được mở chỉ để ghi, việc gọi đọc sẽ trả về lỗi.

    int write(int xử lý, char * cái gì, size_t thế nào_much)

Một thao tác ghi vào một tập tin. Con trỏ what chỉ định điểm bắt đầu của bộ đệm dữ liệu, tham số thứ ba chỉ định số lượng dữ liệu cần ghi.Hệ thống ghi số byte cần thiết vào tệp, bắt đầu từ con trỏ đọc/ghi vào tệp đó, thay thế dữ liệu được lưu trữ tại đó vị trí và di chuyển con trỏ đến cuối khối văn bản. Nếu tệp kết thúc sớm hơn, độ dài của nó sẽ tăng lên. Hoạt động trả về số byte được ghi.

Nếu tệp được mở ở chế độ chỉ đọc, việc gọi ghi sẽ trả về lỗi.

    int ioctl(int xử lý, int cmd, ...) ; int fcntl ( int xử lý , int cmd , ...)

Các thao tác bổ sung trên tập tin. Ban đầu, có vẻ như ioctl được dự định là một thao tác trên chính tệp đó và fcntl là một thao tác trên một trình xử lý tệp mở, nhưng sau đó các diễn biến lịch sử đã phần nào trộn lẫn các chức năng của các lệnh gọi hệ thống này. Tiêu chuẩn POSIX xác định một số thao tác cả trên phần điều khiển, ví dụ như sao chép (kết quả của thao tác này là chúng ta nhận được hai phần điều khiển được liên kết với cùng một tệp) và trên chính tệp đó, ví dụ: thao tác cắt ngắn - cắt tệp theo độ dài nhất định. Trong hầu hết các phiên bản Unix Thao tác cắt ngắn cũng có thể được sử dụng để cắt dữ liệu từ giữa tệp. Khi đọc dữ liệu từ vùng cắt như vậy, các số 0 sẽ được đọc và bản thân vùng này không chiếm dung lượng vật lý trên đĩa.

Một thao tác quan trọng là chặn các phần của tệp. Tiêu chuẩn POSIX cung cấp một chức năng thư viện cho mục đích này, nhưng trong các hệ thống thuộc họ Unix Chức năng này được thực hiện thông qua cuộc gọi fcntl.

Hầu hết việc thực hiện tiêu chuẩn POSIX cung cấp các hoạt động bổ sung của riêng mình. Vì vậy, trong Unix SVR4 Với những thao tác này, bạn có thể đặt ghi đồng bộ hoặc ghi trễ, v.v.

    caddr_t mmap(caddr_t addr, size_t len, int prot, cờ int, xử lý int, offset off_t)

Ánh xạ một phần của tệp vào không gian địa chỉ ảo của tiến trình. Tham số prot chỉ định quyền truy cập vào phần được ánh xạ: đọc, ghi và thực thi. Việc ánh xạ có thể xảy ra với một địa chỉ ảo được chỉ định hoặc hệ thống có thể chọn địa chỉ để ánh xạ chính nó.

Hai thao tác nữa được thực hiện không phải trên tệp mà trên tên của nó: đây là các thao tác đổi tên và xóa tệp. Trong một số hệ thống, ví dụ như trong các hệ thống thuộc họ Unix, một tập tin có thể có nhiều tên và chỉ có lệnh gọi hệ thống để xóa một tên, tập tin sẽ bị xóa khi họ bị xóa.

Có thể thấy, tập hợp các thao tác trên một file trong tiêu chuẩn này rất giống với tập hợp các thao tác trên một thiết bị bên ngoài. Cả hai đều được coi là luồng byte không có cấu trúc. Để hoàn thiện bức tranh, cần phải nói rằng phương tiện giao tiếp giữa các quá trình chính trong các hệ thống của họ Unix (đường ống) cũng là một luồng dữ liệu phi cấu trúc. Ý tưởng cho rằng hầu hết việc truyền dữ liệu có thể được giảm xuống thành luồng byte đã khá cũ, nhưng Unix là một trong những hệ thống đầu tiên mà ý tưởng này được đưa đến kết luận hợp lý.

Gần như mô hình làm việc với các tập tin tương tự được áp dụng trong C.P./ M và một tập hợp các lệnh gọi hệ thống tệp MS DOS thực sự được sao chép từ các cuộc gọi Unix v7 . Đến lượt nó, hệ điều hành/2 Windows NT kế thừa các nguyên tắc làm việc với các tập tin trực tiếp từ MS DOS.

Ngược lại, trong các hệ thống không có Unix trong phả hệ, có thể sử dụng cách giải thích hơi khác về khái niệm hồ sơ.Thông thường, hồ sơ được coi là một tập hợp các bản ghi. Thông thường, hệ thống hỗ trợ cả bản ghi có độ dài không đổi và độ dài thay đổi. Ví dụ: một tệp văn bản được hiểu là một tệp có các bản ghi có độ dài thay đổi và mỗi dòng văn bản tương ứng với một bản ghi. Đây là mô hình làm việc với các tập tin trong VMS và trong dòng hệ điều hành hệ điều hành/360 -MVS Công ty IBM.

Phân loại, cấu trúc, đặc điểm của hệ thống tập tin!!!

1. Khái niệm, cấu trúc và hoạt động của hệ thống tập tin.

Hệ thống tệp là một tập hợp (thứ tự, cấu trúc và nội dung) tổ chức lưu trữ dữ liệu trên phương tiện lưu trữ, trực tiếp cung cấp quyền truy cập vào dữ liệu được lưu trữ; ở cấp độ hàng ngày, nó là một tập hợp tất cả các tệp và thư mục trên đĩa. Các “đơn vị” chính của một hệ thống tệp được coi là một cụm, một tệp, một thư mục, một phân vùng, một ổ đĩa và một đĩa.
Một tập hợp các số 0 và số 1 trên phương tiện lưu trữ tạo thành một cụm (kích thước không gian tối thiểu để lưu trữ thông tin, chúng thường được gọi là khái niệm về một khu vực, kích thước của chúng là bội số của 512 byte).
Các tập tin - một tập hợp các byte được đặt tên được chia thành các cung. Tùy thuộc vào hệ thống tệp, một tệp có thể có một bộ thuộc tính khác nhau. Để thuận tiện khi làm việc với các tệp, tên (mã định danh ký hiệu) của chúng được sử dụng.
Để tổ chức cấu trúc của hệ thống tập tin, các tập tin được nhóm thành danh mục sản phẩm .
chương - một vùng trên đĩa được tạo khi phân vùng nó và chứa một hoặc nhiều ổ đĩa được định dạng.
Âm lượng - vùng phân vùng với hệ thống tập tin, bảng tập tin và vùng dữ liệu. Một hoặc nhiều phần tạo nên đĩa .
Tất cả thông tin về tệp được lưu trữ trong một vùng đặc biệt của phân vùng - bảng tệp. Bảng tệp cho phép bạn liên kết các mã định danh tệp bằng số và thông tin bổ sung về chúng (ngày sửa đổi, quyền truy cập, tên, v.v.) với nội dung tệp thực tế được lưu trữ trong một vùng phân vùng khác.

MBR (Master Boot Record) một vùng đặc biệt nằm ở đầu đĩa - chứa thông tin cần thiết để BIOS khởi động hệ điều hành từ ổ cứng.
Bảng phân vùng cũng nằm ở đầu đĩa, nhiệm vụ của nó là lưu trữ thông tin về các phân vùng: đầu, độ dài, tải. Phân vùng khởi động chứa khu vực khởi động, nơi lưu trữ chương trình khởi động của hệ điều hành.

Việc đếm ngược bắt đầu từ MBR (từ số khu vực 0) cho tất cả các phân vùng chính, cả thông thường và mở rộng, và chỉ dành cho các phân vùng chính.
Tất cả các phần logic thông thường (không phải logic mở rộng) được chỉ định bởi một phần bù tương ứng với phần đầu của phần mở rộng mà chúng được mô tả.
Tất cả các phân vùng logic mở rộng được chỉ định bằng một khoảng chênh lệch so với phần đầu của phân vùng chính mở rộng.

Quá trình khởi động hệ điều hành như sau:
Khi bạn bật máy tính, BIOS sẽ kiểm soát bộ xử lý, khởi động từ ổ cứng, tải khu vực đầu tiên của đĩa (MBR) vào RAM của máy tính và chuyển quyền điều khiển sang nó).

MBR có thể được viết dưới dạng bộ tải khởi động "chuẩn",

và các bộ tải khởi động như LILO/GRUB.

Bộ tải khởi động tiêu chuẩn tìm phân vùng đầu tiên có cờ khả năng khởi động trong bảng phân vùng chính, đọc khu vực đầu tiên của nó (khu vực khởi động) và chuyển quyền kiểm soát sang mã được viết trong khu vực khởi động này. Nếu thay vì bộ tải khởi động MBR tiêu chuẩn có một bộ tải khởi động khác, thì nó không nhìn vào cờ có khả năng khởi động và có thể khởi động từ bất kỳ phân vùng nào (được quy định trong cài đặt của nó).

Ví dụ: để tải hệ điều hành Windows NT/2k/XP/2003, mã được viết trong khu vực khởi động để tải trình tải chính (ntloader) từ phân vùng hiện tại vào bộ nhớ.
Mỗi hệ thống tệp FAT16/FAT32/NTFS sử dụng bộ tải khởi động riêng. Thư mục gốc của phân vùng phải chứa tệp ntldr. Nếu bạn thấy thông báo "NTLDR bị thiếu" khi cố gắng khởi động Windows thì đây chính xác là trường hợp thiếu tệp ntldr. Ngoài ra, để ntldr hoạt động bình thường, bạn có thể cần các tệp bootfont.bin, ntbootdd.sys, nt detect.com và boot.ini được viết chính xác.

Ví dụ boot.ini

C:\boot.ini

thời gian chờ = 8
mặc định=C:\gentoo.bin

C:\gentoo.bin="Gentoo Linux"
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP (32-bit)" /fast detect /NoExecute=OptIn
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Windows XP (64-bit)" /fast detect /usepmtimer

Ví dụ về tệp cấu hình grub.conf

#grub.conf được tạo bởi anaconda
#
#Lưu ý rằng bạn không phải chạy lại grub sau khi thực hiện các thay đổi đối với tệp này
#
#THÔNG BÁO: Bạn có phân vùng /boot. Điều này có nghĩa rằng
#all đường dẫn kernel và initrd đều liên quan đến /boot/, vd.
#root (hdO.O)
#kernel /vmlinuz-version ro root=/dev/sda2
#initrd/initrd-version.img
#boot=/dev/sda mặc định=0 thời gian chờ=5
Splashimage=(hdO,0)/grub/splash.xpm.gz
thực đơn ẩn
tiêu đề Máy chủ Red Hat Enterprise Linux (2.6.18-53.el 5)
gốc (hdO.O)
kernel /vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb Quiet-
initrd /initrd-2.6.18-53.el5.img

Cấu trúc của tệp lilo.conf

# Tệp cấu hình LILO được tạo bởi "liloconfig"
// Phần mô tả các tham số toàn cục
# Bắt đầu phần toàn cầu LILO
// Vị trí Lilo được ghi lại. TRONG trong trường hợp nàyđây là MBR
khởi động = /dev/hda
//Thông báo được hiển thị khi tải
tin nhắn = /boot/boot_message.txt
// Xuất lời mời
lời nhắc
//Hết thời gian để chọn hệ điều hành
thời gian chờ = 1200
# Ghi đè các giá trị mặc định nguy hiểm viết lại bảng phân vùng:
quy tắc thay đổi
cài lại
Bảng điều khiển bộ đệm khung #VESA @ 800x600x256
//Chọn chế độ video để hiển thị menu
vga=771
# Kết thúc phần toàn cầu LILO
//Phần mô tả các tham số khởi động windows
# Bắt đầu cấu hình phân vùng khởi động DOS
khác = /dev/hda1
nhãn = Windows98
bảng = /dev/hda
# Cấu hình phân vùng khả năng khởi động DOS kết thúc
//Phần mô tả các tham số khởi động QNX
# Bắt đầu cấu hình phân vùng có khả năng khởi động QNX
//Đường dẫn đến hệ điều hành
khác = /dev/hda2
nhãn = QNX
bảng = /dev/hda
# Cấu hình phân vùng có khả năng khởi động QNX kết thúc
//Phần mô tả các tham số khởi động Linux
# Cấu hình phân vùng có khả năng khởi động Linux bắt đầu
//Đường dẫn tới ảnh kernel
hình ảnh = /boot/vmlinuz
gốc = /dev/hda4
nhãn = Slackware
chỉ đọc
# Cấu hình phân vùng có khả năng khởi động Linux kết thúc


2.Các hệ thống tập tin nổi tiếng nhất.

  • Hệ thống lưu trữ đĩa nâng cao
  • AdvFS
  • Hãy là hệ thống tập tin
  • CSI - DOS
  • Mã hóa hệ thống tập tin
  • Hệ thống tập tin mở rộng
  • Hệ thống tệp mở rộng thứ hai
  • Hệ thống tệp mở rộng thứ ba
  • Hệ thống tệp mở rộng thứ tư
  • Bảng phân bổ tệp (FAT)
  • Tập tin - 11
  • Hệ thống tập tin phân cấp
  • HFS Plus
  • Hệ thống tệp hiệu suất cao (HPFS)
  • ISO 9660
  • Hệ thống tập tin được ghi nhật ký
  • Hệ thống tập tin Macintosh
  • Hệ thống tập tin MINIX
  • MicroDOS
  • Tiếp theo3
  • Triển khai mới F có cấu trúc log (NILFS)
  • Dịch vụ lưu trữ Novell
  • Hệ thống tệp công nghệ mới (NTFS)
  • nguyên mẫu
  • ReiserFS
  • Hệ thống tập tin thông minh
  • bí đao
  • Hệ thống tập tin Unix
  • Định dạng đĩa chung (UDF)
  • Hệ thống tập tin Veritas
  • Bộ lưu trữ tương lai của Windows (WinFS)
  • Viết bố cục tệp ở mọi nơi
  • Hệ thống tệp Zettabyte (ZFS)

3.Đặc điểm chính của hệ thống tập tin.

Hệ điều hành cung cấp cho các ứng dụng một tập hợp các chức năng và cấu trúc để làm việc với các tệp. Các khả năng của hệ điều hành áp đặt các hạn chế bổ sung đối với các hạn chế của hệ thống tệp; các hạn chế chính bao gồm:

Kích thước âm lượng tối đa (tối thiểu);
- Số lượng tệp tối đa (tối thiểu) trong thư mục gốc;
- Số lượng tập tin tối đa trong một thư mục không phải gốc;
- Bảo mật cấp độ tập tin;
- Hỗ trợ tên file dài;
- Tự chữa bệnh;
- Nén ở cấp độ tập tin;
- Lưu trữ nhật ký giao dịch;

4. Mô tả ngắn gọn về các hệ thống tập tin phổ biến nhất FAT, NTFS, EXT.

Hệ thống tập tin FAT.

FAT (bảng phân bổ tệp) là viết tắt của bảng phân bổ tệp.
Trong hệ thống tệp FAT, không gian đĩa logic của bất kỳ ổ đĩa logic nào được chia thành hai khu vực:
- khu vực hệ thống;
- vùng dữ liệu
Vùng hệ thống được tạo trong quá trình định dạng và được cập nhật khi cấu trúc tệp được thao tác. Vùng dữ liệu chứa các tệp và thư mục phụ thuộc vào thư mục gốc và có thể truy cập được thông qua giao diện người dùng. Vùng hệ thống bao gồm các thành phần sau:
- bản ghi khởi động;
- các lĩnh vực dành riêng;
- bảng phân bổ tệp (FAT);
- thư mục gốc.
Bảng cấp phát file là bản đồ (hình ảnh) của vùng dữ liệu, trong đó mô tả trạng thái của từng phần trong vùng dữ liệu. Vùng dữ liệu được chia thành các cụm. Cụm là một hoặc nhiều khu vực liền kề trong không gian địa chỉ đĩa logic (chỉ vùng dữ liệu). Trong bảng FAT, các cụm thuộc cùng một tệp (thư mục không phải gốc) được liên kết thành chuỗi. Hệ thống quản lý tệp FAT16 sử dụng từ 16 bit để biểu thị số cụm, do đó bạn có thể có tới 65.536 cụm.
Một cụm là đơn vị bộ nhớ đĩa có thể định địa chỉ tối thiểu được phân bổ cho một tệp hoặc thư mục không phải gốc. Một tập tin hoặc thư mục chiếm một số cụm nguyên. Trong trường hợp này, cụm cuối cùng có thể không được sử dụng đầy đủ, điều này sẽ dẫn đến mất dung lượng ổ đĩa đáng kể nếu kích thước cụm lớn.
Vì FAT được sử dụng rất nhiều khi truy cập vào đĩa nên nó được tải vào RAM và tồn tại ở đó càng lâu càng tốt.
Thư mục gốc khác với thư mục thông thường ở chỗ nó nằm ở một vị trí cố định trên đĩa logic và có số phần tử cố định. Với mỗi file và thư mục, hệ thống file lưu trữ thông tin theo cấu trúc sau:
- tên tệp hoặc thư mục – 11 byte;
- thuộc tính tệp – 1 byte;
- trường dự trữ – 1 byte;
- thời gian tạo – 3 byte;
- ngày tạo – 2 byte;
- ngày truy cập cuối cùng – 2 byte;
- dành riêng - 2 byte;
- thời gian sửa đổi lần cuối – 2 byte;
- số cụm ban đầu tính bằng FAT – 2 byte;
- kích thước tập tin – 4 byte.
Cấu trúc của hệ thống tập tin là phân cấp.

Hệ thống tập tin FAT32.
FAT32 là một hệ thống tệp 32-bit hoàn toàn độc lập và có nhiều cải tiến cũng như bổ sung so với FAT16. Sự khác biệt cơ bản giữa FAT32 là việc sử dụng không gian đĩa hiệu quả hơn: FAT32 sử dụng các cụm nhỏ hơn, giúp tiết kiệm không gian đĩa.
FAT32 có thể di chuyển thư mục gốc và sử dụng bản sao lưu FAT thay vì bản tiêu chuẩn. Bản ghi khởi động nâng cao FAT32 cho phép bạn tạo bản sao của các cấu trúc dữ liệu quan trọng, giúp ổ đĩa có khả năng chống vi phạm cấu trúc FAT tốt hơn so với các phiên bản trước. Thư mục gốc là một chuỗi các cụm thông thường, vì vậy nó có thể được đặt ở bất kỳ vị trí nào trên đĩa, điều này loại bỏ giới hạn về kích thước của thư mục gốc.


Hệ thống tập tin NTFS.
Hệ thống tệp NTFS (Hệ thống tệp công nghệ mới) chứa một số cải tiến và thay đổi đáng kể giúp phân biệt đáng kể với các hệ thống tệp khác. Theo quan điểm của người dùng, các tệp vẫn được lưu trữ trong thư mục, nhưng làm việc trên các đĩa lớn ở NTFS hiệu quả hơn nhiều:
- có các phương tiện để hạn chế quyền truy cập vào các tập tin và thư mục;
- các cơ chế đã được giới thiệu giúp tăng đáng kể độ tin cậy của hệ thống tập tin;
- nhiều hạn chế về số lượng cung và/hoặc cụm đĩa tối đa đã được loại bỏ.

Các đặc điểm chính của hệ thống tệp NTFS:
- độ tin cậy. Các máy tính hiệu suất cao và hệ thống dùng chung phải có độ tin cậy cao hơn; vì mục đích này, một cơ chế giao dịch đã được giới thiệu trong đó các giao dịch tập tin được ghi lại;
- chức năng mở rộng. Các tính năng mới đã được đưa vào NTFS: cải thiện khả năng chịu lỗi, mô phỏng các hệ thống tệp khác, mô hình bảo mật mạnh mẽ, xử lý song song các luồng dữ liệu, tạo các thuộc tính tệp do người dùng xác định;
- Hỗ trợ tiêu chuẩn POSIX. Các tính năng cơ bản bao gồm tên tệp phân biệt chữ hoa chữ thường tùy chọn, lưu trữ thời gian truy cập tệp lần cuối và cơ chế tên thay thế cho phép cùng một tệp được tham chiếu bằng nhiều tên;
- Uyển chuyển. Phân bổ không gian đĩa rất linh hoạt: kích thước cụm có thể thay đổi từ 512 byte đến 64 KB.
NTFS hoạt động tốt với các tập dữ liệu lớn và khối lượng lớn. Kích thước ổ đĩa (và tệp) tối đa là 16 EB. (1 EB bằng 2**64 hoặc 16000 tỷ gigabyte.) Số lượng tệp trong thư mục gốc và không phải gốc không bị giới hạn. Bởi vì cấu trúc thư mục NTFS dựa trên cấu trúc dữ liệu hiệu quả được gọi là “cây nhị phân”, thời gian tìm kiếm tệp NTFS không liên quan tuyến tính đến số lượng tệp.
NTFS có một số khả năng tự phục hồi và hỗ trợ nhiều cơ chế khác nhau để xác minh tính toàn vẹn của hệ thống, bao gồm ghi nhật ký giao dịch, cho phép bạn theo dõi các hoạt động ghi tệp trong nhật ký hệ thống.
Hệ thống tệp NTFS hỗ trợ mô hình đối tượng bảo mật và xử lý tất cả các ổ đĩa, thư mục và tệp dưới dạng các đối tượng NTFS độc lập. Quyền truy cập vào các tập, thư mục và tệp tùy thuộc vào tài khoản người dùng và nhóm mà người đó thuộc về.
Hệ thống tệp NTFS có khả năng nén tích hợp có thể áp dụng cho ổ đĩa, thư mục và tệp.

Hệ thống tập tin Ext3.
Hệ thống tệp ext3 có thể hỗ trợ các tệp có kích thước lên tới 1 TB. Với nhân Linux 2.4, kích thước hệ thống tệp bị giới hạn bởi kích thước thiết bị khối tối đa là 2 terabyte. Trong Linux 2.6 (dành cho bộ xử lý 32 bit), kích thước khối thiết bị tối đa là 16 TB, tuy nhiên ext3 chỉ hỗ trợ tối đa 4 TB.
Ext3 có khả năng tương thích NFS tốt và không gặp vấn đề về hiệu năng khi thiếu dung lượng ổ đĩa trống.Một ưu điểm khác của ext3 đến từ việc nó dựa trên mã ext2. Định dạng đĩa của ext2 và ext3 giống hệt nhau; Từ đó, nếu cần, hệ thống tập tin ext3 có thể được gắn dưới dạng ext2 mà không gặp vấn đề gì. Và điều đó không phải tất cả. Do thực tế là ext2 và ext3 sử dụng siêu dữ liệu giống hệt nhau nên có thể cập nhật ext2 lên ext3 một cách nhanh chóng.
Độ tin cậy của Ext3
Ngoài khả năng tương thích với ext2, ext3 còn thừa hưởng những ưu điểm khác của định dạng siêu dữ liệu phổ biến. Người dùng ext3 có thể tùy ý sử dụng công cụ fsck đã được chứng minh trong nhiều năm. Tất nhiên, lý do chính để chuyển sang hệ thống tệp ghi nhật ký là để loại bỏ nhu cầu kiểm tra định kỳ và lâu dài về tính nhất quán của siêu dữ liệu trên đĩa. Tuy nhiên, "ghi nhật ký" không bảo vệ khỏi sự cố kernel hoặc hư hỏng đĩa (hoặc bất cứ điều gì tương tự). Trong trường hợp khẩn cấp, bạn sẽ đánh giá cao thực tế là ext3 có tính liên tục từ ext2 với fsck của nó.
Ghi nhật ký ở ext3.
Bây giờ chúng ta đã hiểu chung về vấn đề, hãy xem cách ext3 thực hiện ghi nhật ký. Mã ghi nhật ký ext3 sử dụng một API đặc biệt được gọi là lớp Thiết bị khối ghi nhật ký hoặc JBD. JBD được thiết kế để đăng nhập vào bất kỳ thiết bị khối nào. Ext3 được gắn với API JBD. Trong trường hợp này, mã hệ thống tập tin ext3 thông báo cho JBD về nhu cầu sửa đổi và yêu cầu JBD cho phép thực hiện việc đó. Tạp chí được quản lý bởi JBD thay mặt cho trình điều khiển hệ thống tập tin ext3. Quy ước này rất thuận tiện vì JBD được phát triển như một đối tượng phổ quát, riêng biệt và có thể được sử dụng trong tương lai để ghi nhật ký vào các hệ thống tệp khác.
Bảo vệ dữ liệu trong Ext3
Bây giờ chúng ta có thể nói về cách hệ thống tệp ext3 cung cấp khả năng ghi nhật ký cho cả dữ liệu và siêu dữ liệu. Thực tế có hai phương pháp để đảm bảo tính nhất quán trong ext3.
ext3 ban đầu được thiết kế để ghi lại toàn bộ dữ liệu và siêu dữ liệu. Trong chế độ này (được gọi là chế độ "data=journal"), JBD ghi lại tất cả các thay đổi đối với hệ thống tệp, liên quan đến cả dữ liệu và siêu dữ liệu. Trong trường hợp này, JBD có thể sử dụng nhật ký để khôi phục và khôi phục siêu dữ liệu và dữ liệu. Nhược điểm của việc ghi nhật ký "đầy đủ" là hiệu suất khá thấp và tiêu tốn một lượng lớn dung lượng đĩa cho tạp chí.
Gần đây, một chế độ ghi nhật ký mới đã được thêm vào ext3 kết hợp hiệu suất cao với việc đảm bảo tính nhất quán của cấu trúc hệ thống tệp sau sự cố (như hệ thống tệp được ghi nhật ký "thông thường"). Chế độ vận hành mới chỉ phục vụ siêu dữ liệu. Tuy nhiên, trình điều khiển hệ thống tệp ext3 vẫn theo dõi quá trình xử lý toàn bộ khối dữ liệu (nếu chúng liên quan đến sửa đổi siêu dữ liệu) và nhóm chúng thành một đối tượng riêng gọi là giao dịch. Giao dịch sẽ chỉ được hoàn thành sau khi tất cả dữ liệu đã được ghi vào đĩa. Một tác dụng phụ của kỹ thuật thô sơ này (được gọi là chế độ "data=ordered") là ext3 cung cấp xác suất toàn vẹn dữ liệu cao hơn (so với các hệ thống tệp ghi nhật ký "nâng cao") trong khi vẫn đảm bảo tính nhất quán của siêu dữ liệu. Trong trường hợp này, chỉ những thay đổi về cấu trúc hệ thống tệp mới được ghi lại. Ext3 sử dụng chế độ này theo mặc định.
Ext3 có nhiều ưu điểm. Nó được thiết kế để dễ dàng triển khai tối đa. Nó dựa trên mã ext2 đã được chứng minh trong nhiều năm và kế thừa công cụ fsck tuyệt vời. Ext3 chủ yếu dành cho các ứng dụng không có khả năng tích hợp để đảm bảo tính toàn vẹn dữ liệu. Nhìn chung, ext3 là một hệ thống tệp tuyệt vời và là sự tiếp nối xứng đáng của ext2. Có một đặc điểm nữa giúp phân biệt rõ ràng ext3 với các hệ thống tệp được ghi nhật ký khác trong Linux - độ tin cậy cao.

Hệ thống tệp ext4 là sự tiếp nối tiến hóa xứng đáng của hệ thống ext.