Hệ thống tập tin. Cấu trúc hệ thống tập tin. Tóm tắt: Hệ thống tập tin

Các tập tin trên máy tính được tạo và đặt dựa trên nguyên tắc hệ thống. Nhờ triển khai, người dùng có cơ hội truy cập thoải mái các thông tin cần thiết mà không cần suy nghĩ về các thuật toán phức tạp để truy cập thông tin đó. Hệ thống tập tin được tổ chức như thế nào? Những cái nào là phổ biến nhất hiện nay? Sự khác biệt giữa các hệ thống tập tin thân thiện với PC là gì? Và những thứ được sử dụng trong thiết bị di động - điện thoại thông minh hay máy tính bảng?

Hệ thống tập tin: Định nghĩa

Theo định nghĩa chung, hệ thống tệp là một tập hợp các thuật toán và tiêu chuẩn được sử dụng để tổ chức quyền truy cập hiệu quả cho người dùng PC vào dữ liệu trên máy tính. Một số chuyên gia coi nó là một phần của các chuyên gia CNTT khác, thừa nhận thực tế là nó liên quan trực tiếp đến HĐH, tin rằng hệ thống tệp là một thành phần độc lập trong việc quản lý dữ liệu máy tính.

Máy tính được sử dụng như thế nào trước khi hệ thống tập tin được phát minh? Khoa học máy tính - với tư cách là một ngành khoa học - đã ghi nhận một thực tế là từ lâu việc quản lý dữ liệu được thực hiện thông qua việc cấu trúc trong khuôn khổ các thuật toán được nhúng trong các chương trình cụ thể. Vì vậy, một trong những tiêu chí của hệ thống tệp là phải có các tiêu chuẩn giống nhau cho hầu hết các chương trình truy cập dữ liệu.

Cách hệ thống tập tin hoạt động

Hệ thống tập tin trước hết là một cơ chế liên quan đến việc sử dụng tài nguyên phần cứng máy tính. Theo quy định, ở đây chúng ta đang nói về phương tiện từ tính hoặc laser - ổ cứng, CD, DVD, ổ flash, đĩa mềm vẫn chưa trở nên lỗi thời. Để hiểu cách hệ thống tương ứng hoạt động, hãy xác định chính tệp đó là gì.

Theo định nghĩa được các chuyên gia CNTT chấp nhận chung, đây là vùng dữ liệu có kích thước cố định, được biểu thị bằng đơn vị thông tin cơ bản - byte. Tệp nằm trên phương tiện đĩa, thường ở dạng một số khối được kết nối với nhau có một “địa chỉ” truy cập cụ thể. Hệ thống tệp xác định các tọa độ tương tự này và lần lượt "báo cáo" chúng cho HĐH. Truyền tải rõ ràng dữ liệu liên quan đến người dùng. Dữ liệu được truy cập để đọc, sửa đổi hoặc tạo dữ liệu mới. Thuật toán cụ thể để làm việc với tập tin “tọa độ” có thể khác nhau. Nó phụ thuộc vào loại máy tính, hệ điều hành, thông tin cụ thể về dữ liệu được lưu trữ và các điều kiện khác. Vì vậy, có nhiều loại hệ thống tập tin khác nhau. Mỗi trong số chúng được tối ưu hóa để sử dụng trên một hệ điều hành cụ thể hoặc để làm việc với một số loại dữ liệu nhất định.

Việc điều chỉnh phương tiện đĩa để sử dụng thông qua các thuật toán của một hệ thống tệp cụ thể được gọi là định dạng. Các thành phần phần cứng tương ứng của đĩa - cụm - được chuẩn bị cho việc ghi tệp tiếp theo vào chúng, cũng như đọc chúng theo các tiêu chuẩn được đặt ra trong một hệ thống quản lý dữ liệu cụ thể. Làm thế nào để thay đổi hệ thống tập tin? Trong hầu hết các trường hợp, điều này chỉ có thể được thực hiện bằng cách định dạng lại phương tiện lưu trữ. Theo quy định, các tập tin sẽ bị xóa. Tuy nhiên, có một tùy chọn trong đó, bằng cách sử dụng các chương trình đặc biệt, vẫn có thể thay đổi hệ thống quản lý dữ liệu, mặc dù điều này thường tốn nhiều thời gian, mà không ảnh hưởng đến hệ thống sau.

Hệ thống tập tin không hoạt động mà không có lỗi. Có thể có một số sai sót trong việc tổ chức công việc với các khối dữ liệu. Nhưng trong hầu hết các trường hợp, chúng không quan trọng. Theo quy định, không có vấn đề gì về cách sửa hệ thống tệp hoặc loại bỏ lỗi. Đặc biệt, trong hệ điều hành Windows, có các giải pháp phần mềm tích hợp sẵn cho việc này, dành cho bất kỳ người dùng nào. Chẳng hạn như chương trình Check Disk.

Đẳng cấp

Những loại hệ thống tập tin nào là phổ biến nhất? Có lẽ, trước hết là những hệ điều hành được sử dụng bởi hệ điều hành PC phổ biến nhất trên thế giới - Windows. Các hệ thống tệp chính của Windows là FAT, FAT32, NTFS và các sửa đổi khác nhau của chúng. Cùng với máy tính, điện thoại thông minh và máy tính bảng đã trở nên phổ biến. Hầu hết trong số đó, nếu xét về thị trường toàn cầu và không xét đến sự khác biệt về nền tảng công nghệ, đều được kiểm soát bởi hệ điều hành Android và iOS. Các hệ điều hành này sử dụng thuật toán riêng của chúng để làm việc với dữ liệu khác với các thuật toán đặc trưng cho hệ thống tệp Windows.

Tiêu chuẩn mở cho tất cả mọi người

Lưu ý rằng gần đây đã có một số tiêu chuẩn thống nhất trên thị trường điện tử toàn cầu về hệ điều hành hoạt động với nhiều loại dữ liệu khác nhau. Điều này có thể được nhìn thấy ở hai khía cạnh. Đầu tiên, các thiết bị khác nhau chạy hai loại HĐH khác nhau thường sử dụng cùng một hệ thống tệp, tương thích như nhau với từng HĐH. Thứ hai, theo quy luật, các phiên bản hiện đại của HĐH có thể nhận dạng không chỉ các hệ thống tệp điển hình của chúng mà còn cả các hệ thống tệp được sử dụng truyền thống trong các hệ điều hành khác - cả thông qua thuật toán tích hợp và sử dụng phần mềm của bên thứ ba. Ví dụ: các phiên bản Linux hiện đại thường nhận dạng các hệ thống tệp được đánh dấu cho Windows mà không gặp vấn đề gì.

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

Mặc dù thực tế là có khá nhiều loại hệ thống tệp, nhưng chúng thường hoạt động theo các nguyên tắc rất giống nhau (chúng tôi đã phác thảo sơ đồ chung ở trên) và trong khuôn khổ các thành phần hoặc đối tượng cấu trúc tương tự. Hãy nhìn vào chúng. Các đối tượng chính của một hệ thống tập tin là gì?

Một trong những điều quan trọng là - Đây là vùng dữ liệu biệt lập trong đó có thể đặt các tệp. Cấu trúc thư mục có tính phân cấp. Nó có nghĩa là gì? Một hoặc nhiều thư mục có thể nằm trong một thư mục khác. Ngược lại, nó là một phần của thứ “cao cấp”. Điều quan trọng nhất là thư mục gốc. Nếu chúng ta nói về các nguyên tắc hoạt động của hệ thống tệp Windows - 7, 8, XP hoặc phiên bản khác - thư mục gốc là một ổ đĩa logic, được ký hiệu bằng một chữ cái - thường là C, D, E (nhưng bạn có thể định cấu hình bất kỳ cái nào trong bảng chữ cái tiếng Anh). Ví dụ, đối với hệ điều hành Linux, thư mục gốc có toàn bộ phương tiện từ tính. Trong hệ điều hành này và các hệ điều hành khác dựa trên nguyên tắc của nó - chẳng hạn như Android - ổ đĩa logic không được sử dụng. Có thể lưu trữ tập tin mà không cần thư mục? Đúng. Nhưng điều này không thuận tiện lắm. Trên thực tế, sự thoải mái khi sử dụng PC là một trong những lý do đưa ra nguyên tắc phân phối dữ liệu vào các thư mục trong hệ thống tập tin. Nhân tiện, chúng có thể được gọi khác nhau. Trong Windows, các thư mục được gọi là thư mục, trong Linux về cơ bản chúng giống nhau. Nhưng tên truyền thống của các thư mục trong HĐH này, được sử dụng trong nhiều năm, là “thư mục”. Như trong hệ điều hành Windows và Linux trước đây - DOS, Unix.

Trong số các chuyên gia CNTT, không có quan điểm rõ ràng nào về việc liệu một tệp có nên được coi là một thành phần cấu trúc của hệ thống tương ứng hay không. Những người tin rằng điều này không hoàn toàn đúng sẽ tranh luận quan điểm của họ bằng cách nói rằng hệ thống có thể dễ dàng tồn tại mà không cần tập tin. Ngay cả khi đây là một hiện tượng vô dụng nếu nhìn từ góc độ thực tế. Ngay cả khi không có tập tin nào được ghi vào đĩa, hệ thống tương ứng vẫn có thể tồn tại. Thông thường, phương tiện từ tính bán ở cửa hàng không chứa bất kỳ tệp nào. Nhưng họ đã có một hệ thống tương ứng. Một quan điểm khác là các tập tin nên được coi là một phần không thể thiếu của hệ thống mà chúng được quản lý. Tại sao? Nhưng bởi vì, theo các chuyên gia, các thuật toán sử dụng chúng chủ yếu được điều chỉnh để hoạt động với các tệp trong khuôn khổ các tiêu chuẩn nhất định. Các hệ thống được đề cập không nhằm mục đích nào khác.

Một thành phần khác có trong hầu hết các hệ thống tệp là vùng dữ liệu chứa thông tin về vị trí của một tệp cụ thể ở một vị trí cụ thể. Nghĩa là, bạn có thể đặt một phím tắt ở một nơi trên đĩa, nhưng cũng có thể cung cấp quyền truy cập vào vùng dữ liệu mong muốn, nằm ở một phần khác của phương tiện. Bạn có thể coi các phím tắt là đối tượng chính thức của hệ thống tệp nếu bạn đồng ý rằng các tệp cũng như vậy.

Bằng cách này hay cách khác, sẽ không sai khi nói rằng cả ba loại dữ liệu - tệp, lối tắt và thư mục - đều là các thành phần của hệ thống tương ứng của chúng. Ít nhất luận điểm này sẽ tương ứng với một trong những quan điểm chung. Khía cạnh quan trọng nhất mô tả cách hoạt động của hệ thống tệp là nguyên tắc đặt tên tệp và thư mục.

Tên tập tin và thư mục trên các hệ thống khác nhau

Nếu chúng ta đồng ý rằng các tệp vẫn là thành phần của hệ thống tương ứng với chúng thì cần xem xét cấu trúc cơ bản của chúng. Điều đầu tiên cần lưu ý là gì? Để giúp truy cập chúng dễ dàng hơn, hầu hết các hệ thống quản lý dữ liệu hiện đại đều cung cấp cấu trúc đặt tên tệp hai cấp. Cấp độ đầu tiên là tên. Thứ hai là mở rộng. Hãy lấy file nhạc Dance.mp3 làm ví dụ. Khiêu vũ là tên. Mp3 - phần mở rộng. Phần đầu tiên nhằm mục đích tiết lộ cho người dùng bản chất của nội dung tệp (và để chương trình trở thành hướng dẫn truy cập nhanh). Thứ hai cho biết loại tập tin. Nếu là Mp3 thì dễ dàng đoán được chúng ta đang nói về âm nhạc. Các tệp có phần mở rộng Doc thường là tài liệu, Jpg là hình ảnh, Html là trang web.

Ngược lại, các thư mục có cấu trúc một cấp. Họ chỉ có một cái tên, không có phần mở rộng. Nếu chúng ta nói về sự khác biệt giữa các loại hệ thống quản lý dữ liệu khác nhau, thì điều đầu tiên bạn nên chú ý là nguyên tắc đặt tên tệp và thư mục được triển khai trong đó. Về hệ điều hành Windows, chi tiết cụ thể như sau. Trong hệ điều hành phổ biến nhất thế giới, các tập tin có thể được đặt tên bằng bất kỳ ngôn ngữ nào. Tuy nhiên, độ dài tối đa bị hạn chế. Khoảng thời gian chính xác phụ thuộc vào hệ thống quản lý dữ liệu được sử dụng. Thông thường các giá trị này nằm trong khoảng từ 200-260 ký tự.

Một nguyên tắc chung cho tất cả các hệ điều hành và hệ thống quản lý dữ liệu tương ứng của chúng là các tệp có cùng tên không thể nằm trong cùng một thư mục. Trong Linux, có một sự “tự do hóa” nhất định đối với quy tắc này. Có thể có các tập tin trong cùng một thư mục có cùng chữ cái nhưng có kiểu dáng khác nhau. Ví dụ: Dance.mp3 và DANCE.mp3. Điều này là không thể trên hệ điều hành Windows. Các quy tắc tương tự cũng được thiết lập về việc đặt các thư mục trong các thư mục khác.

Đánh địa chỉ các tập tin và thư mục

Đánh địa chỉ các tập tin và thư mục là thành phần quan trọng nhất của hệ thống tương ứng. Trên Windows, định dạng tùy chỉnh của nó có thể trông như thế này: C:/Documents/Music/ - đây là quyền truy cập vào thư mục Nhạc. Nếu chúng tôi quan tâm đến một tệp cụ thể thì địa chỉ có thể trông như sau: C:/Documents/Music/Dance.mp3. Tại sao "tùy chỉnh"? Thực tế là ở mức độ tương tác phần mềm và phần cứng giữa các thành phần máy tính, cấu trúc truy cập vào tệp phức tạp hơn nhiều. Hệ thống tệp xác định vị trí của các khối tệp và tương tác với HĐH chủ yếu thông qua các thao tác ẩn với người dùng. Tuy nhiên, rất hiếm khi người dùng PC cần sử dụng các định dạng “địa chỉ” khác. Hầu như luôn luôn, các tập tin được truy cập theo tiêu chuẩn đã chỉ định.

So sánh các hệ thống tập tin cho Windows

Chúng tôi đã nghiên cứu các nguyên tắc chung về hoạt động của hệ thống tập tin. Bây giờ chúng ta hãy xem xét các tính năng của các loại phổ biến nhất của họ. Các hệ thống tệp được sử dụng phổ biến nhất trong Windows là FAT, FAT32, NTFS và exFAT. Phần đầu tiên trong loạt bài này được coi là lỗi thời. Đồng thời, trong một thời gian dài, nó là một loại đầu tàu của ngành, nhưng khi công nghệ PC phát triển, khả năng của nó không còn đáp ứng được nhu cầu của người dùng và nhu cầu tài nguyên của phần mềm.

Hệ thống tập tin được thiết kế để thay thế FAT là FAT32. Theo nhiều chuyên gia CNTT, hiện nay nó phổ biến nhất khi xuất hiện trên thị trường PC chạy Windows. Nó thường được sử dụng khi lưu trữ tập tin trên ổ cứng và ổ flash. Cũng có thể lưu ý rằng hệ thống quản lý dữ liệu này được sử dụng khá thường xuyên trong các mô-đun bộ nhớ của nhiều thiết bị kỹ thuật số khác nhau - điện thoại, máy ảnh. Do đó, ưu điểm chính của FAT32, được các chuyên gia CNTT nhấn mạnh, là, mặc dù hệ thống tệp này được tạo bởi Microsoft, nhưng hầu hết các hệ điều hành hiện đại, bao gồm cả những hệ điều hành được cài đặt trên các loại thiết bị kỹ thuật số cụ thể, đều có thể hoạt động với dữ liệu trong khuôn khổ của các thuật toán được nhúng trong đó.

Hệ thống FAT32 cũng có một số nhược điểm. Trước hết, chúng ta có thể lưu ý giới hạn về kích thước của một tệp đã lấy - nó không được lớn hơn 4 GB. Ngoài ra, trong hệ thống FAT32, bạn không thể sử dụng các công cụ Windows tích hợp để chỉ định ổ đĩa logic có kích thước lớn hơn 32 GB. Nhưng điều này có thể được thực hiện bằng cách cài đặt thêm phần mềm chuyên dụng.

Một hệ thống quản lý tệp phổ biến khác do Microsoft phát triển là NTFS. Theo một số chuyên gia CNTT, nó vượt trội hơn FAT32 ở hầu hết các thông số. Nhưng luận điểm này đúng khi chúng ta đang nói về một máy tính chạy Windows. NTFS không linh hoạt như FAT32. Đặc thù hoạt động của nó khiến việc sử dụng hệ thống tệp này không phải lúc nào cũng thoải mái, đặc biệt là trên thiết bị di động. Một trong những ưu điểm chính của NFTS là độ tin cậy. Ví dụ, trong trường hợp ổ cứng đột nhiên mất điện, khả năng file bị hỏng sẽ được giảm thiểu nhờ các thuật toán sao chép dữ liệu được cung cấp trong NTFS.

Một trong những hệ thống tệp mới nhất của Microsoft là exFAT. Nó được điều chỉnh tốt nhất cho ổ đĩa flash. Các nguyên tắc hoạt động cơ bản giống như trong FAT32, nhưng cũng có những cải tiến đáng kể ở một số khía cạnh: ví dụ: không có hạn chế về kích thước của một tệp. Đồng thời, hệ thống exFAT, như nhiều chuyên gia CNTT lưu ý, nằm trong số những hệ thống có tính linh hoạt thấp. Trên các máy tính không chạy Windows, việc xử lý tệp có thể khó khăn khi sử dụng exFAT. Hơn nữa, ngay cả trong một số phiên bản của Windows, chẳng hạn như XP, dữ liệu trên đĩa được định dạng bằng thuật toán exFAT có thể không đọc được. Bạn sẽ cần phải cài đặt một trình điều khiển bổ sung.

Lưu ý rằng do việc sử dụng nhiều loại hệ thống tệp trong hệ điều hành Windows, người dùng có thể gặp khó khăn định kỳ về khả năng tương thích của các thiết bị khác nhau với máy tính. Ví dụ, trong một số trường hợp, cần phải cài đặt trình điều khiển hệ thống tệp WPD (Windows Portable Devices - công nghệ được sử dụng khi làm việc với thiết bị di động). Đôi khi người dùng có thể không có nó trong tay, do đó phương tiện hệ điều hành bên ngoài có thể không nhận ra nó. Hệ thống tệp WPD có thể yêu cầu phần mềm bổ sung thích ứng với môi trường hoạt động trên một máy tính cụ thể. Trong một số trường hợp, người dùng sẽ buộc phải liên hệ với các chuyên gia CNTT để giải quyết vấn đề.

Làm cách nào để xác định hệ thống tệp nào - exFAT hoặc NTFS, hoặc có thể FAT32 - là tối ưu để sử dụng trong các trường hợp cụ thể? Các khuyến nghị của các chuyên gia CNTT nói chung như sau. Hai cách tiếp cận chính có thể được sử dụng. Theo quan điểm đầu tiên, cần phân biệt giữa các hệ thống tệp ổ cứng thông thường và các hệ thống thích ứng tốt hơn với ổ đĩa flash. FAT và FAT32, theo nhiều chuyên gia, phù hợp hơn với ổ đĩa flash, NTFS - dành cho ổ cứng (do tính năng công nghệ làm việc với dữ liệu).

Trong cách tiếp cận thứ hai, kích thước của tàu sân bay rất quan trọng. Nếu chúng ta đang nói về việc sử dụng dung lượng đĩa hoặc ổ đĩa flash tương đối nhỏ, thì bạn có thể định dạng nó trong hệ thống FAT32. Nếu đĩa lớn hơn, bạn có thể thử exFAT. Nhưng chỉ khi phương tiện không được thiết kế để sử dụng trên các máy tính khác, đặc biệt là những máy không có phiên bản Windows mới nhất. Nếu chúng ta đang nói về ổ cứng lớn, bao gồm cả ổ cứng gắn ngoài, thì nên định dạng chúng ở dạng NTFS. Đây là những tiêu chí gần đúng để có thể chọn hệ thống tệp tối ưu - exFAT hoặc NTFS, FAT32. Nghĩa là, bạn nên sử dụng bất kỳ trong số chúng, có tính đến kích thước của phương tiện, loại của nó, cũng như phiên bản hệ điều hành mà ổ đĩa được sử dụng chủ yếu.

Hệ thống tập tin cho Mac

Một nền tảng phần cứng và phần mềm phổ biến khác trên thị trường máy tính toàn cầu là Macintosh của Apple. Các PC dòng này chạy hệ điều hành Mac OS. Các tính năng tổ chức công việc với các tệp trên máy tính Mac là gì? Hầu hết các PC Apple hiện đại đều sử dụng hệ thống tệp Mac OS Extended. Trước đây, máy tính Mac quản lý dữ liệu bằng tiêu chuẩn HFS.

Điều chính có thể lưu ý về đặc điểm của nó là một đĩa được quản lý bởi hệ thống tệp Mac OS Extended có thể chứa các tệp rất lớn - chúng ta có thể nói về vài triệu terabyte.

Hệ thống tập tin trong thiết bị Android

Hệ điều hành phổ biến nhất dành cho thiết bị di động - một dạng công nghệ điện tử có mức độ phổ biến không thua kém PC - chính là Android. Các tệp được quản lý trên các thiết bị thuộc loại tương ứng như thế nào? Trước hết, chúng tôi xin lưu ý rằng hệ điều hành này thực sự là một phiên bản chuyển thể “di động” của hệ điều hành Linux, hệ điều hành này nhờ mã nguồn mở nên có thể được sửa đổi để có triển vọng sử dụng trên nhiều loại thiết bị. Do đó, việc quản lý tệp trong thiết bị di động chạy Android nhìn chung được thực hiện theo các nguyên tắc giống như trong Linux. Chúng tôi đã lưu ý một số trong số họ ở trên. Đặc biệt, việc quản lý tệp trong Linux được thực hiện mà không chia phương tiện thành các ổ đĩa logic, như xảy ra trong Windows. Hệ thống tập tin Android còn có điều gì thú vị?

Thư mục gốc trong Android thường là vùng dữ liệu có tên /mnt. Theo đó, địa chỉ của tệp được yêu cầu có thể trông giống như sau: /mnt/sd/photo.jpg. Ngoài ra, còn có một tính năng khác của hệ thống quản lý dữ liệu được triển khai trong HĐH di động này. Thực tế là bộ nhớ flash của thiết bị thường được phân thành nhiều phần, chẳng hạn như Hệ thống hoặc Dữ liệu. Tuy nhiên, kích thước được chỉ định ban đầu của mỗi trong số chúng không thể thay đổi. Có thể tìm thấy một sự tương tự gần đúng về khía cạnh công nghệ này bằng cách nhớ rằng bạn không thể (trừ khi bạn sử dụng phần mềm đặc biệt) thay đổi kích thước của ổ đĩa logic trong Windows. Nó phải được sửa chữa.

Một tính năng thú vị khác của việc tổ chức công việc với các tệp trong Android là hệ điều hành tương ứng, theo quy luật, ghi dữ liệu mới vào một vùng cụ thể của đĩa - Dữ liệu. Ví dụ, công việc với phần Hệ thống không được thực hiện. Do đó, khi người dùng sử dụng chức năng đặt lại cài đặt phần mềm của điện thoại thông minh hoặc máy tính bảng về mức “xuất xưởng”, trên thực tế, điều này có nghĩa là những tệp được ghi vào vùng Dữ liệu sẽ bị xóa đơn giản. Phần Hệ thống, theo nguyên tắc, không thay đổi. Hơn nữa, người dùng nếu không có phần mềm chuyên dụng thì không thể thực hiện bất kỳ điều chỉnh nào đối với nội dung trong Hệ thống. Quy trình liên quan đến việc cập nhật vùng lưu trữ hệ thống trong thiết bị Android được gọi là nhấp nháy. Đây không phải là định dạng, mặc dù cả hai thao tác thường được thực hiện đồng thời. Theo quy định, flash được sử dụng để cài đặt phiên bản HĐH Android mới hơn trên thiết bị di động.

Do đó, các nguyên tắc chính mà hệ thống tệp Android hoạt động là không có ổ đĩa logic, cũng như sự phân biệt nghiêm ngặt về quyền truy cập vào dữ liệu hệ thống và người dùng. Không thể nói rằng cách tiếp cận này về cơ bản khác với cách tiếp cận được triển khai trong Windows, tuy nhiên, theo nhiều chuyên gia CNTT, trong hệ điều hành của Microsoft, người dùng có phần tự do hơn khi làm việc với các tệp. Tuy nhiên, như một số chuyên gia tin rằng, đây không thể coi là lợi thế rõ ràng của Windows. Tất nhiên, chế độ “tự do” về mặt quản lý tệp không chỉ được sử dụng bởi người dùng mà còn bởi vi-rút máy tính, điều mà Windows rất dễ mắc phải (không giống như Linux và cách triển khai “di động” của nó dưới dạng Android). Theo các chuyên gia, đây là một trong những lý do khiến thiết bị Android có rất ít vi-rút - từ quan điểm công nghệ thuần túy, chúng không thể hoạt động đầy đủ trong môi trường hoạt động theo nguyên tắc kiểm soát truy cập tệp nghiêm ngặt.

Tài liệu ôn tập bài 33

dành cho học sinh chuyên

"Phần mềm công nghệ thông tin"

Phó Giáo sư Khoa Khoa học Máy tính, Tiến sĩ. Livak E.N.

HỆ THỐNG QUẢN LÝ TẬP TIN

Các khái niệm, sự kiện cơ bản

Mục đích. Đặc điểm của hệ thống tập tinMẬPVFATMỠ 32,HPFSNTFS. Hệ thống tệp UNIX OS (s5, ufs), Linux OS Ext2FS Các khu vực hệ thống của đĩa (phân vùng, ổ đĩa). Nguyên tắc sắp xếp tập tin và lưu trữ thông tin vị trí tập tin. Tổ chức danh mục. Hạn chế quyền truy cập vào các tập tin và thư mục.

Kỹ năng

Sử dụng kiến ​​thức về cấu trúc hệ thống tệp để bảo vệ và khôi phục thông tin máy tính (tệp và thư mục). Tổ chức kiểm soát truy cập vào các tập tin.

Hệ thống tập tin. Cấu trúc hệ thống tập tin

Dữ liệu trên đĩa được lưu trữ dưới dạng tập tin. Một tập tin là một phần được đặt tên của đĩa.

Hệ thống quản lý tập tin được thiết kế để quản lý tập tin.

Khả năng xử lý dữ liệu được lưu trữ trong các tệp ở mức logic được cung cấp bởi hệ thống tệp. Chính hệ thống tệp sẽ xác định cách tổ chức dữ liệu trên bất kỳ phương tiện lưu trữ nào.

Như vậy, hệ thống tập tin là một tập hợp các thông số kỹ thuật và phần mềm tương ứng chịu trách nhiệm tạo, hủy, sắp xếp, đọc, ghi, sửa đổi và di chuyển thông tin tệp cũng như kiểm soát quyền truy cập vào tệp và quản lý tài nguyên được các tệp sử dụng.

Hệ thống quản lý tập tin là hệ thống con chính trong phần lớn các hệ điều hành hiện đại.

Sử dụng hệ thống quản lý tập tin

· Tất cả các chương trình xử lý hệ thống được kết nối bằng dữ liệu;

· Giải quyết các vấn đề về phân bổ không gian đĩa và quản lý dữ liệu tập trung;

· Người dùng được cung cấp cơ hội thực hiện các thao tác trên tệp (tạo, v.v.), trao đổi dữ liệu giữa các tệp và các thiết bị khác nhau, để bảo vệ tệp khỏi bị truy cập trái phép.

Một số hệ điều hành có thể có nhiều hệ thống quản lý tệp, giúp chúng có khả năng xử lý nhiều hệ thống tệp.

Hãy thử phân biệt giữa hệ thống tệp và hệ thống quản lý tệp.

Thuật ngữ "hệ thống tệp" xác định các nguyên tắc truy cập vào dữ liệu được tổ chức trong tệp.

Thuật ngữ "hệ thống quản lý tập tin"đề cập đến việc triển khai cụ thể của hệ thống tệp, tức là Đây là một tập hợp các mô-đun phần mềm cung cấp khả năng làm việc với các tệp trong một hệ điều hành cụ thể.

Vì vậy, để làm việc với các tệp được tổ chức theo một hệ thống tệp nào đó, mỗi hệ điều hành phải phát triển một hệ thống quản lý tệp thích hợp. Hệ thống UV này sẽ chỉ hoạt động trên hệ điều hành được thiết kế cho nó.

Đối với dòng hệ điều hành Windows, các hệ thống tệp chính được sử dụng là: VFAT, FAT 32, NTFS.

Chúng ta hãy xem cấu trúc của các hệ thống tập tin này.

Trên hệ thống tập tin MẬP Dung lượng ổ đĩa của bất kỳ ổ đĩa logic nào được chia thành hai khu vực:

khu vực hệ thống và

· vùng dữ liệu.

Khu vực hệ thống được tạo và khởi tạo trong quá trình định dạng và sau đó được cập nhật khi cấu trúc tệp được thao tác.

Vùng hệ thống bao gồm các thành phần sau:

· Khu vực khởi động chứa bản ghi khởi động (bản ghi khởi động);

· Các lĩnh vực dành riêng (chúng có thể không tồn tại);

· bảng phân bổ tập tin (FAT, Bảng phân bổ tệp);

· Thư mục gốc (ROOT).

Các thành phần này lần lượt được đặt trên đĩa.

Vùng dữ liệu chứa các tập tin và thư mục phụ thuộc vào thư mục gốc.

Vùng dữ liệu được chia thành cái gọi là cụm. Một cụm là một hoặc nhiều lĩnh vực liền kề của một vùng dữ liệu. Mặt khác, 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. Những thứ kia. một tập tin hoặc thư mục chiếm một số cụm nguyên. Để tạo và ghi một tập tin mới vào đĩa, hệ điều hành sẽ phân bổ một số cụm đĩa trống cho nó. Các cụm này không nhất thiết phải nối tiếp nhau. Đối với mỗi tệp, một danh sách tất cả các số cụm được gán cho tệp đó sẽ được lưu trữ.

Việc chia vùng dữ liệu thành các cụm thay vì sử dụng các cung cho phép bạn:

· giảm kích thước của bảng FAT;

· giảm phân mảnh tập tin;

· độ dài của chuỗi tập tin giảm Þ tăng tốc độ truy cập tập tin.

Tuy nhiên, kích thước cụm quá lớn sẽ dẫn đến việc sử dụng vùng dữ liệu không hiệu quả, đặc biệt trong trường hợp có số lượng lớn các tệp nhỏ (xét cho cùng, trung bình một nửa cụm bị mất cho mỗi tệp).

Trong các hệ thống tệp hiện đại (FAT 32, HPFS, NTFS), vấn đề này được giải quyết bằng cách giới hạn kích thước cụm (tối đa 4 KB)

Bản đồ vùng dữ liệu là T Bảng phân bổ tập tin (Bảng phân bổ tệp - FAT) Mỗi ​​phần tử của bảng FAT (12, 16 hoặc 32 bit) tương ứng với một cụm đĩa và mô tả trạng thái của nó: cụm trống, bận hoặc cụm xấu.

· Nếu một cụm được phân bổ cho một tệp (tức là bận), thì phần tử FAT tương ứng chứa số cụm tiếp theo của tệp;

· Cụm cuối cùng của tệp được đánh dấu bằng một số trong phạm vi FF8h - FFFh (FFF8h - FFFFh);

· nếu cụm trống, nó chứa giá trị 0 000h (0000h);

· một cụm không sử dụng được (thất bại) được đánh dấu bằng số FF7h (FFF7h).

Do đó, trong bảng FAT, các cụm thuộc cùng một tệp được liên kết thành chuỗi.

Bảng phân bổ tệp được lưu trữ ngay sau bản ghi khởi động của đĩa logic; vị trí chính xác của nó được mô tả trong một trường đặc biệt trong khu vực khởi động.

Nó được lưu trữ trong hai bản sao giống hệt nhau, nối tiếp nhau. Nếu bản sao đầu tiên của bảng bị hủy thì bản sao thứ hai sẽ được sử dụng.

Do thực tế là FAT được sử dụng rất nhiều trong quá trình truy cập đĩa, nên nó thường được tải vào RAM (vào bộ đệm I/O hoặc bộ nhớ đệm) và tồn tại ở đó càng lâu càng tốt.

Nhược điểm chính của FAT là xử lý tệp chậm. Khi tạo một tệp, quy tắc là cụm miễn phí đầu tiên được phân bổ. Điều này dẫn đến sự phân mảnh đĩa và chuỗi tập tin phức tạp. Điều này dẫn đến làm việc chậm hơn với các tập tin.

Để xem và chỉnh sửa bảng FAT bạn có thể sử dụng tính thiết thựcĐĩaBiên tập viên.

Thông tin chi tiết về chính tập tin được lưu trữ trong một cấu trúc khác gọi là thư mục gốc. Mỗi ổ đĩa logic có thư mục gốc (ROOT) riêng.

Thư mục gốc mô tả các tập tin và thư mục khác. Một phần tử thư mục là một bộ mô tả tập tin.

Mỗi bộ mô tả tập tin và thư mục bao gồm nó

· Tên

· sự mở rộng

ngày tạo hoặc sửa đổi lần cuối

· thời điểm tạo hoặc sửa đổi lần cuối

thuộc tính (kho lưu trữ, thuộc tính thư mục, thuộc tính ổ đĩa, hệ thống, ẩn, chỉ đọc)

· chiều dài tập tin (đối với một thư mục - 0)

· Trường dành riêng không được sử dụng

· số cụm đầu tiên trong chuỗi các cụm được phân bổ cho một tập tin hoặc thư mục; Sau khi nhận được số này, hệ điều hành, tham khảo bảng FAT, sẽ tìm ra tất cả các số cụm khác của tệp.

Vì vậy, người dùng khởi chạy tệp để thực thi. Hệ điều hành tìm kiếm tệp có tên mong muốn bằng cách xem mô tả của tệp trong thư mục hiện tại. Khi tìm thấy phần tử bắt buộc trong thư mục hiện tại, hệ điều hành sẽ đọc số cụm đầu tiên của tệp này, sau đó sử dụng bảng FAT để xác định số cụm còn lại. Dữ liệu từ các cụm này được đọc vào RAM, kết hợp thành một phần liên tục. Hệ điều hành chuyển quyền điều khiển sang tệp và chương trình bắt đầu chạy.

Để xem và chỉnh sửa thư mục gốc ROOT bạn cũng có thể sử dụng tính thiết thựcĐĩaBiên tập viên.

Hệ thống tập tin VFAT

Hệ thống tệp VFAT (FAT ảo) lần đầu tiên xuất hiện trong Windows for Workgroups 3.11 và được thiết kế cho I/O tệp chế độ được bảo vệ.

Hệ thống tập tin này được sử dụng trong Windows 95.

Nó cũng được hỗ trợ trong Windows NT 4.

VFAT là hệ thống tệp 32-bit gốc của Windows 95. Nó được điều khiển bởi trình điều khiển VFAT .VXD.

VFAT sử dụng mã 32 bit cho tất cả các thao tác với tệp và có thể sử dụng trình điều khiển chế độ được bảo vệ 32 bit.

NHƯNG, các mục trong bảng phân bổ tệp vẫn là 12 hoặc 16 bit, do đó, cùng một cấu trúc dữ liệu (FAT) được sử dụng trên đĩa. Những thứ kia. f định dạng bảngVFAT cũng vậy, giống như định dạng FAT.

VFAT cùng với tên "8.3" hỗ trợ tên tập tin dài. (VFAT thường được gọi là FAT có hỗ trợ tên dài).

Nhược điểm chính của VFAT là tổn thất phân cụm lớn với kích thước đĩa logic lớn và các hạn chế về kích thước của chính đĩa logic.

Hệ thống tập tin MỠ 32

Đây là một triển khai mới của ý tưởng sử dụng bảng FAT.

FAT 32 là một hệ thống tệp 32-bit hoàn toàn độc lập.

Lần đầu tiên được sử dụng trong Windows OSR 2 (OEM Service Release 2).

Hiện nay, FAT 32 được sử dụng trong Windows 98 và Windows ME.

Nó chứa nhiều cải tiến và bổ sung so với việc triển khai FAT trước đó.

1. Sử dụng dung lượng ổ đĩa hiệu quả hơn nhiều do nó sử dụng các cụm nhỏ hơn (4 KB) - ước tính tiết kiệm được tới 15%.

2. Có bản ghi khởi động mở rộng cho phép bạn tạo bản sao của các cấu trúc dữ liệu quan trọng Þ tăng khả năng chống lại sự hư hại của đĩa đối với cấu trúc đĩa

3. Có thể sử dụng bản sao lưu FAT thay vì bản tiêu chuẩn.

4. Có thể di chuyển thư mục gốc, hay nói cách khác thư mục gốc có thể ở bất kỳ vị trí nào Þ loại bỏ giới hạn về kích thước của thư mục gốc (512 phần tử, vì ROOT được cho là chiếm một cụm).

5. Cải thiện cấu trúc thư mục gốc

Các trường bổ sung đã xuất hiện, ví dụ: thời gian tạo, ngày tạo, ngày truy cập lần cuối, tổng kiểm tra

Vẫn còn nhiều thẻ điều khiển cho một tên tệp dài.

Hệ thống tập tin HPFS

HPFS (Hệ thống tệp hiệu suất cao) là một hệ thống tệp hiệu suất cao.

HPFS xuất hiện lần đầu trong OS/2 1.2 và LAN Manager.

Hãy liệt kê Các tính năng chính của HPFS

· Sự khác biệt chính là nguyên tắc cơ bản của việc đặt tập tin vào đĩa và nguyên tắc lưu trữ thông tin về vị trí của tập tin. Nhờ những nguyên tắc này, HPFS đã hiệu suất cao và khả năng chịu lỗi, đáng tin cậy hệ thống tập tin.

· Dung lượng ổ đĩa trong HPFS được phân bổ không theo cụm (như trong FAT), mà khối. Trong cách triển khai hiện đại, kích thước khối được lấy bằng một khu vực, nhưng về nguyên tắc nó có thể có kích thước khác. (Thực ra một khối là một cụm, chỉ có một cụm luôn bằng một cung). Việc đặt các tập tin vào các khối nhỏ như vậy cho phép sử dụng không gian đĩa hiệu quả hơn, vì tổng dung lượng trống trung bình chỉ (nửa cung) là 256 byte cho mỗi tệp. Hãy nhớ rằng kích thước cụm càng lớn thì càng lãng phí nhiều dung lượng đĩa.

· Hệ thống HPFS cố gắng sắp xếp tệp theo các khối liền kề hoặc nếu không thể, hãy đặt tệp vào đĩa theo cách sao cho phạm vi(các đoạn) của tệp càng gần nhau càng tốt. Cách tiếp cận này là cần thiết giảm thời gian định vị đầu ghi/đọcổ cứng và thời gian chờ (độ trễ giữa việc cài đặt đầu đọc/ghi trên rãnh mong muốn). Chúng ta hãy nhớ lại rằng trong tệp FAT, cụm trống đầu tiên được phân bổ đơn giản.

Mức độ(phạm vi) - các đoạn tệp nằm trong các khu vực lân cận của đĩa. Một tệp có ít nhất một phạm vi nếu nó không bị phân mảnh và có nhiều phạm vi nếu không.

·Đã sử dụng phương pháp Cây nhị phân cân bằng để lưu trữ và tìm kiếm thông tin về vị trí của tệp (thư mục được lưu trữ ở giữa đĩa, ngoài ra còn cung cấp tính năng tự động sắp xếp các thư mục), điều này rất cần thiết tăng năng suất HPFS (so với FAT).

· HPFS cung cấp các thuộc tính tệp mở rộng đặc biệt cho phép kiểm soát quyền truy cập vào tập tin và thư mục.

Thuộc tính mở rộng (thuộc tính mở rộng, EA ) cho phép bạn lưu trữ thông tin bổ sung về tệp. Ví dụ: mỗi tệp có thể được liên kết với đồ họa (biểu tượng) duy nhất, mô tả tệp, nhận xét, thông tin chủ sở hữu tệp, v.v.

Cấu trúc phân vùng C HPFS


Ở đầu phân vùng được cài đặt HPFS, có ba điều khiển khối:

khối khởi động

· khối bổ sung (siêu khối) và

· khối dự phòng (dự phòng) (khối dự phòng).

Họ chiếm 18 lĩnh vực.

Tất cả dung lượng đĩa còn lại trong HPFS được chia thành các phần từ các khu vực lân cận - sọc(dải - dải, băng). Mỗi dải chiếm 8 MB dung lượng đĩa.

Mỗi dải đều có cái riêng bitmap phân bổ ngành.Bitmap hiển thị các khu vực của một băng tần nhất định bị chiếm dụng và khu vực nào còn trống. Mỗi khu vực của dải dữ liệu tương ứng với một bit trong bitmap của nó. Nếu bit = 1 thì khu vực này đang bận, nếu 0 thì khu vực đó đang rảnh.

Các ảnh bitmap của hai làn đường được đặt cạnh nhau trên đĩa, cũng như các làn đường đó. Nghĩa là, chuỗi sọc và thẻ trông giống như trong Hình.

So sánh vớiMẬP. Chỉ có một “bản đồ bit” (bảng FAT) cho toàn bộ đĩa. Và để làm việc với nó, bạn phải di chuyển trung bình các đầu đọc/ghi trên một nửa đĩa.

Để giảm thời gian định vị các đầu đọc/ghi của đĩa cứng, trong HPFS, đĩa được chia thành các sọc.

Hãy xem xét khối điều khiển.

Khối khởi động (khởi độngkhối)

Chứa tên ổ đĩa, số sê-ri, khối tham số BIOS và chương trình khởi động.

Chương trình bootstrap tìm thấy tập tin LDR hệ điều hành 2 , đọc nó vào bộ nhớ và chuyển quyền điều khiển sang chương trình khởi động hệ điều hành này, sau đó, chương trình này sẽ tải nhân OS/2 từ đĩa vào bộ nhớ - OS 2 KRNL. Và đã có OS 2 KRIML sử dụng thông tin từ tập tin CẤU HÌNH. SYS tải tất cả các mô-đun chương trình và khối dữ liệu cần thiết khác vào bộ nhớ.

Khối khởi động được đặt trong các khu vực từ 0 đến 15.

siêuKhối(siêu khối)

Chứa

· con trỏ tới danh sách bitmap (danh sách khối bitmap). Danh sách này liệt kê tất cả các khối trên đĩa chứa bitmap được sử dụng để phát hiện các khu vực trống;

· con trỏ tới danh sách các khối bị lỗi (danh sách khối xấu). Khi hệ thống phát hiện một khối bị hỏng, khối đó sẽ được thêm vào danh sách này và không còn được sử dụng để lưu trữ thông tin;

· con trỏ tới dải thư mục

· con trỏ tới nút tập tin (F -node) của thư mục gốc,

· Ngày quét phân vùng cuối cùng của CHKDSK;

· thông tin về kích thước sọc (trong triển khai HPFS hiện tại - 8 MB).

Siêu khối nằm ở khu vực 16.

Dự phòngkhối(khối dự phòng)

Chứa

· con trỏ tới bản đồ thay thế khẩn cấp (bản đồ hotfix hoặc khu vực hotfix);

· con trỏ tới danh sách các khối dự phòng miễn phí (danh sách khối miễn phí khẩn cấp thư mục);

· một số cờ hệ thống và mô tả.

Khối này nằm ở khu vực 17 của đĩa.

Khối sao lưu cung cấp khả năng chịu lỗi cao cho hệ thống tệp HPFS và cho phép bạn khôi phục dữ liệu bị hỏng trên đĩa.

Nguyên tắc vị trí tập tin

Mức độ(phạm vi) - các đoạn tệp nằm trong các khu vực lân cận của đĩa. Một tệp có ít nhất một phạm vi nếu nó không bị phân mảnh và có nhiều phạm vi nếu không.

Để giảm thời gian cần thiết để định vị các đầu đọc/ghi của đĩa cứng, hệ thống HPFS cố gắng

1) đặt tệp vào các khối liền kề;

2) nếu điều này là không thể thì hãy đặt các phạm vi của tệp bị phân mảnh càng gần nhau càng tốt,

Để thực hiện việc này, HPFS sử dụng số liệu thống kê và cũng cố gắng dự trữ có điều kiện ít nhất 4 kilobyte dung lượng ở cuối các tệp đang tăng lên.

Nguyên tắc lưu trữ thông tin vị trí file

Mỗi tập tin và thư mục trên đĩa đều có nút tập tin F-Node. Đây là cấu trúc chứa thông tin về vị trí của tệp và các thuộc tính mở rộng của nó.

Mỗi F-Node chiếm một lĩnh vực và luôn nằm gần tệp hoặc thư mục của nó (thường ngay trước tệp hoặc thư mục). Đối tượng F-Node chứa

· chiều dài,

· 15 ký tự đầu tiên của tên tập tin,

· thông tin dịch vụ đặc biệt,

· thống kê về truy cập tập tin,

· thuộc tính tập tin mở rộng,

· danh sách các quyền truy cập (hoặc chỉ một phần của danh sách này, nếu nó rất lớn); Nếu các thuộc tính mở rộng quá lớn đối với nút tệp thì một con trỏ tới chúng sẽ được ghi vào nút đó.

· thông tin liên kết về vị trí và cấp dưới của tập tin, v.v.

Nếu tệp liền kề thì vị trí của nó trên đĩa được mô tả bằng hai số 32 bit. Số đầu tiên là con trỏ tới khối đầu tiên của tệp và số thứ hai là độ dài phạm vi (số khối liên tiếp thuộc về tệp).

Nếu một tệp bị phân mảnh thì vị trí của các phần mở rộng của nó sẽ được mô tả trong nút tệp bằng các cặp số 32 bit bổ sung.

Một nút tệp có thể chứa thông tin về tối đa tám phần của tệp. Nếu một tệp có nhiều phạm vi hơn thì một con trỏ tới khối phân bổ sẽ được ghi vào nút tệp của nó, nút này có thể chứa tối đa 40 con trỏ tới các phạm vi hoặc, tương tự như khối cây thư mục, tới các khối phân bổ khác.

Cấu trúc thư mục và vị trí

Dùng để lưu trữ danh mục sọc nằm ở giữa đĩa.

Dải này được gọi là danh mụcban nhạc.

Nếu nó đã đầy hoàn toàn, HPFS sẽ bắt đầu đặt các thư mục tệp vào các sọc khác.

Việc đặt cấu trúc thông tin này vào giữa đĩa sẽ làm giảm đáng kể thời gian định vị đầu đọc/ghi trung bình.

Tuy nhiên, sự đóng góp lớn hơn đáng kể cho hiệu suất HPFS (so với việc đặt Dải thư mục ở giữa đĩa logic) được thực hiện bằng cách sử dụng phương pháp cây nhị phân cân bằng để lưu trữ và truy xuất thông tin về vị trí của tệp.

Hãy nhớ lại rằng trong hệ thống tập tin MẬP Thư mục có cấu trúc tuyến tính, không được sắp xếp theo thứ tự đặc biệt nên khi tìm kiếm một tập tin bạn cần xem qua nó một cách tuần tự ngay từ đầu.

Trong HPFS, cấu trúc thư mục là một cây cân bằng với các mục được sắp xếp theo thứ tự bảng chữ cái.

Mỗi mục trong cây chứa

· thuộc tính tập tin,

· con trỏ tới nút tập tin tương ứng,

thông tin về ngày giờ tạo tập tin, ngày giờ cập nhật và truy cập lần cuối,

độ dài của dữ liệu chứa các thuộc tính mở rộng,

· bộ đếm truy cập tập tin,

độ dài tên tập tin

· chính cái tên,

· và các thông tin khác.

Hệ thống tệp HPFS chỉ xem xét các nhánh cần thiết của cây nhị phân khi tìm kiếm tệp trong một thư mục. Phương pháp này hiệu quả hơn nhiều lần so với việc đọc tuần tự tất cả các mục trong một thư mục, trường hợp này xảy ra với hệ thống FAT.

Kích thước của mỗi khối theo thư mục nào được phân bổ trong triển khai HPFS hiện tại là 2 KB. Kích thước của mục mô tả tệp phụ thuộc vào kích thước của tên tệp. Nếu tên là 13 byte (đối với định dạng 8.3), thì khối 2 KB có thể chứa tối đa 40 bộ mô tả tệp. Các khối được kết nối với nhau thông qua một danh sách.

Các vấn đề

Khi đổi tên tập tin, cái gọi là cân bằng lại cây có thể xảy ra. Việc tạo, đổi tên hoặc xóa một tập tin có thể dẫn đến khối thư mục xếp tầng. Trên thực tế, việc đổi tên có thể không thành công do thiếu dung lượng ổ đĩa, ngay cả khi bản thân tệp không tăng kích thước. Để tránh thảm họa này, HPFS duy trì một nhóm nhỏ các khối miễn phí có thể được sử dụng trong trường hợp xảy ra thảm họa. Hoạt động này có thể yêu cầu phân bổ các khối bổ sung trên một đĩa đầy đủ. Một con trỏ tới nhóm khối miễn phí này được lưu trữ trong SpareBlock.

Nguyên tắc đặt tập tin và thư mục trên đĩaHPFS:

· Thông tin về vị trí của các tệp được phân tán khắp đĩa, với các bản ghi cho từng tệp cụ thể được đặt (nếu có thể) trong các khu vực lân cận và gần với dữ liệu về vị trí của chúng;

· các thư mục được đặt ở giữa không gian đĩa;

· Các thư mục được lưu trữ dưới dạng cây cân bằng nhị phân với các mục được sắp xếp theo thứ tự bảng chữ cái.

Độ tin cậy của việc lưu trữ dữ liệu trong HPFS

Bất kỳ hệ thống tập tin nào cũng phải có phương tiện sửa lỗi xảy ra khi ghi thông tin vào đĩa. Hệ thống HPFS sử dụng cho việc này cơ chế thay thế khẩn cấp ( sửa lỗi nóng).

Nếu hệ thống tệp HPFS gặp sự cố khi ghi dữ liệu vào đĩa, nó sẽ hiển thị thông báo lỗi. HPFS sau đó lưu trữ thông tin đáng lẽ phải được ghi vào khu vực bị lỗi ở một trong các khu vực dự phòng được dành riêng trước cho trường hợp này. Danh sách các khối dự phòng miễn phí được lưu trữ trong khối dự phòng HPFS. Nếu phát hiện lỗi khi ghi dữ liệu vào khối thông thường, HPFS sẽ chọn một trong các khối dự phòng miễn phí và lưu trữ dữ liệu ở đó. Hệ thống tập tin sau đó cập nhật thẻ thay thế khẩn cấp ở đơn vị dự bị.

Bản đồ này chỉ đơn giản là các cặp từ kép, mỗi từ là một số khu vực 32 bit.

Số đầu tiên cho biết khu vực bị lỗi và số thứ hai cho biết khu vực đó trong số các khu vực dự phòng có sẵn đã được chọn để thay thế nó.

Sau khi thay thế khu vực bị lỗi bằng khu vực dự phòng, bản đồ thay thế khẩn cấp sẽ được ghi vào đĩa và một cửa sổ bật lên xuất hiện trên màn hình thông báo cho người dùng rằng đã xảy ra lỗi ghi đĩa. Mỗi khi hệ thống ghi hoặc đọc một khu vực đĩa, nó sẽ xem xét bản đồ khôi phục và thay thế tất cả các số khu vực xấu bằng số khu vực dự phòng bằng dữ liệu tương ứng.

Cần lưu ý rằng việc dịch số này không ảnh hưởng đáng kể đến hiệu suất hệ thống, vì nó chỉ được thực hiện khi truy cập vật lý vào đĩa chứ không phải khi đọc dữ liệu từ bộ nhớ đệm của đĩa.

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.

Lưu ý rằng với những trường hợp ngoại lệ hiếm hoi, với Phân vùng NTFS chỉ có thể được làm việc trực tiếp từcác cửa sổN.T. mặc dù có những triển khai tương ứng của hệ thống quản lý tệp để đọc tệp từ ổ đĩa NTFS cho một số hệ điều hành.

Tuy nhiên, không có triển khai chính thức nào để làm việc với NTFS ngoài Windows NT.

NTFS không được hỗ trợ trên hệ điều hành Windows 98 và Windows Millennium Edition được sử dụng rộng rãi.

Các tính năng chínhNT FS

· Làm việc trên các đĩa lớn diễn ra hiệu quả (hiệu quả hơn nhiều so với FAT);

· có các công cụ hạn chế quyền truy cập vào các tập tin và thư mục Þ Phân vùng NTFS cung cấp bảo mật cục bộ cho cả tệp và thư mục;

· một cơ chế giao dịch đã được giới thiệu trong đó khai thác gỗ thao tác tập tin Þ tăng đáng kể độ tin cậy;

· nhiều hạn chế về số lượng tối đa các cung và/hoặc cụm đĩa đã được loại bỏ;

· Tên tệp ở dạng NTFS, không giống như hệ thống tệp FAT và HPFS, có thể chứa bất kỳ ký tự nào, bao gồm toàn bộ bảng chữ cái quốc gia, vì dữ liệu được biểu thị bằng Unicode - biểu diễn 16 bit cung cấp 65535 ký tự khác nhau. Độ dài tối đa của tên tệp trong NTFS là 255 ký tự.

· NTFS cũng có khả năng nén tích hợp mà bạn có thể áp dụng cho từng tệp riêng lẻ, toàn bộ thư mục và thậm chí cả các ổ đĩa (và sau đó hoàn tác hoặc gán chúng theo ý muốn).

Cấu trúc ổ đĩa với hệ thống tệp NTFS

Một phân vùng NTFS được gọi là một ổ đĩa (volume). Kích thước ổ đĩa tối đa có thể (và kích thước tệp) là 16 EB (exabyte 2**64).

Giống như các hệ thống khác, NTFS chia không gian ổ đĩa thành các cụm—khối dữ liệu được đánh địa chỉ dưới dạng đơn vị dữ liệu. NTFS hỗ trợ kích thước cụm từ 512 byte đến 64 KB; tiêu chuẩn là một cụm có kích thước 2 hoặc 4 KB.

Tất cả dung lượng ổ đĩa trong NTFS được chia thành hai phần không bằng nhau.


12% đầu tiên của đĩa được phân bổ cho cái gọi là vùng MFT - không gian có thể bị dịch vụ chính chiếm giữ siêu tập tin MFT.

Không thể ghi bất kỳ dữ liệu nào vào khu vực này. Vùng MFT luôn được giữ trống - điều này được thực hiện để tệp MFT, nếu có thể, không bị phân mảnh khi nó phát triển.

88% dung lượng còn lại là không gian lưu trữ tệp thông thường.

MFT (bậc thầytài liệubàn - bảng tệp chung) về cơ bản là một thư mục chứa tất cả các tệp khác trên đĩa, bao gồm cả chính nó. Nó được thiết kế để xác định vị trí của tập tin.

MFT bao gồm các bản ghi có kích thước cố định. Kích thước bản ghi MFT (tối thiểu 1 KB và tối đa 4 KB) được xác định khi ổ đĩa được định dạng.

Mỗi mục tương ứng với một tập tin.

16 mục đầu tiên có tính chất dịch vụ và không có sẵn cho hệ điều hành - chúng được gọi là siêu tập tin, và siêu tệp đầu tiên chính là MFT.

16 phần tử MFT đầu tiên này là phần duy nhất của đĩa có vị trí cố định nghiêm ngặt. Một bản sao của 16 mục này được giữ ở giữa tập sách để đảm bảo độ tin cậy.

Các phần còn lại của tệp MFT có thể được đặt, giống như bất kỳ tệp nào khác, ở các vị trí tùy ý trên đĩa.

Siêu tệp có tính chất dịch vụ - mỗi siêu tệp chịu trách nhiệm về một số khía cạnh hoạt động của hệ thống. Siêu tập tin nằm trong thư mục gốc của ổ đĩa NTFS. Tất cả đều bắt đầu bằng ký hiệu tên "$", mặc dù rất khó để có được bất kỳ thông tin nào về chúng bằng các phương tiện tiêu chuẩn. Trong bảng Các siêu dữ liệu chính và mục đích của chúng được đưa ra.

Tên siêu tệp

Mục đích của siêu tập tin

$MFT

Bản thân Bảng Tệp Chính

$MFTmirr

Một bản sao của 16 mục MFT đầu tiên được đặt ở giữa tập sách

$Tệp nhật ký

Tập tin hỗ trợ ghi nhật ký

$Khối lượng

Thông tin dịch vụ - nhãn ổ đĩa, phiên bản hệ thống tệp, v.v.

$AttrDef

Danh sách các thuộc tính tệp tiêu chuẩn trên ổ đĩa

Thư mục gốc

$bitmap

Bản đồ không gian trống

$Khởi động

Khu vực khởi động (nếu phân vùng có khả năng khởi động)

hạn ngạch $

Một tệp ghi lại quyền sử dụng dung lượng ổ đĩa của người dùng (tệp này chỉ bắt đầu hoạt động trong Windows 2000 với NTFS 5.0)

$Chữ hoa

Tệp - bảng tương ứng giữa chữ hoa và chữ thường trong tên tệp. Trong NTFS, tên tập tin được viết bằng bảng mã Unicode (lên tới 65 nghìn ký hiệu khác nhau) và tìm kiếm các giá trị tương đương lớn và nhỏ trong trường hợp này là một nhiệm vụ không hề nhỏ

Bản ghi MFT tương ứng lưu trữ tất cả thông tin về tệp:

· tên tập tin,

· kích cỡ;

· thuộc tính tập tin;

· vị trí trên đĩa của các mảnh riêng lẻ, v.v.

Nếu một bản ghi MFT không đủ thông tin thì một số bản ghi sẽ được sử dụng và không nhất thiết phải là các bản ghi liên tiếp.

Nếu tệp không lớn lắm thì dữ liệu tệp sẽ được lưu trữ trực tiếp trong MFT, trong khoảng trống còn lại của dữ liệu chính trong một bản ghi MFT.

Một tập tin trên ổ đĩa NTFS được xác định bởi cái gọi là liên kết tập tin(Tham chiếu tệp), được biểu thị dưới dạng số 64 bit.

· số tập tin tương ứng với số bản ghi trong MFT,

· và số thứ tự. Con số này được tăng lên bất cứ khi nào một số nhất định trong MFT được sử dụng lại, cho phép hệ thống tệp NTFS thực hiện kiểm tra tính toàn vẹn bên trong.

Mỗi tệp trong NTFS được biểu thị bằng dòng(luồng), tức là nó không có “chỉ dữ liệu” như vậy mà có các luồng.

Một trong những luồng là dữ liệu tệp.

Hầu hết các thuộc tính tệp cũng là luồng.

Do đó, hóa ra tệp chỉ có một thực thể cơ bản - số trong MFT và mọi thứ khác, bao gồm cả luồng của nó, đều là tùy chọn.

Cách tiếp cận này có thể được sử dụng một cách hiệu quả - ví dụ: bạn có thể “đính kèm” một luồng khác vào một tệp bằng cách ghi bất kỳ dữ liệu nào vào đó.

Các thuộc tính tiêu chuẩn cho tệp và thư mục trên ổ đĩa NTFS có tên và mã loại cố định.

Mục lục trong NTFS là một tệp đặc biệt lưu trữ các liên kết đến các tệp và thư mục khác.

Tệp danh mục được chia thành các khối, mỗi khối chứa

· tên tập tin,

thuộc tính cơ bản và

Thư mục gốc của đĩa không khác gì các thư mục thông thường, ngoại trừ một liên kết đặc biệt đến nó từ đầu siêu tệp MFT.

Cấu trúc thư mục bên trong là cây nhị phân, tương tự như HPFS.

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.

Hệ thống tệp NTFS hỗ trợ mô hình đối tượng bảo mật NT: NTFS xử lý các thư mục và tệp dưới dạng các loại đối tượng riêng biệt và duy trì danh sách quyền riêng biệt (mặc dù chồng chéo) cho từng loại.

NTFS cung cấp bảo mật ở cấp độ tệp; điều này có nghĩa là quyền truy cập vào các tập, thư mục và tệp có thể phụ thuộc vào tài khoản người dùng và nhóm mà người dùng đó thuộc về. Mỗi khi người dùng truy cập vào một đối tượng hệ thống tệp, quyền truy cập của người đó sẽ được kiểm tra dựa trên danh sách quyền của đối tượng đó. Nếu người dùng có đủ quyền, yêu cầu của anh ta sẽ được chấp nhận; nếu không thì yêu cầu sẽ bị từ chối. Mô hình bảo mật này áp dụng cho cả việc đăng ký người dùng cục bộ trên máy tính NT và các yêu cầu mạng từ xa.

Hệ thống NTFS cũng có khả năng tự phục hồi nhất định. NTFS 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 các hoạt động ghi tệp được phát lại dựa trên nhật ký hệ thống đặc biệt.

Tại khai thác gỗ hoạt động của tệp, hệ thống quản lý tệp sẽ ghi lại những thay đổi xảy ra trong một tệp dịch vụ đặc biệt. Khi bắt đầu một thao tác liên quan đến việc thay đổi cấu trúc file, một ghi chú tương ứng sẽ được thực hiện. Nếu có bất kỳ lỗi nào xảy ra trong quá trình thao tác với tệp, dấu bắt đầu thao tác nói trên vẫn được biểu thị là chưa hoàn thành. Khi bạn thực hiện kiểm tra tính toàn vẹn của hệ thống tệp sau khi khởi động lại máy, các thao tác đang chờ xử lý này sẽ bị hủy và các tệp sẽ được khôi phục về trạng thái ban đầu. Nếu hoạt động thay đổi dữ liệu trong tệp được hoàn thành bình thường thì trong chính tệp hỗ trợ ghi nhật ký dịch vụ này, thao tác được đánh dấu là đã hoàn thành.

Nhược điểm chính của hệ thống tập tinNTFS- dữ liệu dịch vụ chiếm nhiều dung lượng (ví dụ: mỗi thành phần thư mục chiếm 2 KB) - đối với các phân vùng nhỏ, dữ liệu dịch vụ có thể chiếm tới 25% dung lượng phương tiện.

Þ NTFS không thể được sử dụng để định dạng đĩa mềm. Bạn không nên sử dụng nó để định dạng các phân vùng nhỏ hơn 100 MB.

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

Trong thế giới UNIX, có một số loại hệ thống tệp khác nhau có cấu trúc bộ nhớ ngoài riêng. Được biết đến nhiều nhất là hệ thống tệp UNIX System V (s5) truyền thống và hệ thống tệp họ UNIX BSD (ufs).

Hãy xem xét s 5.

Một tệp trên hệ thống UNIX là một tập hợp các ký tự truy cập ngẫu nhiên.

Tệp có cấu trúc do người dùng áp đặt.

Hệ thống tệp Unix là một hệ thống tệp phân cấp, nhiều người dùng.

Hệ thống tập tin có cấu trúc cây. Các đỉnh (nút trung gian) của cây là các thư mục có liên kết đến các thư mục hoặc tệp khác. Các lá của cây tương ứng với các tập tin hoặc thư mục trống.

Bình luận. Trên thực tế, hệ thống tệp Unix không dựa trên cây. Thực tế là hệ thống có khả năng vi phạm hệ thống phân cấp ở dạng cây, vì có thể liên kết nhiều tên có cùng nội dung tập tin.

Cấu trúc đĩa

Đĩa được chia thành các khối. Kích thước khối dữ liệu được xác định khi định dạng hệ thống tệp bằng lệnh mkfs và có thể được đặt thành 512, 1024, 2048, 4096 hoặc 8192 byte.

Chúng tôi đếm 512 byte (kích thước cung).

Dung lượng ổ đĩa được chia thành các khu vực sau (xem hình):

· khối tải;

· kiểm soát siêu khối;

· mảng i-nút;

· Khu vực lưu trữ nội dung (dữ liệu) của tập tin;

· một tập hợp các khối miễn phí (được liên kết thành một danh sách);

Khối khởi động

Siêu khối

tôi - nút

. . .

tôi - nút

Bình luận.Đối với hệ thống tệp UFS - tất cả điều này được lặp lại cho một nhóm trụ (ngoại trừ khối Khởi động) + một vùng đặc biệt được phân bổ để mô tả nhóm trụ

Khối khởi động

Khối này nằm ở khối # 0. (Hãy nhớ lại rằng vị trí của khối này trong khối số 0 của thiết bị hệ thống được xác định bởi phần cứng, vì bộ tải khởi động phần cứng luôn truy cập vào khối số 0 của thiết bị hệ thống. Đây là thành phần cuối cùng của hệ thống tệp phụ thuộc vào phần cứng.)

Khối khởi động chứa một chương trình khuyến mãi được sử dụng để khởi chạy hệ điều hành UNIX lần đầu. Trong hệ thống tệp S 5, chỉ có khối khởi động của hệ thống tệp gốc mới thực sự được sử dụng. Trong các hệ thống tệp bổ sung, khu vực này có mặt nhưng không được sử dụng.

Siêu khối

Nó chứa thông tin vận hành về trạng thái của hệ thống tệp, cũng như dữ liệu về các tham số cấu hình hệ thống tệp.

Đặc biệt, siêu khối chứa thông tin sau

· số lượng nút i (mô tả chỉ mục);

· kích thước phân vùng ???;

· danh sách các khối miễn phí;

· danh sách các nút i miễn phí;

· và khác.

Chúng ta hãy chú ý! Dung lượng trống trên đĩa là danh sách liên kết các khối miễn phí. Danh sách này được lưu trữ trong một siêu khối.

Các phần tử danh sách là mảng gồm 50 phần tử (nếu khối = 512 byte thì phần tử = 16 bit):

· Các phần tử mảng số 1-48 chứa số khối không gian khối tệp trống từ 2 đến 49.

· Phần tử #0 chứa con trỏ tới phần tiếp theo của danh sách, và

· Phần tử cuối cùng (số 49) chứa con trỏ tới phần tử tự do trong mảng.

Nếu một số quy trình cần một khối miễn phí để mở rộng một tệp, thì hệ thống sẽ chọn một phần tử mảng bằng cách sử dụng một con trỏ (đến phần tử tự do) và khối có Số được lưu trong phần tử này sẽ được cung cấp cho tệp. Nếu tệp bị giảm, các số giải phóng sẽ được thêm vào mảng các khối miễn phí và con trỏ tới phần tử miễn phí sẽ được điều chỉnh.

Vì kích thước mảng là 50 phần tử nên có thể xảy ra hai tình huống quan trọng:

1. Khi chúng ta giải phóng các khối tệp nhưng chúng không thể vừa với mảng này. Trong trường hợp này, một khối trống được chọn từ hệ thống tệp và mảng khối trống đã được điền đầy đủ sẽ được sao chép vào khối này, sau đó giá trị của con trỏ tới phần tử trống được đặt lại và Phần tử 0 của mảng, nằm trong siêu khối, chứa số khối mà hệ thống đã chọn để sao chép nội dung của mảng. Tại thời điểm này, một phần tử mới của danh sách các khối miễn phí được tạo (mỗi khối có 50 phần tử).

2. Khi nội dung của các phần tử của mảng các khối tự do đã hết (trong trường hợp này, phần tử 0 của mảng bằng 0). Nếu phần tử này không bằng 0 thì điều này có nghĩa là có sự tiếp tục của mảng. mảng. Phần tiếp theo này được đọc thành bản sao của siêu khối trong RAM.

Danh sách miễn phínút i. Đây là một bộ đệm bao gồm 100 phần tử. Nó chứa thông tin về 100 số i-node hiện đang miễn phí.

Siêu khối luôn ở trong RAM

Þ tất cả các hoạt động (giải phóng và chiếm giữ các khối và nút i xảy ra trong RAM Þ giảm thiểu trao đổi đĩa.

Nhưng! Nếu nội dung của siêu khối không được ghi vào đĩa và nguồn bị tắt, các vấn đề sẽ phát sinh (sự khác biệt giữa trạng thái thực của hệ thống tệp và nội dung của siêu khối). Nhưng đây đã là một yêu cầu về độ tin cậy của thiết bị hệ thống.

Bình luận. Hệ thống tệp UFS hỗ trợ nhiều bản sao của siêu khối (một bản sao cho mỗi nhóm trụ) để cải thiện tính ổn định.

Vùng inode

Đây là một mảng mô tả tập tin được gọi là i -nút (Tôi -nút).(64 byte?)

Mỗi bộ mô tả chỉ mục (i-node) của một tệp chứa:

· Loại tập tin (tập tin/thư mục/tập tin đặc biệt/fifo/socket)

· Thuộc tính (quyền truy cập) - 10

ID chủ sở hữu tệp

· ID nhóm của chủ sở hữu tập tin

· Thời gian tạo tập tin

Thời gian sửa đổi tập tin

· Thời gian truy cập tập tin lần cuối

· Độ dài tập tin

· Số lượng liên kết đến một i-node nhất định từ các thư mục khác nhau

Địa chỉ khối tệp

!ghi chú. Không có tên tập tin ở đây

Chúng ta hãy xem xét kỹ hơn về cách nó được tổ chức địa chỉ khối, trong đó tập tin được đặt. Vì vậy, trong trường địa chỉ có số của 10 khối đầu tiên của tệp.

Nếu tệp vượt quá mười khối, thì cơ chế sau sẽ bắt đầu hoạt động: phần tử thứ 11 của trường chứa số khối, chứa 128 (256) liên kết đến các khối của tệp này. Nếu tệp thậm chí còn lớn hơn thì phần tử thứ 12 của trường sẽ được sử dụng - nó chứa số khối, chứa 128(256) số khối, trong đó mỗi khối chứa 128(256) số khối hệ thống tệp. Và nếu tệp thậm chí còn lớn hơn thì phần tử thứ 13 sẽ được sử dụng - trong đó độ sâu lồng của danh sách sẽ tăng thêm một phần tử khác.

Bằng cách này, chúng ta có thể nhận được một tệp có kích thước (10+128+128 2 +128 3)*512.

Điều này có thể được biểu diễn như sau:

Địa chỉ của khối thứ nhất của tập tin

Địa chỉ của khối thứ 2 của tập tin

Địa chỉ của khối thứ 10 của tập tin

Địa chỉ khối địa chỉ gián tiếp (khối có 256 địa chỉ khối)

Địa chỉ của khối địa chỉ gián tiếp thứ 2 (khối có 256 khối địa chỉ có địa chỉ)

Địa chỉ của khối địa chỉ gián tiếp thứ 3 (khối có địa chỉ của khối có địa chỉ của khối có địa chỉ)

Bảo vệ tập tin

Bây giờ chúng ta hãy xem ID chủ sở hữu, nhóm và các bit bảo mật.

Trong hệ điều hành Unix nó được sử dụng hệ thống phân cấp người dùng ba cấp:

Cấp độ đầu tiên là tất cả người dùng.

Cấp độ thứ hai là nhóm người dùng. (Tất cả người dùng được chia thành các nhóm.

Cấp độ thứ ba là một người dùng cụ thể (Nhóm bao gồm những người dùng thực sự). Do tổ chức người dùng ba cấp độ này, mỗi tệp có ba thuộc tính:

1) Chủ sở hữu tập tin. Thuộc tính này được liên kết với một người dùng cụ thể, người này được hệ thống tự động chỉ định làm chủ sở hữu tệp. Bạn có thể trở thành chủ sở hữu mặc định bằng cách tạo một tệp và cũng có một lệnh cho phép bạn thay đổi chủ sở hữu của tệp.

2) Bảo vệ truy cập tập tin. Quyền truy cập vào mỗi tệp được giới hạn ở ba loại:

· Quyền của chủ sở hữu (những gì chủ sở hữu có thể làm với tệp này, trong trường hợp chung - không nhất thiết là tất cả);

· Quyền của nhóm mà chủ sở hữu tập tin thuộc về. Chủ sở hữu không được đưa vào đây (ví dụ: một tệp có thể bị khóa đọc đối với chủ sở hữu, nhưng tất cả các thành viên khác trong nhóm có thể tự do đọc từ tệp;

· tất cả người dùng khác của hệ thống;

Đối với ba loại này, ba hành động được quy định: đọc từ tệp, ghi vào tệp và thực thi tệp (theo cách ghi nhớ của hệ thống R, W, X tương ứng). Mỗi tệp trong ba danh mục này xác định người dùng nào có thể đọc, người dùng nào có thể viết và ai có thể chạy nó như một quy trình.

Tổ chức thư mục

Theo quan điểm của hệ điều hành, thư mục là một tệp thông thường chứa dữ liệu về tất cả các tệp thuộc thư mục đó.

Một phần tử thư mục bao gồm hai trường:

1) số nút i (số thứ tự trong mảng nút i) và

2) tên tệp:

Mỗi thư mục chứa hai tên đặc biệt: ‘.’ - chính thư mục đó; ‘..’ - thư mục mẹ.

(Đối với thư mục gốc, thư mục gốc đề cập đến cùng một thư mục.)

Nói chung, một thư mục có thể chứa nhiều mục tham chiếu đến cùng một nút i, nhưng thư mục đó không thể chứa các mục có cùng tên. Nghĩa là, một số lượng tên tùy ý có thể được liên kết với nội dung của tệp. Nó được gọi là buộc. Một mục nhập thư mục đề cập đến một tập tin duy nhất được gọi là giao tiếp.

Các tệp tồn tại độc lập với các mục trong thư mục và các liên kết thư mục thực sự trỏ đến các tệp vật lý. Một tập tin "biến mất" khi liên kết cuối cùng trỏ đến nó bị xóa.

Vì vậy, để truy cập một tập tin theo tên, hệ điều hành

1. tìm tên này trong thư mục chứa tệp,

2. lấy số nút i của tệp,

3. dùng số để tìm i-node trong vùng i-node,

4. từ nút i nhận địa chỉ của các khối chứa dữ liệu tệp,

5. đọc các khối từ vùng dữ liệu bằng địa chỉ khối.

Cấu trúc phân vùng đĩa trong EXT2 FS

Toàn bộ không gian phân vùng được chia thành các khối. Một khối có thể có kích thước 1, 2 hoặc 4 kilobyte. Một khối là một đơn vị không gian đĩa có thể định địa chỉ.

Các khối trong khu vực của chúng được kết hợp thành các nhóm khối. Các nhóm khối trong hệ thống tệp và các khối trong một nhóm được đánh số tuần tự, bắt đầu bằng 1. Khối đầu tiên trên đĩa được đánh số 1 và thuộc nhóm số 1. Tổng số khối trên một đĩa (trong một phân vùng đĩa) là ước số của dung lượng đĩa, được biểu thị bằng các cung. Và số lượng nhóm khối không nhất thiết phải chia số khối, vì nhóm khối cuối cùng có thể không đầy đủ. Phần đầu của mỗi nhóm khối có một địa chỉ, có thể lấy là ((số nhóm - 1)* (số khối trong nhóm)).

Mỗi nhóm khối có cấu trúc giống nhau. Cấu trúc của nó được trình bày trong bảng.

Phần tử đầu tiên của cấu trúc này (siêu khối) giống nhau đối với tất cả các nhóm và tất cả phần còn lại là riêng lẻ cho mỗi nhóm. Siêu khối được lưu trữ trong khối đầu tiên của mỗi nhóm khối (ngoại trừ nhóm 1 có bản ghi khởi động ở khối đầu tiên). Siêu khối là điểm bắt đầu của hệ thống tập tin. Nó có kích thước 1024 byte và luôn nằm ở vị trí offset 1024 byte tính từ đầu hệ thống tệp. Sự hiện diện của nhiều bản sao của siêu khối được giải thích bởi tầm quan trọng cực kỳ lớn của thành phần này trong hệ thống tệp. Bản sao siêu khối được sử dụng khi khôi phục hệ thống tệp sau lỗi.

Thông tin được lưu trữ trong siêu khối được sử dụng để tổ chức quyền truy cập vào phần dữ liệu còn lại trên đĩa. Siêu khối xác định kích thước của hệ thống tệp, số lượng tệp tối đa trong phân vùng, dung lượng trống và chứa thông tin về nơi cần tìm các vùng chưa được phân bổ. Khi HĐH khởi động, siêu khối được đọc vào bộ nhớ và tất cả các thay đổi đối với hệ thống tệp trước tiên được phản ánh trong một bản sao của siêu khối nằm trong HĐH và chỉ được ghi vào đĩa theo định kỳ. Điều này cải thiện hiệu suất hệ thống vì nhiều người dùng và quy trình liên tục cập nhật tệp. Mặt khác, khi hệ thống tắt, siêu khối phải được ghi vào đĩa, điều này không cho phép tắt máy tính bằng cách tắt nguồn. Nếu không, lần khởi động tiếp theo, thông tin được ghi trong siêu khối sẽ không tương ứng với trạng thái thực của hệ thống tệp.

Sau siêu khối là phần mô tả nhóm khối (Bộ mô tả nhóm). Mô tả này chứa:

Địa chỉ của khối chứa bitmap khối của nhóm này;

Địa chỉ của khối chứa bitmap inode của nhóm này;

Địa chỉ khối chứa bảng inode của nhóm này;

Bộ đếm số khối trống trong nhóm này;

Số lượng nút trống trong nhóm này;

Số lượng nút trong một nhóm nhất định là các thư mục

và các dữ liệu khác.

Thông tin được lưu trữ trong mô tả nhóm được sử dụng để định vị các bitmap khối và inode, cũng như bảng inode.

Hệ thống tập tin máy lẻ 2 được đặc trưng bởi:

  • cấu trúc thứ bậc,
  • phối hợp xử lý các tập dữ liệu,
  • phần mở rộng tập tin động,
  • bảo vệ thông tin trong các tập tin,
  • xử lý các thiết bị ngoại vi (chẳng hạn như thiết bị đầu cuối và thiết bị băng từ) dưới dạng tập tin.

Biểu diễn tập tin nội bộ

Mỗi tệp trong hệ thống Ext 2 có một chỉ mục duy nhất. Chỉ mục chứa thông tin cần thiết cho bất kỳ quy trình nào để truy cập tệp. Xử lý các tệp truy cập bằng cách sử dụng một tập hợp các lệnh gọi hệ thống được xác định rõ ràng và xác định tệp bằng một chuỗi ký tự đóng vai trò là tên tệp đủ điều kiện. Mỗi tên ghép xác định duy nhất một tệp, do đó nhân hệ thống chuyển đổi tên này thành chỉ mục tệp. Chỉ mục bao gồm một bảng địa chỉ nơi chứa thông tin tệp trên đĩa. Vì mỗi khối trên đĩa được đánh địa chỉ bằng số riêng của nó nên bảng này lưu trữ một tập hợp các số khối đĩa. Để tăng tính linh hoạt, kernel sẽ gắn thêm một tệp vào một khối mỗi lần, cho phép thông tin của tệp được phân tán khắp hệ thống tệp. Nhưng cách bố trí này làm phức tạp thêm nhiệm vụ tìm kiếm dữ liệu. Bảng địa chỉ chứa danh sách các số khối chứa thông tin thuộc về tệp.

Nút tập tin

Mỗi tệp trên đĩa có một nút tệp tương ứng, được xác định bằng số sê-ri của nó - chỉ mục tệp. Điều này có nghĩa là số lượng tệp có thể được tạo trên hệ thống tệp bị giới hạn bởi số lượng nút, được chỉ định rõ ràng khi hệ thống tệp được tạo hoặc được tính toán dựa trên kích thước vật lý của phân vùng đĩa. Các nút tồn tại trên đĩa ở dạng tĩnh và kernel đọc chúng vào bộ nhớ trước khi làm việc với chúng.

Inode của tệp chứa thông tin sau:

- Loại và quyền truy cập vào tệp này.

Mã định danh chủ sở hữu tệp (Uid chủ sở hữu).

Kích thước tệp tính bằng byte.

Thời gian truy cập file lần cuối (Access time).

Thời gian tạo tập tin.

Thời gian sửa đổi cuối cùng của tập tin.

Thời gian xóa tập tin.

ID nhóm (GID).

Số lượng liên kết.

Số khối bị chiếm bởi tập tin.

Cờ tập tin

Dành riêng cho hệ điều hành

Con trỏ tới các khối trong đó dữ liệu tệp được ghi (ví dụ về địa chỉ trực tiếp và gián tiếp trong Hình 1)

Phiên bản tệp (dành cho NFS)

tập tin ACL

Thư mục ACL

Địa chỉ mảnh

Số mảnh

Kích thước mảnh

Danh mục

Thư mục là các tập tin.

Hạt nhân lưu trữ dữ liệu trong một thư mục giống như trong một loại tệp thông thường, sử dụng cấu trúc chỉ mục và các khối có mức địa chỉ trực tiếp và gián tiếp. Các tiến trình có thể đọc dữ liệu từ các thư mục giống như cách chúng đọc các tệp thông thường, tuy nhiên, quyền truy cập ghi độc quyền vào thư mục được kernel dành riêng, đảm bảo rằng cấu trúc thư mục là chính xác.)

Khi một tiến trình sử dụng đường dẫn tệp, kernel sẽ tìm trong thư mục để tìm số inode tương ứng. Sau khi tên tệp được chuyển đổi thành số inode, inode đó sẽ được đặt vào bộ nhớ và sau đó được sử dụng trong các yêu cầu tiếp theo.

Các tính năng bổ sung của EXT2 FS

Ngoài các tính năng Unix tiêu chuẩn, EXT2fs còn cung cấp một số tính năng bổ sung thường không được hệ thống tệp Unix hỗ trợ.

Thuộc tính tệp cho phép bạn thay đổi cách kernel phản ứng khi làm việc với các tập hợp tệp. Bạn có thể đặt thuộc tính trên một tập tin hoặc thư mục. Trong trường hợp thứ hai, các tệp được tạo trong thư mục này kế thừa các thuộc tính này.

Trong quá trình gắn hệ thống, một số tính năng liên quan đến thuộc tính tệp có thể được đặt. Tùy chọn gắn kết cho phép quản trị viên chọn cách tạo tệp. Trong hệ thống tệp dành riêng cho BSD, các tệp được tạo có cùng ID nhóm với thư mục mẹ. Các tính năng của System V có phần phức tạp hơn. Nếu một thư mục có tập bit setgid thì các tệp được tạo sẽ kế thừa mã định danh nhóm của thư mục đó và các thư mục con sẽ kế thừa mã định danh nhóm và bit setgid. Mặt khác, các tệp và thư mục sẽ được tạo bằng ID nhóm chính của quá trình gọi.

Hệ thống EXT2fs có thể sử dụng sửa đổi dữ liệu đồng bộ tương tự như hệ thống BSD. Tùy chọn gắn kết cho phép quản trị viên chỉ định rằng tất cả dữ liệu (inodes, khối bit, khối gián tiếp và khối thư mục) được ghi vào đĩa một cách đồng bộ khi chúng được sửa đổi. Điều này có thể được sử dụng để đạt được dung lượng ghi dữ liệu cao nhưng cũng dẫn đến hiệu suất kém. Trên thực tế, chức năng này thường không được sử dụng vì ngoài việc làm giảm hiệu suất, nó có thể dẫn đến mất dữ liệu người dùng không được gắn cờ khi kiểm tra hệ thống tệp.

EXT2fs cho phép bạn chọn kích thước khối logic khi tạo hệ thống tệp. Nó có thể có kích thước 1024, 2048 hoặc 4096 byte. Việc sử dụng các khối lớn hơn sẽ mang lại các thao tác I/O nhanh hơn (vì thực hiện ít yêu cầu đĩa hơn) và do đó chuyển động đầu ít hơn. Mặt khác, việc sử dụng các khối lớn sẽ dẫn đến lãng phí dung lượng ổ đĩa. Thông thường, khối cuối cùng của tệp không hoàn toàn được sử dụng để lưu trữ thông tin, do đó khi kích thước khối tăng lên, dung lượng ổ đĩa bị lãng phí sẽ tăng lên.

EXT2fs cho phép bạn sử dụng các liên kết tượng trưng được tăng tốc. Khi sử dụng các liên kết như vậy, các khối dữ liệu hệ thống tệp sẽ không được sử dụng. Tên tệp đích không được lưu trữ trong khối dữ liệu mà được lưu trữ trong chính nút đó. Cấu trúc này cho phép bạn tiết kiệm dung lượng ổ đĩa và tăng tốc độ xử lý các liên kết tượng trưng. Tất nhiên, không gian dành riêng cho một tay cầm bị hạn chế, do đó không phải mọi liên kết đều có thể được biểu diễn dưới dạng liên kết được tăng tốc. Độ dài tối đa của tên tệp trong liên kết được tăng tốc là 60 ký tự. Trong tương lai gần, người ta dự định mở rộng sơ đồ này cho các tệp nhỏ.

EXT2fs giám sát trạng thái của hệ thống tập tin. Hạt nhân sử dụng một trường riêng biệt trong siêu khối để biểu thị trạng thái của hệ thống tệp. Nếu hệ thống tệp được gắn ở chế độ đọc/ghi thì trạng thái của nó được đặt thành "Không sạch". Nếu nó được tháo dỡ hoặc lắp lại ở chế độ chỉ đọc thì trạng thái của nó được đặt thành “Sạch”. Trong quá trình kiểm tra trạng thái hệ thống tệp và khởi động hệ thống, thông tin này được sử dụng để xác định xem việc kiểm tra hệ thống tệp có cần thiết hay không. Hạt nhân cũng có một số lỗi trong trường này. Khi kernel phát hiện sự không khớp, hệ thống tệp được đánh dấu là "Có lỗi". Trình kiểm tra hệ thống tệp sẽ kiểm tra thông tin này để kiểm tra hệ thống, ngay cả khi trạng thái của nó thực sự là Sạch.

Việc bỏ qua việc kiểm tra hệ thống file trong một thời gian dài đôi khi có thể dẫn đến một số khó khăn, vì vậy EXT2fs bao gồm hai phương pháp để kiểm tra hệ thống thường xuyên. Siêu khối chứa bộ đếm gắn kết hệ thống. Bộ đếm này được tăng lên mỗi lần hệ thống được gắn vào chế độ đọc/ghi. Nếu giá trị của nó đạt đến mức tối đa (nó cũng được lưu trữ trong siêu khối), thì chương trình kiểm tra hệ thống tệp sẽ bắt đầu kiểm tra nó, ngay cả khi trạng thái của nó là "Sạch". Thời gian kiểm tra cuối cùng và khoảng thời gian tối đa giữa các lần kiểm tra cũng được lưu trữ trong siêu khối. Khi đạt đến khoảng thời gian tối đa giữa các lần quét, trạng thái của hệ thống tệp sẽ bị bỏ qua và quá trình quét của nó sẽ bắt đầu.

Tối ưu hóa hiệu suất

Hệ thống EXT2fs chứa nhiều tính năng giúp tối ưu hóa hiệu suất của nó, giúp tăng tốc độ trao đổi thông tin khi đọc và ghi tệp.

EXT2fs tích cực sử dụng bộ đệm đĩa. Khi một khối cần được đọc, kernel sẽ đưa ra yêu cầu thao tác I/O cho một số khối liền kề. Do đó, kernel cố gắng đảm bảo rằng khối tiếp theo cần đọc đã được tải vào bộ đệm đĩa. Những thao tác như vậy thường được thực hiện khi đọc các tập tin một cách tuần tự.

Hệ thống EXT2fs cũng chứa một số lượng lớn các tối ưu hóa cho việc sắp xếp thông tin. Các nhóm khối được sử dụng để nhóm các nút và khối dữ liệu tương ứng lại với nhau. Hạt nhân luôn cố gắng đặt các khối dữ liệu của một tệp trong cùng một nhóm, cũng như bộ mô tả của nó. Điều này nhằm mục đích giảm chuyển động của các đầu ổ đĩa khi đọc bộ mô tả và các khối dữ liệu tương ứng của nó.

Khi ghi dữ liệu vào một tệp, EXT2fs phân bổ trước tối đa 8 khối liền kề khi phân bổ một khối mới. Phương pháp này cho phép bạn đạt được hiệu suất cao khi tải hệ thống nặng. Điều này cũng cho phép các tập tin được đặt trong các khối liền kề, giúp tăng tốc độ đọc tiếp theo của chúng.

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 hệ thống tập tin triển khai trong hệ điều hành.

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 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ể gọi 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 biết 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 họ đượ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 đi kèm với 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, có thể 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” 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. cờ int là mặt nạ bit xác định chế độ mở 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 để bù đắp cho con trỏ và tham số từ đó chỉ định vị trí bắt đầu bù trừ. Người ta giả định rằng độ lệch 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 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 phần đầ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à các hoạt động trên chính tệp đó và fcntl được dự định là các hoạt động 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 lệnh 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 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 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 CP/ 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 từ IBM.

Sớm hay muộn, người mới sử dụng máy tính sẽ phải đối mặt với một khái niệm như hệ thống tệp (FS). Theo quy định, lần đầu tiên làm quen với thuật ngữ này xảy ra khi định dạng phương tiện lưu trữ: ổ đĩa logic và phương tiện được kết nối (ổ đĩa flash, thẻ nhớ, ổ cứng ngoài).

Trước khi định dạng, hệ điều hành Windows sẽ nhắc bạn chọn loại hệ thống tệp trên phương tiện, kích thước cụm và phương thức định dạng (nhanh hoặc đầy đủ). Hãy cùng tìm hiểu hệ thống tập tin là gì và tại sao nó lại cần thiết?

Mọi thông tin được ghi ra phương tiện dưới dạng phải được sắp xếp theo một thứ tự nhất định, nếu không hệ điều hành và các chương trình sẽ không thể hoạt động với dữ liệu. Thứ tự này được hệ thống tệp sắp xếp bằng cách sử dụng các thuật toán và quy tắc nhất định để đặt tệp trên phương tiện.

Khi một chương trình cần một tập tin được lưu trữ trên đĩa, nó không cần biết nó được lưu trữ như thế nào và ở đâu. Tất cả những gì chương trình yêu cầu là biết tên tệp, kích thước và thuộc tính của nó để chuyển dữ liệu này sang hệ thống tệp, hệ thống này sẽ cung cấp quyền truy cập vào tệp mong muốn. Điều tương tự cũng xảy ra khi ghi dữ liệu vào phương tiện: chương trình chuyển thông tin về tệp (tên, kích thước, thuộc tính) sang hệ thống tệp, hệ thống này sẽ lưu tệp theo các quy tắc cụ thể của riêng nó.

Để hiểu rõ hơn, hãy tưởng tượng một thủ thư đưa một cuốn sách cho khách hàng dựa trên tựa đề của nó. Hoặc theo thứ tự ngược lại: khách hàng trả lại cuốn sách đã đọc cho thủ thư, người này sẽ cất nó trở lại kho. Khách hàng không cần biết sổ sách được cất giữ ở đâu và như thế nào; đây là trách nhiệm của nhân viên cơ sở. Thủ thư biết các quy tắc biên mục thư viện và theo các quy tắc này, tìm kiếm ấn phẩm hoặc đặt nó trở lại, tức là. thực hiện các chức năng chính thức của mình. Trong ví dụ này, thư viện là phương tiện lưu trữ, thủ thư là hệ thống tệp và máy khách là chương trình.

Các chức năng hệ thống tệp cơ bản

Các chức năng chính của hệ thống tập tin là:

  • vị trí và tổ chức trên vật mang dữ liệu dưới dạng tệp;
  • xác định lượng dữ liệu được hỗ trợ tối đa trên phương tiện lưu trữ;
  • tạo, đọc và xóa tập tin;
  • gán và thay đổi các thuộc tính tệp (kích thước, thời gian tạo và sửa đổi, chủ sở hữu và người tạo tệp, tệp chỉ đọc, tệp ẩn, tệp tạm thời, đã lưu trữ, thực thi, độ dài tên tệp tối đa, v.v.);
  • xác định cấu trúc tập tin;
  • tổ chức thư mục để tổ chức hợp lý các tập tin;
  • bảo vệ tập tin trong trường hợp hệ thống bị lỗi;
  • bảo vệ các tập tin khỏi sự truy cập trái phép và thay đổi nội dung của chúng.

Thông tin được ghi trên ổ cứng hoặc bất kỳ phương tiện nào khác được đặt ở đó trên cơ sở tổ chức cụm. Cụm là một loại ô có kích thước nhất định mà toàn bộ tệp hoặc một phần của nó phù hợp.

Nếu tệp có kích thước cụm thì nó chỉ chiếm một cụm. Nếu kích thước tệp vượt quá kích thước ô thì nó sẽ được đặt trong một số ô cụm. Hơn nữa, các cụm trống có thể không nằm cạnh nhau mà có thể nằm rải rác trên bề mặt vật lý của đĩa. Hệ thống này cho phép bạn sử dụng không gian hiệu quả nhất khi lưu trữ tệp. Nhiệm vụ của hệ thống tệp là phân phối tệp khi ghi vào các cụm trống một cách tối ưu, đồng thời tập hợp nó khi đọc và đưa nó cho chương trình hoặc hệ điều hành.

Các loại hệ thống tập tin

Trong quá trình phát triển của máy tính, phương tiện lưu trữ và hệ điều hành, một số lượng lớn hệ thống tệp đã ra đời và biến mất. Trong quá trình lựa chọn tiến hóa như vậy, ngày nay các loại hệ thống tệp sau chủ yếu được sử dụng để hoạt động với ổ cứng và thiết bị lưu trữ ngoài (ổ flash, thẻ nhớ, ổ cứng ngoài, CD):

  1. FAT32
  2. ISO9660

Hai hệ thống cuối cùng được thiết kế để hoạt động với đĩa CD. Hệ thống tệp Ext3 và Ext4 hoạt động với các hệ điều hành dựa trên Linux. NFS Plus là hệ thống tệp dành cho hệ điều hành OS X được sử dụng trên máy tính Apple.

Các hệ thống tệp được sử dụng rộng rãi nhất là NTFS và FAT32, và điều này không có gì đáng ngạc nhiên, bởi vì... chúng được thiết kế cho hệ điều hành Windows, hệ điều hành chạy phần lớn máy tính trên thế giới.

Hiện FAT32 đang được thay thế tích cực bằng hệ thống NTFS tiên tiến hơn do độ tin cậy cao hơn trong việc bảo vệ và an toàn dữ liệu. Ngoài ra, các phiên bản mới nhất của hệ điều hành Windows sẽ không cho phép cài đặt chúng nếu phân vùng ổ cứng được định dạng FAT32. Trình cài đặt sẽ yêu cầu bạn định dạng phân vùng thành NTFS.

Hệ thống tệp NTFS hỗ trợ các đĩa có dung lượng hàng trăm terabyte và kích thước tệp duy nhất lên tới 16 terabyte.

Hệ thống tệp FAT32 hỗ trợ các đĩa có dung lượng lên tới 8 terabyte và kích thước tệp duy nhất lên tới 4GB. Thông thường, FS này được sử dụng trên ổ đĩa flash và thẻ nhớ. Ổ đĩa ngoài được định dạng ở FAT32 tại nhà máy.

Tuy nhiên, giới hạn kích thước tệp 4GB hiện nay đã là một bất lợi lớn, bởi vì... Do việc phân phối video chất lượng cao, kích thước tệp của phim sẽ vượt quá giới hạn này và sẽ không thể ghi nó trên phương tiện truyền thông.

Chia sẻ.

Hệ điều hành, là nền tảng cho hoạt động của bất kỳ thiết bị máy tính nào, tổ chức công việc với dữ liệu điện tử, tuân theo một thuật toán nhất định, trong chuỗi mà hệ thống tệp không được xác nhận quyền sở hữu. Hệ thống tập tin nói chung là gì và loại hệ thống tập tin nào được áp dụng trong thời hiện đại, chúng tôi sẽ cố gắng giải thích trong bài viết này.


Mô tả các đặc điểm chung của hệ thống tập tin

FS, như đã nêu ở trên, là một phần của hệ điều hành, liên quan trực tiếp đến việc đặt, xóa, di chuyển thông tin điện tử trên một phương tiện cụ thể, cũng như tính bảo mật cho việc sử dụng tiếp theo trong tương lai. Tài nguyên này cũng có thể áp dụng trong trường hợp cần khôi phục thông tin bị mất do lỗi phần mềm. Tức là nó là công cụ chính để làm việc với các tập tin điện tử.

Các loại hệ thống tập tin

Mỗi thiết bị máy tính sử dụng một loại hệ thống tập tin đặc biệt. Các loại sau đây đặc biệt phổ biến:

- được thiết kế cho ổ đĩa cứng;
- dùng cho băng từ;
- dành cho phương tiện quang học;
- ảo;
- mạng.

Đương nhiên, đơn vị logic chính để làm việc với dữ liệu điện tử là một tệp, có nghĩa là một tài liệu có thông tin có tính chất nhất định được hệ thống hóa trong đó, có tên riêng, giúp người dùng dễ dàng làm việc hơn với một luồng dữ liệu điện tử lớn. các tài liệu.
Vì vậy, tất cả mọi thứ mà hệ điều hành sử dụng đều được chuyển đổi thành tệp, bất kể đó là văn bản hay hình ảnh, âm thanh, video hay ảnh. Trong số những thứ khác, trình điều khiển và thư viện phần mềm cũng có bản phiên âm của chúng.

Mỗi đơn vị thông tin có tên, phần mở rộng, kích thước, đặc điểm cố hữu và loại cụ thể. Nhưng FS là tổng thể của chúng, cũng như các nguyên tắc làm việc với tất cả chúng.

Tùy thuộc vào những tính năng cụ thể vốn có trong hệ thống, nó sẽ hoạt động hiệu quả với dữ liệu đó. Và đây là điều kiện tiên quyết để phân loại thành các loại, chủng loại.

Nhìn vào hệ thống tập tin từ góc độ lập trình

Khi nghiên cứu khái niệm về hệ thống tệp, bạn nên hiểu rằng đây là thành phần đa cấp, thành phần đầu tiên bị chi phối bởi bộ biến đổi hệ thống tệp, đảm bảo sự tương tác hiệu quả giữa chính hệ thống và một ứng dụng phần mềm cụ thể. Chính anh ta là người chịu trách nhiệm chuyển đổi yêu cầu dữ liệu điện tử sang một định dạng cụ thể, được các trình điều khiển công nhận, điều này đòi hỏi phải làm việc hiệu quả với các tệp, tức là có thể truy cập vào chúng.

Các ứng dụng hiện đại có tiêu chuẩn máy khách-máy chủ có yêu cầu FS rất cao. Xét cho cùng, các hệ thống hiện đại đơn giản phải cung cấp khả năng truy cập hiệu quả nhất vào tất cả các loại thiết bị điện tử hiện có, cũng như cung cấp sự hỗ trợ to lớn cho phương tiện truyền thông có dung lượng lớn, cũng như bảo vệ tất cả dữ liệu khỏi sự truy cập không mong muốn của những người dùng khác, cũng như đảm bảo tính tính toàn vẹn của thông tin được lưu trữ ở định dạng điện tử.

Dưới đây chúng ta sẽ xem xét tất cả các FS hiện có cũng như những ưu điểm và nhược điểm của chúng.

FS - FAT

Đây là loại hệ thống tập tin lâu đời nhất, được phát triển vào năm 1977. Nó hoạt động với OS 86-DOS và không có khả năng hoạt động với phương tiện lưu trữ cứng và được thiết kế cho các loại linh hoạt và lưu trữ thông tin lên đến một megabyte. Nếu ngày nay việc giới hạn quy mô thông tin không còn phù hợp thì các chỉ số khác vẫn có nhu cầu không thay đổi.

Hệ thống tệp này đã được công ty phát triển ứng dụng phần mềm hàng đầu, Microsoft, sử dụng cho các hệ điều hành như MS-DOS 1.0.
Các tập tin của hệ thống này có một số thuộc tính đặc trưng:

- tên của đơn vị thông tin phải chứa một chữ cái hoặc số ở đầu và các nội dung khác của tên có thể bao gồm các ký hiệu bàn phím máy tính khác nhau;
- tên tệp không được vượt quá tám ký tự; một dấu chấm được đặt ở cuối tên, theo sau là phần mở rộng ba chữ cái;
— bất kỳ thanh ghi bố cục bàn phím nào cũng có thể được sử dụng để tạo tên tệp.

Ngay từ khi bắt đầu phát triển, hệ thống tệp FAT đã nhằm mục đích hoạt động với hệ điều hành DOS; nó không quan tâm đến việc lưu dữ liệu về người dùng hoặc chủ sở hữu thông tin.

Nhờ những sửa đổi khác nhau của FS này, nó đã trở thành phổ biến nhất trong thời hiện đại và các hệ điều hành sáng tạo nhất hoạt động trên cơ sở của nó.

Hệ thống tệp này có khả năng lưu các tệp không thay đổi nếu thiết bị máy tính bị tắt không đúng cách, chẳng hạn như do pin không được sạc hoặc đèn bị tắt.

Nhiều hệ điều hành mà FAT hoạt động có chứa một số tiện ích phần mềm nhất định có chức năng sửa và kiểm tra cây nội dung hệ thống tệp cũng như các tệp.

FS - NTFS

Hệ thống tệp NTFS hiện đại hoạt động với hệ điều hành Windows NT về nguyên tắc là nhằm vào nó. Nó bao gồm tiện ích chuyển đổi, chịu trách nhiệm chuyển đổi các ổ đĩa từ định dạng HPFS hoặc FAT sang định dạng ổ đĩa NTFS.

Nó được hiện đại hóa hơn so với tùy chọn đầu tiên được mô tả ở trên. Phiên bản này đã mở rộng các khả năng liên quan đến kiểm soát truy cập trực tiếp tới tất cả các đơn vị thông tin. Tại đây bạn có thể sử dụng nhiều thuộc tính hữu ích, nén tệp động và khả năng chịu lỗi. Một trong những ưu điểm của nó là hỗ trợ các yêu cầu của tiêu chuẩn POSIX.

Hệ thống tệp này cho phép bạn tạo các tệp thông tin có tên dài tối đa 255 ký tự.

Nếu hệ điều hành hoạt động với hệ thống tệp này bị lỗi thì không cần phải lo lắng về sự an toàn của tất cả các tệp. Chúng vẫn còn nguyên vẹn và không hề hấn gì vì loại hệ thống tệp này có đặc tính tự phục hồi.

Một tính năng của hệ thống tệp NTFS là cấu trúc của nó, được trình bày dưới dạng một bảng cụ thể. Mười sáu mục đầu tiên trong sổ đăng ký là nội dung của chính hệ thống tệp. Mỗi đơn vị điện tử riêng lẻ cũng có dạng bảng, chứa thông tin về bảng, tệp nhân bản ở định dạng MFT, tệp đăng ký được sử dụng khi cần khôi phục thông tin và dữ liệu tiếp theo - đây là thông tin về chính tệp đó và dữ liệu của nó đã được lưu trực tiếp trên ổ cứng.

Tất cả các lệnh được thực thi với các tệp đều có xu hướng được lưu lại, điều này giúp hệ thống sau đó tự phục hồi sau khi hệ điều hành mà nó đang hoạt động gặp lỗi.

FS - EFS

Một hệ thống tệp rất phổ biến là EFS, được coi là được mã hóa. Nó hoạt động với hệ điều hành Windows. Hệ thống này khiến các tập tin được lưu trữ trên ổ cứng ở dạng mã hóa. Đây là cách bảo vệ hiệu quả nhất cho tất cả các tập tin.
Mã hóa được đặt trong thuộc tính tệp bằng hộp kiểm bên cạnh tab cho biết khả năng mã hóa. Sử dụng chức năng này, bạn có thể chỉ định ai có thể xem tệp, nghĩa là ai được phép làm việc với chúng.

FS – NGUYÊN

Các phần tử tệp là đơn vị lập trình dễ bị tổn thương nhất. Suy cho cùng, chúng là thông tin được lưu trữ trên đĩa máy tính. Chúng có thể bị hư hỏng, loại bỏ, ẩn. Nói chung, công việc của người dùng chỉ nhằm mục đích tạo, lưu và di chuyển chúng.
Hệ điều hành không phải lúc nào cũng thể hiện các đặc tính lý tưởng trong hoạt động của nó và có xu hướng bị lỗi. Điều này xảy ra vì nhiều lý do. Nhưng đó không phải là về điều đó bây giờ.

Nhiều người dùng phải đối mặt với thông báo rằng hệ thống RAW bị hỏng. Đây có thực sự là FS hay không? Nhiều người hỏi câu hỏi này. Hóa ra điều này không hoàn toàn đúng. Nếu chúng tôi giải thích nó ở cấp độ ngôn ngữ lập trình, thì RAW là một lỗi, cụ thể là lỗi logic đã được đưa vào hệ điều hành Windows để bảo vệ nó khỏi lỗi. Nếu thiết bị đưa ra bất kỳ thông báo nào về RAW, thì bạn cần lưu ý rằng cấu trúc của hệ thống tệp đang gặp rủi ro, nó hoạt động không chính xác hoặc có nguy cơ bị phá hủy dần dần.

Nếu vấn đề như vậy hiển nhiên, thì bạn sẽ không thể truy cập vào một tệp duy nhất trên máy tính và nó cũng sẽ từ chối thực thi các lệnh vận hành khác.

FS – UDF

Đây là một hệ thống tệp dành cho đĩa quang, có các đặc điểm riêng:

— tên tệp không được vượt quá 255 ký tự;
- trường hợp danh nghĩa có thể thấp hơn hoặc cao hơn.

Nó hoạt động với hệ điều hành Windows XP.

FS - EXFAT

Và một hệ thống tệp hiện đại khác là EXFAT, là một loại trung gian giữa Windows và Linux, đảm bảo chuyển đổi hiệu quả các tệp từ hệ thống này sang hệ thống khác, vì dịch vụ lưu trữ tệp của chúng khác nhau. Nó được sử dụng trên các thiết bị lưu trữ di động, chẳng hạn như ổ đĩa flash.

Từ những gì đã được viết ở trên, chúng ta có thể rút ra kết luận đúng. Mỗi hệ thống tệp đặc trưng đều có những đặc điểm riêng và tạo ra các định dạng tệp nhất định. Đây là lý do tại sao đôi khi bạn không thể truy cập một số tệp, có nghĩa là chúng được tạo trong một hệ thống tệp hoàn toàn khác mà hệ thống tệp của bạn không thể nhận ra.
Chúng tôi hy vọng rằng những thông tin được trình bày trong bài viết này sẽ giúp bạn tránh được nhiều vấn đề khi làm việc với các file thông tin. Giờ đây, bạn có thể xác định độc lập FS mà hệ điều hành máy tính của bạn hoạt động và dữ liệu nào bạn phải làm việc hàng ngày trong quy trình xử lý vận hành hệ thống của chúng.