Bài viết Phân tích một số hệ thống file thông dụng tập trung phân tích cấu trúc của một số hệ thống file phổ biến, từ đó đưa ra ưu nhược điểm của chúng cùng các đề xuất trong việc thiết kế và cải tiến hệ thống file.
Nội dung trích xuất từ tài liệu:
Phân tích một số hệ thống file thông dụng
Tuyển tập Hội nghị Khoa học thường niên năm 2018. ISBN: 978-604-82-2548-3
PHÂN TÍCH MỘT SỐ HỆ THỐNG FILE THÔNG DỤNG
Phạm Thanh Bình
Khoa Công nghệ thông tin - Trường Đại học Thuỷ lợi, email: binhpt@tlu.edu.vn
1. GIỚI THIỆU CHUNG Căn cứ vào ba tiêu chí nêu trên (đơn giản,
hoàn chỉnh, hiệu quả), chúng tôi sẽ tiến hành
Hệ thống file là một bộ phận quan trọng đánh giá từng hệ thống, rồi đưa ra những đề
của hệ điều hành. Nhiệm vụ của nó là quản lý xuất và cải tiến các hệ thống file hiện có.
các file. Khái niệm file trong các hệ điều
hành hiện đại cũng được hiểu theo nghĩa rất 3. KẾT QUẢ NGHIÊN CỨU
rộng, file có thể là một đơn vị lưu trữ dữ liệu,
có thể là các đối tượng nhập/ xuất dữ liệu, 3.1. Tóm lược hệ thống file Windows 9x
cũng có thể là các đối tượng đặc biệt khác Đĩa cứng thường được chia thành nhiều
nữa. Do đó, việc thiết kế hệ thống file ảnh phân vùng, mỗi vùng có thể cài đặt một hệ
hưởng rất lớn tới hiệu quả hoạt động của hệ điều hành riêng. Phân vùng cài đặt Windows
thống nói chung. 9x thường có cấu trúc như sau:
Một hệ thống file tốt phải thoả mãn ba tiêu
Boot block FAT Root dir Data blocks
chí là đơn giản, hoàn chỉnh và hiệu quả. Một
hệ thống đơn giản sẽ dễ thực hiện và ít gây Hình 1. Phân vùng đĩa cài Windows 9x [2]
lỗi (dễ phát hiện và khắc phục lỗi). Một hệ
thống hoàn chỉnh tức là nó cung cấp đủ tính Boot block là khối đĩa đầu tiên của phân
năng cần thiết (chứ không phải là cung cấp vùng, nó thường chứa các mã lệnh để khởi
quá nhiều tính năng). Một hệ thống hiệu quả động máy tính và một số thông tin quan trọng
tức là nó có thể hoàn thành công việc với chi về đĩa. Nằm sau Boot block là bảng FAT
phí thấp nhất. Muốn vậy nó phải được thiết (File Allocation Table), bảng này là một danh
kế hợp lý. sách liên kết chứa thông tin về địa chỉ các
Trong khuôn khổ bài viết này, chúng tôi sẽ khối đĩa của file (đồng thời cũng quản lý các
tập trung phân tích cấu trúc của một số hệ khối đĩa còn trống và các khối đĩa bị hỏng -
thống file phổ biến, từ đó đưa ra ưu nhược tức là quản lý tất cả các khối đĩa của phân
điểm của chúng cùng các đề xuất trong việc vùng). Thư mục gốc (Root dir) thường nằm
thiết kế và cải tiến hệ thống file. ngay sau FAT, tuy nhiên FAT32 cho phép
đặt thư mục gốc ở một vị trí tuỳ ý. Phần còn
2. PHƯƠNG PHÁP NGHIÊN CỨU lại là các khối đĩa để chứa dữ liệu của các file
và thư mục (Data blocks). Thư mục là một
Chúng tôi đã lựa chọn một số hệ thống file bảng chứa danh sách các file mà nó quản lý,
tiêu biểu (như hệ thống file của Windows 9x, mỗi bản ghi của thư mục sẽ chứa tên file,
hệ thống file của UNIX, hệ thống file NTFS) kích thước file, các thuộc tính của file, và địa
để phân tích, tập trung vào cấu trúc hệ thống, chỉ khối đĩa đầu tiên của file.
các kỹ thuật phân phối file trên đĩa, tổ chức
thư mục, và một số vấn đề khác… Đây là File name Attributes First block File size
những hệ thống file đã được sử dụng rộng rãi Hình 2. Bản ghi thư mục của Windows 9x
trên toàn thế giới, là kết quả thiết kế của
nhiều trường phái khác nhau, nên việc phân Khi muốn truy cập vào một file, trước hết
tích chúng sẽ rất hữu ích cho sự hoàn thiện phải tìm tên file trong bảng thư mục, nhằm
các hệ thống file tương lai. xác định khối đĩa đầu tiên của file, sau đó
193
Tuyển tập Hội nghị Khoa học thường niên năm 2018. ISBN: 978-604-82-2548-3
truy cập vào bảng FAT - lần theo danh sách 3.3. Tóm lược hệ thống file NTFS
liên kết để tìm địa chỉ các khối đĩa còn lại. Phân vùng đĩa sử dụng NTFS thường có
Các thuộc tính của file lưu trong bảng thư cấu trúc như sau:
mục bao gồm thời gian tạo file, các bít cờ
read-only, hidden, system… không có thuộc Boot block … MFT Data blocks
tính nào giúp bảo vệ file trong môi trường
nhiều người dùng. Hình 6. Phân vùng đĩa sử dụng NTFS [2]
3.2. Tóm lược hệ thống file Unix Trái tim của NTFS là MFT (Master File
Table - Bảng file chính), bảng này chứa thông
Có nhiều phiên bản Unix khác nhau, tin về tất cả các file trong phân vùng. Mỗi bản
nhưng nhìn chung phân vùng đĩa cài Unix ghi của bảng sẽ chứa thông tin về một file (hoặc
thường có dạng: thư mục), bao gồm tên file, các thuộc tính của
Boot block S uper block I-nodes Data blocks
file, và danh sách địa chỉ các khối đĩa chứa file.
Để truy cập file cần phải biết số hiệu bản ghi
Hình 3. Phân vùng đĩa cài Unix [1] MFT tương ứng, điều này được thực hiện nhờ
bảng thư mục. Mỗi bản ghi thư mục sẽ chứa tên
Unix lưu thông tin của tất cả các file trong file và số hiệu bản ghi MFT. Có thể thấy ý
bảng i-node. Mỗi bản ghi của bảng ứng với tưởng xây dựng MFT gần giống với bảng i-
một file và được gọi là một i-node. I-node node của Unix, nhưng phức tạp hơn nhiều, do
chứa các thuộc tính file và danh sách địa chỉ các bản ghi MFT có thể chứa rất nhiều trường,
các khối đĩa của file. Nằm trước bảng I-node mỗi trường lại có cấu trúc phức tạp và chứa
là khối đĩa đặc biệt (Super block), khối này nhiều định dạng thông tin khác nhau.
chứa các thông tin quan trọng về bố cục của
hệ thống file, bao gồm số lượng các i-node, S tandard File S ecurity … Data …
số lượng khối đĩa có trên ổ đĩa, vị trí của information name descriptor
danh sá ...