hoạt động của hệ thống file. Một trong những nhiệm vụ quan trọng
của hệ thống file là theo dõi việc lưu trữ file trên đĩa, theo dõi và điều
hành việc truy cập file của các tiến trình, bảo vệ file và nội dung của
file, …Cấu trúc, tổ chức hoạt động và những nhiệm vụ của hệ thống
file của hệ điều hành, của các hệ điều hành cụ thể, sẽ được chúng ta
xem xét trong chương này.
Tổng quan về quản lý tập tin và đĩa
IV.1.1. Tập tin và hệ thống quản lý tập tin
Tập tin (File): Tập tin là đơn vị logic được lưu trữ và xử lý bởi thành phần quản lý
tập tin của hệ điều hành. Hệ điều hành cung cấp các công cụ để người sử dụng và
chương trình của người sử dụng có thể lưu trữ tập tin trên thiết bị lưu trữ (đĩa và
các thiết bị media khác) và có thể đọc lại tập tin này nhanh nhất. Mỗi tập tin được
hệ điều hành tạo ra một sự tương ứng với một tên cụ thể nào đó, tên tập tin là một
khái niệm trừu tượng, nó tạo ra sự đồng nhất giữa tập tin với các thiết bị lưu trữ
khác nhau. Nhờ đó, mà người sử dụng dễ dàng truy xuất tập tin thông qua tên của
nó. Đa số các hệ điều hành đều cho phép tên tập tin là một dãy kí tự ASCII hoặc
Unicode.
Nội dung của tập tin có thể là một chương trình, một tập các thủ tục hoặc
một khối dữ liệu. Nó có thể là một dãy tuần tự các byte không cấu trúc, hệ điều
hành không biết nội dung của tập tin. Một dãy các record có chiều dài cố định. Hay
là một cấu trúc cây, gồm cây của những record có thể không có cùng độ dài, mỗi
record có một trường khoá để giúp cho việc tìm kiếm nó được nhanh hơn.
Các hệ điều hành hỗ trợ nhiều kiểu tập tin khác nhau như: tập tin thường, tập
tin thư mục, tập tin có ký tự đặc biệt, tập tin khối. Tập tin thường là tập tin text hay
tập tin nhị phân chứa thông tin của người sử dụng. Tập tin thư mục là những tập tin
hệ thống dùng để lưu giữ cấu trúc của hệ thống tập tin. Tập tin có ký tự đặc biệt,
liên quan đến nhập xuất thông qua các thiết bị nhập xuất tuần tự như màn hình,
máy in, mạng. Tập tin khối dùng để truy xuất trên các thiết bị lưu trữ khối (đĩa là
thiết bị lưu trữ khối).
Thiết bị lưu trữ tập tin thường được chia thành các block có kích thước cố
định bằng nhau, các block được đánh địa chỉ để phân biệt. Thành phần quản lý tập
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
cấp cho người sử dụng và chương trình người sử dụng để các đối tượng này sử
dụng các tập tin trên hệ thống. Người sử dụng và chương trình của người sử dụng
chỉ có thể truy xuất các tập tin thông qua hệ thống tập tin. Hệ thống quản lý tập tin
của hệ điều hành phải đáp ứng các mục tiêu cơ bản sau đây:
Đáp ứng các yêu cầu về lưu trữ dữ liệu của người sử dụng, bao gồm:
khả năng lưu trữ, độ tin cậy và hiệu suất.
Cực tiểu hay loại bỏ các nguy cơ có thể dẫn đến hỏng hoặc mất dữ liệu.
Cung cấp sự hỗ trợ vào/ra cho nhiều loại thiết bị lưu trữ khác nhau.
Cung cấp sự hỗ trợ vào/ra cho nhiều người sử dụng trong các hệ thống
đa người sử dụng.
Cung cấp một tập chuẩn các thủ tục giao diện vào/ra.
Đối với người sử dụng thì hệ thống quản lý tập tin của một hệ điều hành phải
đáp ứng các yêu cầu tối thiểu sau đây:
Mỗi người sử dụng phải có thể tạo (create), xoá (delete) và thay đổi
(change) các tập tin.
Mỗi người sử dụng có thể được điều khiển để truy cập đến các tập tin
của người sử dụng khác.
Mỗi người sử dụng phải có thể di chuyển dữ liệu giữa các tập tin.
Mỗi người sử dụng phải có thể truy cập đến các tập tin của họ thông qua
tên tượng trưng của tập tin.
Mỗi người sử dụng phải có thể dự phòng và khôi phục lại các tập tin của
họ trong trường hợp hệ thống bị hỏng.
Kiến trúc hệ thống tập tin (File System Architecture): Các hệ điều hành khác
nhau có cách tổ chức hay kiến trúc của hệ thống tập tin khác nhau. Hình vẽ sau đây
trình bày một kiến trúc hệ thống tập tin chung nhất mà các hệ điều hành thường sử
dụng.
Logical I/O
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
Cấp thấp nhất trong kiến trúc này là các điều khiển thiết bị (device
driver) truyền thông trực tiếp với các thiết bị ngoại vi. Device driver chịu trách
nhiệm khởi tạo một thao tác vào/ra trên thiết bị và xử lý các yêu cầu vào/ra. Các
device driver trong hệ thống tập tin thường là các điều khiển đĩa.
Cấp kế trên device driver, được xem như là hệ thống tập tin cơ sở (basic
file system), hoặc cấp vào/ra vật lý, đó là giao diện chính giữa môi trường bên
ngoài với hệ thống máy tính. Nó giao tiếp với các block dữ liệu trao đổi giữa các
đĩa với hệ thống. vì thế nó được kết nối với các block trên đĩa và các buffer trên bộ
nhớ chính. Nó không hiểu các dữ liệu cũng như các cấu trúc file phức tạp.
Cấp basic I/O supervisor chịu trách nhiệm khởi tạo và kết thúc tất cả các
thao tác vào/ra tập tin. Tại cấp này, các cấu trúc điều khiển được duy trì, các cấu
trúc điều khiển này giao tiếp với thiết bị vào/ra, bộ phận lập lịch đọc đĩa và bộ phận
quản lý trạng thái tập tin. Basic I/O supervisor kết hợp với các bộ phận lập lịch đọc
đĩa để tối ưu các thao tác đọc đĩa, nhằm góp phần tăng tốc độ truy xuất tập tin của
các chương trình người sử dụng.
Cấp vào/ra logic (Logical I/O) là thành phần quan trọng của hệ thống
tập tin, nó cho phép người sử dụng và chương trình người sử dụng truy cập đến các
record. Trong khi hệ thống tập tin cơ sở giao tiếp với các block dữ liệu, thì logical
I/O giao tiếp với các record file. Logical I/O cung cấp các công cụ chung nhất để
thực hiện các thao tác vào/ra file dựa trên record.
Cấp trên cùng của kiến trúc hệ thống tập tin kết hợp chặt chẽ với người
sử dụng. Nó cung cấp một giao diên chuẩn giữa chương trình người sử dụng, hệ
thống tập tin và thiết bị lưu trữ dữ liệu. Các phương pháp truy cập dữ liệu khác
nhau phản ánh các cấu trúc tập tin khác nhau và các cách khác nhau để truy cập và
xử lý dữ liệu. Các phương pháp truy cập đó là: Pile, Sequential file, Indexed-
sequential file, Indexed file, Hashed, vv. Xem cụ thể ở [6].
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
thường được hệ điều hành nạp từ đĩa vào bộ nhớ, để sẵn sàng cho việc truy xuất file
của hệ điều hành sau này.
Một phần tử trong danh mục phải chứa các thông tin tối thiểu sau đây: Tên
của tập tin; Kiểu của tập tin; Địa chỉ vật lý của tập tin trên đĩa. Các thông tin kiểm
tra truy nhập tập tin; Các thông tin quản trị tập tin; vv.
Các hệ điều hành thường thiết kế và sử dụng bảng danh mục hai mức. Mức
1, được gọi là bảng danh mục chủ, bao gồm các con trỏ trỏ tới bảng danh mục
người sử dụng. Mức 2, được gọi là bảng danh mục người sử dụng, bao gồm tên tập
tin và địa chỉ vật lý của tập tin trên đĩa,… Tổ chức bảng thư mục gốc và bảng thư
mục con là sự cài đặt cụ thể cấu trúc bảng danh mục hai mức của hệ điều hành
MS_DOS. Muốn truy xuất đến tập tin thì người sử dụng và chương trình của người
sử dụng phải thông qua danh mục chủ và danh mục người sử dụng hay thông qua
thư mục gốc và thư mục con trong hệ điều hành MS_DOS.
Để thực hiện bất kỳ một thao tác nào trên nội dung của tập tin thì trước hết
tập tin phải được mở. Khi nhận được yêu cầu mở tập tin thì hệ điều hành sử dụng
đường dẫn được chỉ ra bởi người sử dụng hay chương trình của người sử dụng để
tìm đến một mục vào tương ứng với tập tin cần mở trong bảng danh mục. Phần tử
trong bảng danh mục sẽ cung cấp các thông tin cần thiết để hệ điều hành tìm đến
các block đĩa chứa nội dung của tập tin. Tùy vào từng hệ điều hành mà thông tin
này có thể là địa chỉ của tất cả block đĩa chứa nội dung tập tin (trong chiến lược cấp
phát liên tục), địa chỉ của block đĩa đầu tiên chứa nội dung tập tin (trong chiến lược
danh sách liên kết và danh sách kiên kết chỉ mục), hoặc số hiệu của I-node (trong
chiến lược I-node). Các chiến lược này được trình bày trong phần quản lý các block
chứa file trên đĩa ngay sau đây.
Click to buy NOW!
P
D
F
-
X
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
dụng khác.
Vấn đề trên có thể được giải quyết như sau: danh sách địa chỉ các block đĩa
chứa tập tin chia sẻ không được liệt kê trong phần tử bảng danh mục, mà được
chứa trong một khối dữ liệu có cấu trúc nào đó, tạm gọi là khối dữ liệu mô tả lưu
trữ tập tin hay nói gọn hơn là khối mô tả lưu trữ. Khối mô tả lưu trữ này có thể
được gắn vào chính tập tin chia sẻ nếu kích thước nhỏ, hoặc được đặt ở một vị trí
nào đó trên đĩa, nếu kích thước lớn (trường hợp này có thể dùng chung cho nhiều
tập tin chia sẻ). Mọi sư thay đổi về danh sách địa chỉ các block đĩa chứa tập tin chia
sẻ đều được phản ánh ở khối mô tả lưu trữ của nó. Các phần tử trong bảng danh
mục bây giờ chỉ đóng vai trò như một con trỏ trỏ đến khối mô tả lưu trữ của các tập
tin chia sẻ, nhờ vậy mà một sự thay đổi tập tin chia sẻ từ bất kỳ một người sử dụng
nào trong số những người sử dụng được chia sẻ tâp tin đều được nhìn thấy từ tất cả
những người sử dụng còn lại.
Trong môi trường nhiều người sử dụng, việc chia sẻ một tập tin cho nhiều
người sử dụng là rất cần thiết và nó đã mang lại nhiều thuận lợi. Nhưng nó cũng
phát sinh nhiều lỗi trong quá trình sử dụng tập tin chia sẻ giữa nhiều người sử dụng
và chương trình người sử dụng, mà nếu hệ điều hành không tổ chức giám sát tốt thì
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o