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

Giáo trình hướng dẫn phân tích chuyển địa chỉ trong kỹ thuật table indecator kết hợp paging p5 ppsx

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 (579.19 KB, 5 trang )

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


tin của hệ điều hành có nhiệm vụ cấp phát và thu hồi các block cho các tập tin khi
cần thiết. Vì kích thước tập tin có thể thay đổi, nên các hệ điều hành thường tổ chức
cấp phát động các block cho các tập tin. Hệ điều hành có thể tổ chức cấp phát tĩnh
block cho các tập tin có kích thước không thay đổi như các tập tin thực thi, các tập
tin thư viện, … Cấp phát tĩnh sẽ nhanh và đơn giản hơn nhiều so với cấp phát động.
Các hệ điều hành cho phép truy xuất tập tin theo 2 cách tuần tự và ngẫu
nhiên. Trong các hệ thống truy xuất tuần tự, các tiến trình có thể đọc tất cả các byte
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
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
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
hoặc các record trong tập tin, theo thứ tự, từ một vị trí bắt đầu nào đó mà không thể
bỏ qua một byte hay một record nào. Truy cập ngẫu nhiên thì ngược lại, các tiến
trình có thể truy xuất tại bất kỳ một byte hay một record nào đó trong file. Trong cả
hai cách trên đều phải chỉ ra vị trí bắt đầu đọc. Trong cách thứ nhất, mỗi thao tác
đọc cần phải xác định ví trí bắt đầu đọc trong file. Trong cách thứ 2, trước khi đọc
hệ thống phải tìm đến (SEEK) vị trí bắt đầu đọc, sau đó tiến hành đọc tuần tự như
cách thứ nhất.
Hệ thống quản lý tập tin (File management System): Hệ thống quản lý tập tin,
hay gọi ngắn gọn là hệ thống tập tin, là một tập các dịch vụ mà hệ điều hành cung

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


Uer Program

Pile
Seque
Index
-
Inde
Hash

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
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
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m











 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].

IV.1.2. Bảng danh mục và tập tin chia sẻ
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

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

.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Bảng danh mục (Directory Table): Các hệ điều hành phải tổ chức bảng danh
mục, để lưu trữ các thông tin liên quan đến các tập tin và các thư mục đang tồn tại
trên đĩa (hoặc thiết bị lưu trữ khác), đặc biệt là thông tin cho biết vị trí lưu trữ nội
dung của một tập tin trên đĩa. Để truy xuất đến một tập tin hệ điều hành cần phải
thông qua bảng danh mục này.
Bảng danh mục gồm nhiều entry (phần tử/mục vào), mỗi phần tử dùng để
chứa thông tin của một tập tin hay thư mục trên đĩa. Khi có một tập tin/ thư mục
được tạo ra thì hệ điều hành sẽ dùng một phần tử trong bảng danh mục để chứa các
thông tin của nó. Khi một tập tin/ thư mục bị xoá khỏi đĩa thì hệ điều hành sẽ giải
phóng phần tử của nó trong bảng danh mục. Có thể xem một phần tử trong bảng
danh mục là một sự tương ứng giữa tập tin và vị trí lưu trữ của tập tin tên đĩa.
Số lượng phần tử trong bảng danh mục có thể bị giới hạn cố định trước hoặc
không có giới hạn và có thể tăng/ giảm nếu cần. Bảng danh mục có thể được chứa
tại một không gian đặc biệt nào đó trên đĩa, hoặc có thể chứa trong một file
metadata nào đó trên đĩa. Trong quá trình hoạt động của hệ thống bảng danh mục

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

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

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

r
a
c
k
.
c
o
m
Tổ chức bảng thư mục gốc của MS_DOS, windows98 và MFT của
windowsNT/2000 là các sự cài đặt cụ thể về cấu trúc của bảng danh mục của các hệ
điều hành. Tổ chức của bảng thư mục gốc của MS_DOS, windows98, windowsNT/
2000 sẽ được xem xét ở phần sau của chương này.
Tập tin chia sẻ (Shared File): Tập tin chia sẻ xuất hiện trong các môi trường
nhiều người sử dụng, đây là một kỹ thuật của hệ điều hành, nhằm giúp nhiều người
sử dụng trên hệ thống có thể cùng nhau sử dụng một tập tin nào đó. Đối với người
sử dụng, tập tin chia sẻ là tập tin được xuất hiện đồng thời trong các thư mục khác
nhau của các người sử dụng khác nhau.
Kỹ thuật chia sẻ tập tin thường được các hệ điều hành sử dụng nhất là, cho
phép các phần tử trong các bảng danh mục người sử dụng khác nhau chứa thông tin
của cùng một tập tin chia sẻ nào đó, đặc biệt là thông tin về địa chỉ của các block
đĩa chứa nội dung của tập tin chia sẻ. Khi có một liên kết chia sẻ mới được thiết lập
đến một người sử dụng nào đó, hệ điều hành chỉ cần sao chép danh sách các block
đĩa của file chia sẻ đến phần tử tương ứng trong bảng danh mục người sử dụng của
người sử dụng đó. Kỹ thuật này đơn giản dễ cài đặt nhưng cũng xuất hiện vấn đề:
nếu tập tin được cập nhật bởi một người sử dụng nào đó thì sự cập nhật này sẽ
không được nhìn thấy bởi các người sử dụng khác (điều này sẽ vi phạm mục đích
của việc chia sẻ tập tin). Vì khi tập tin được cập nhật thì hệ điều hành phải cung
cấp thêm một vài block đĩa cho nó, địa chỉ của các block đĩa mới này chỉ được liệt
kê thêm trong phần tử tương ứng trong bảng danh mục của người sử dụng thực hiện
sự cập nhật tập tin mà không được liệt kê trong các bảng danh mục của người sử

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


V
i
e
w
e
r
w
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

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o

m

×