Tải bản đầy đủ (.pdf) (3 trang)

Phân tích một số hệ thống file thông dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (164.39 KB, 3 trang )

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:

Căn cứ vào ba tiêu chí nêu trên (đơn giản,
hồ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,
3.1. Tóm lược hệ thống file Windows 9x
có thể là các đối tượng nhập/ xuất dữ liệu,
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, hồ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ệ
Boot block là khối đĩa đầu tiên của phân
thống hoàn chỉnh tức là nó cung cấp đủ tính
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ể hồ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
sách liên kết chứa thông tin về địa chỉ các
kế hợp lý.
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
ngay sau FAT, tuy nhiên FAT32 cho phép
thiết kế và cải tiến hệ thống file.
đặt thư mục gốc ở một vị trí tuỳ ý. Phần cịn
lại là các khối đĩa để chứa dữ liệu của các file
2. PHƯƠNG PHÁP NGHIÊN CỨU
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ự hồn thiện phải tìm tên file trong bảng thư mục, nhằm
xác định khối đĩa đầu tiên của file, sau đó
các hệ thống file tương lai.
1. GIỚI THIỆU CHUNG

193



Tuyển tập Hội nghị Khoa học thường niên năm 2018. ISBN: 978-604-82-2548-3

3.3. Tóm lược hệ thống file NTFS
truy cập vào bảng FAT - lần theo danh sách
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ờ
Data blocks
read-only, hidden, system… khơng có thuộc Boot block … MFT
tính nào giúp bảo vệ file trong mơi trường
Hình 6. Phân vùng đĩa sử dụng NTFS [2]
nhiều người dùng.
Trái tim của NTFS là MFT (Master File
3.2. Tóm lược hệ thống file Unix
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
file, và danh sách địa chỉ các khối đĩa chứa file.
Boot block S uper block I-nodes Data blocks
Để truy cập file cần phải biết số hiệu bản ghi
MFT tương ứng, điều này được thực hiện nhờ
Hình 3. Phân vùng đĩa cài Unix [1]
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 imộ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
S tandard File S ecurity … Data …
hệ thống file, bao gồm số lượng các i-node,
số lượng khối đĩa có trên ổ đĩa, vị trí của information name descriptor
danh sách khối đĩa trống…
Hình 7. Cấu trúc bản ghi MFT
Do các thuộc tính của file được cất ở iĐiểm đặc biệt của bản ghi MFT là có số
node, nên cấu trúc bảng thư mục sẽ trở nên
rất đơn giản. Mỗi bản ghi thư mục chỉ cịn lượng trường khơng cố định, kích thước các
trường cũng không cố định. Standard
chứa tên file và số hiệu i-node tương ứng.
information là trường bắt buộc phải có trong
I-node number
Filename
mỗi bản ghi, nó chứa các thơng tin tiêu chuẩn
như thời gian truy cập, các bít cờ read-only,
Hình 4. Một bản ghi của thư mục Unix
hidden, system, compressed (file nén),
Khi muốn truy cập vào một file, trước hết encrypted (file mã hố)… Một số trường có thể
phải tìm tên file trong bảng thư mục, nhằm được lặp lại nhiều lần trong bản ghi MFT (ví dụ
xác định số hiệu i-node của file, sau đó truy trường File name có thể lặp lại để chứa thêm tên
cập vào bảng i-node để lấy danh sách địa chỉ file tương thích với MS DOS). Trường Security
các khối đĩa.
descriptor chứa các thông tin về bảo mật file (từ
phiên bản 3.0 trở đi trường này không được
Attributes
Addresses of blocks
dùng nữa, các thông tin bảo mật được chuyển
sang một file riêng). Trường Data được dùng để

Hình 5. Cấu trúc của một i-node
lưu địa chỉ của các khối đĩa chứa file, hoặc
Các thuộc tính của file lưu trong i-node chính là nội dung của file (nếu đó là những file
bao gồm loại file, kích thước file, thời gian nhỏ, có kích thước khoảng vài trăm byte).
truy cập, người và nhóm sở hữu, các bít bảo
Trừ Boot block có vị trí cố định trên đĩa, tất
vệ file trong mơi trường nhiều người dùng... cả các thành phần khác của hệ thống file
Mỗi thuộc tính được đặt trong một trường có NTFS (như MFT, bảng thư mục gốc, bảng
kích thước cố định, thuận tiện cho việc định quản lý các khối đĩa trống, quản lý các khối
vị và truy cập.
đĩa hỏng…) đều được tổ chức thành các file
194


Tuyển tập Hội nghị Khoa học thường niên năm 2018. ISBN: 978-604-82-2548-3

và có thể nằm ở bất cứ đâu trên đĩa. Bản thân
MFT cũng là một file, địa chỉ khối đĩa đầu
tiên của nó được cất trong Boot block, địa chỉ
các khối còn lại được cất trong bản ghi đầu
tiên của MFT. Với cấu trúc như vậy, kích
thước MFT có thể tăng lên tuỳ ý, chứ không
bị giới hạn cứng như bảng các i-node của
Unix. Kích thước của thư mục gốc và các
bảng quản lý khối đĩa cũng có thể thay đổi.
Kích thước các trường trong các bảng quản lý
đó cũng khơng bị quy định cứng mà có thể
thay đổi mềm dẻo. Nhờ vậy NTFS có thể dễ
dàng mở rộng và thích nghi với các tiến bộ
cơng nghệ trong tương lai.


phục vụ cho mục đích tương lai, hoặc đã lỗi
thời) khiến cho các bảng bị phình to và khó
kiểm sốt. Tham vọng tích hợp nhiều tính năng
mới vào cấu trúc của NTFS khiến nó trở nên
“quá khổ”, trong khi nhiều tính năng mới đó lại
hiếm khi được người dùng sử dụng (như tính
năng mã hố và nén file ở cấp độ hệ điều hành).
4. KẾT LUẬN

Qua các phân tích trên, có thể thấy thiết kế
của hệ thống file Unix chiếm ưu thế vượt trội
với cấu trúc gọn gàng, có đủ các tính năng cần
thiết, tốc độ truy cập nhanh. Đây sẽ là hình
mẫu để thiết kế ra các hệ thống file trong tương
lai. Tuy nhiên, việc đặt bảng i-node ở một vị trí
cố định trên đĩa (nhằm đơn giản hố việc định
vị, tiết kiệm thời gian truy cập) có thể trở thành
rào cản của Unix trong tương lai, khi nó phải
quản lý số lượng file nhiều hơn, làm kích thước
bảng i-node tăng lên. Để khắc phục điều này có
thể dành một bản ghi cuối của bảng i-node để
chứa địa chỉ phần mở rộng của bảng (nằm ở
bất kì vị trí nào trên đĩa). Tất nhiên điều này sẽ
làm giảm tốc độ truy cập vào các file ứng với
các i-node trên bảng mở rộng này.
Việc cải tiến hệ thống file của Windows 9x
là khơng cần thiết, do ngày nay chúng ít được
sử dụng. Tuy nhiên việc cải tiến NTFS là điều
đáng bàn. Để giảm bớt sự cồng kềnh, có lẽ

cần loại bớt các tính năng khơng cần thiết như
nén file, mã hố file… ra khỏi thiết kế hệ
thống file. Những tính năng này hồn tồn có
thể được thực hiện ở cấp cao, như một ứng
dụng của người dùng. Nhiều thông tin dư thừa
trong các bảng quản lý cũng cần được loại bỏ
(như các trường Filename, Security descriptor
trong bản ghi MFT…). Điểm mạnh của NTFS
là sự mềm dẻo với các trường có độ dài không
cố định cũng là yếu tố làm tăng thời gian tính
tốn, định vị các trường, nên việc thay đổi hay
khơng cịn là vấn đề gây tranh cãi. Tất nhiên
việc thay đổi một hệ thống file đang được sử
dụng phổ biến khơng phải là vấn đề đơn giản,
vì nó liên quan tới sự tương thích với các phần
mềm hiện hành.

3.4. Nhận xét
Có thể thấy hệ thống file của Windows 9x
khá đơn giản và hiệu quả. Một bảng FAT có
thể quản lý tất cả các khối đĩa mà không cần
thêm các bảng quản lý khối đĩa trống hay hỏng.
Do FAT thường được nạp vào RAM nên tốc
độ truy cập file sẽ rất nhanh. Nhược điểm là
phải tốn một vùng RAM để chứa FAT, kích
thước đĩa càng lớn thì càng tốn RAM. Hệ
thống file này chỉ có thể quản lý được các file
có kích thước cực đại là 4 GB do kích thước
trường File size chỉ dài 4 byte. Nhược điểm lớn
nhất khiến hệ thống file này ngày càng ít được

sử dụng chính là khơng có khả năng bảo mật
file. Khơng có bất cứ yếu tố nào trong thiết kế
của hệ thống file giúp thực hiện điều đó.
Hệ thống file của Unix cũng được thiết kế
đơn giản, nhưng khơng vì thế mà bị hạn chế về
tính năng. Hệ thống file này có đầy đủ các tính
năng cần thiết để quản lý file, thiết lập quyền
hạn truy cập file, chia sẻ file, bảo vệ file dùng
chung… Tốc độ truy cập file cũng rất nhanh
do các bảng quản lý được thiết kế hợp lý, gọn
nhẹ, giảm thời gian tính tốn, định vị. Thiết kế
và mã nguồn của Unix được công bố rộng rãi
nên nhận được nhiều đóng góp, cải tiến của
các chuyên gia để hoàn thiện hệ thống.
NTFS là hệ thống file hiện đại, đa năng, khả
năng tương thích cao nhưng thiết kế khá cồng
kềnh, khiến tốc độ truy xuất file bị ảnh hưởng.
Vị trí các bảng quản lý có thể nằm ở bất cứ đâu 5. TÀI LIỆU THAM KHẢO
trên đĩa, nên khi đọc bảng sẽ phải tốn thời gian
định vị. Các trường với độ dài bất kì và có cấu [1] Andrew S. Tanenbaum, 2001, Modern
Operating Systems, Prentice Hall.
trúc phức tạp cũng làm tăng thời gian tính tốn
[2]
David Solomon and Mark Russinovich,
khi cần đọc thơng tin từ một trường nào đó…
2012, Windows Internals, Microsoft Press.
Ngồi ra cịn q nhiều trường dư thừa (để
195




×