Giáo trình hướng dẫn phân tích cách sử dụng các kỹ thuật thay đổi địa chỉ ảo thành địa chỉ tuyến tính phần 4 - Pdf 21

đặc biệt trong trường hợp bảng chỉ mục lớn. Bảng chỉ mục lớn là do đĩa lớn, đĩa có
bao nhiêu block thì bảng chỉ mục có bấy nhiêu phần tử, mỗi phần tử trong bảng chỉ
mục có thể là 1 word, 1.5 word, 2 word, 4 word, vv phụ thuộc vào kích thước đĩa,
kích thước block và cách tổ chức quả lý block đĩa của mỗi hệ điều hành.
Các hệ điều hành hiện nay khắc phục hạn chế trên đây bằng cách, không nạp
tất cả bảng chỉ mục vào bộ nhớ mà chỉ nạp phần bảng chỉ mục liên quan đến các
file đang mở trên bộ nhớ tại một thời điểm cụ thể nào đó, tức là, phần bảng chỉ mục
này luôn thay đổi trong quá trình làm việc của hệ thống. Khái niệm cửa sổ bảng
FAT trong hệ thống file của hệ điều hành windows98 là một ví dụ của trường hợp
này. Chúng ta sẽ được nhắc đến điều này trong phần sau của chương này.
 I-nodes (index-node): trong chiến lược này, hệ điều hành thiết kế một bảng
nhỏ để theo dõi các blocks của một file, được gọi là I-node. I-node liệt kê các thuộc
tính và các địa chỉ đĩa của các block của file. Hình sau đây minh hoạ cho chiến lược
này.
Đầu tiên một phần địa chỉ đĩa (các block đĩa) được lưu trữ trong chính I-
node. Sau đó, đối với các file nhỏ thì tất cả các thông tin cần thiết là phải chứa
trong chính I-node, đó là các thông tin được nhận từ đĩa vào bộ nhớ chính khi file
được mở. Đối với các file lớn, gồm nhiều block, thì một trong các địa chỉ trong I-
node là địa chỉ của một block đĩa, được gọi là block gián tiếp đơn. Block này chứa


block gián tiếp đơn

block gián tiếp ba

block gián

tiếp đôi
Hình 4.5:
M
ột I
-
node

Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e

V
i
e

n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Chiến lược này được windows 2000 cải tiến và sử dụng trong cấu trúc MFT
trong hệ thống file của nó. Chúng ta sẽ thấy điều này khi tìm hiểu hệ thống file của

IV.1.5. An toàn trong quản lý tập tin
Bảo toàn dữ liệu tập tin: Một hệ quản trị file phải cung cấp những cơ chế thích
hợp để phục hồi nội dung của file trong trường hợp hệ thống gặp sự cố về phần
mềm hoặc phần cứng. Để thực hiện được điều này hệ điều hành phải luôn tạo bản
sao của các tập tin đang mở trên hệ thống, để có thể phục hồi lại khi cần thiết. Có
hai kỹ thuật được sử dụng trong cơ chế này:
 DUMP có chu kỳ: Sau một khoảng thời gian nhất định nội dung của
Hình 4.6:
C
ấp phát không li
ên t
ục với block chỉ mục

A
1

45

B
1

6

A
3

7

B
4

154

10

7

146

9

12

15

Block chỉ mục
của file A
Block chỉ mục
của file B
Các block đĩa chứa các file A và B

Click to buy NOW!

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

Để hệ thống không phải khảo sát tất cả các điểm vào của danh mục, hệ
điều hành cài đặt thêm một bảng danh mục mới để ghi nhận thông tin của các
tập tin đang được truy xuất (ghi/đọc) trên hệ thống và chỉ có Dump sử dụng
bảng danh mục này, do đó hệ thống Dump có thể hoạt động song song với
các thao tác khác của hệ thống.
Dump Incremental là một tiến trình có độ ưu tiên thấp, thường trú trong bộ
nhớ phân tích các bảng danh mục để tìm ra các tập tin cần phải thực hiện Dump.
Danh sách các quyền truy cập (Access Right): Trong phần trình bày về tập tin
chia sẻ ở trên, chúng tôi đã trình bày về kỹ thuật tạo ra tập tin chia sẻ của hệ điều
hành, kỹ thuật này hoàn toàn trong suốt với người sử dụng. Trong phần này chúng
tôi trình giới thiệu một công cụ mà hệ điều hành dùng để bảo vệ các tập tin chia sẻ
trong môi trường nhiều người sử dụng. Đó là quyền truy cập, quyền truy cập và
quản lý truy cập đồng thời là các công cụ cơ bản mà hệ điều hành dùng để quản lý
và bảo vệ các tập tin chia sẻ trong các hệ thống nhiều người sử dụng (multiuser
systems).
Quyền truy cập có thể được gán cho một người sử dụng (User) cụ thể, một
nhóm người sử dụng (User Group) hay tất cả người sử dụng (All User) có trong các
hệ thống multiuser. Một user group chứa nhiều user, khi một group được gán quyền
nào đó thì tất cả các uer thành viên trong group này đều được cũng được gán quyền
truy cập đó.
Sau đây là các quyền truy cập mà hệ điều hành thường dùng để gán cho một
Click to buy NOW!
P
D
F
-
X
C
h
a

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

dung của file (vì không được gán quyền thay đổi (modify) nội dung file).
Người sử dụng có thể được gán nhiều quyền truy cập đến một file, khi đó họ
sẽ có đầy đủ các sự cho phép và sự giới hạn tương ứng với các quyền đã được gán.
Tuy nhiên quyền truy cập có tính kế thừa, nên chỉ cần gán một quyền truy cập cao
nhất thì họ có đủ các sự cho phép và sự giới hạn của các quyền khác. Ví dụ , nếu
người sử dụng được gán quyền Updating với một file nào đó, thì xem như họ đã
được gán các quyền Knowledge, execution, reading và appending đối với file này.
Mở và đóng tập tin: Hệ điều hành cho rằng các tập tin được lưu trữ trên đĩa đều ở
trang thái đóng, để thực hiện bất kỳ một thao tác đọc/ghi/thay đổi nội dung của tập
tin thì trước hết chương trình, tiến trình của người sử dụng (kể cả người sử dụng)
phải thực hiện thao tác mở tập tin. Khi nhận được yêu cầu mở tập tin bộ phận quản
lý tập tin của hệ điều hành sẽ đọc nội dung của tập tin từ đĩa và nạp nó vào bộ nhớ
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e

V
i
e
w
e

e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
chính, sau đó trả về cho chương trình, tiến trình của người sử dụng một thẻ tập tin/
thẻ file (file handle) hoặc một biến tương ứng với tập tin này để chương trình, tiến
trình theo dõi và thao tác trên tập tin này. Sau khi thực hiện xong một thao tác nào
đó trên nội dung của tập tin thì chương trình, tiến trình và cả người sử dụng phải

Trong môi trường hệ điều hành đa nhiệm có thể có các tiến trình song song
cùng đọc nội dung của một file, đối với các file chia sẻ, nhưng không thể xảy ra
trường hợp có hai tiến trình cùng ghi vào một file hoặc có một tiến trình ghi vào
file trong khi có một hoặc nhiều tiến trình khác đang đọc nội dung của file. Hệ điều
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

w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
hành phải kiểm soát chặt chẽ các trường hợp này. Để tránh hiện tượng này hệ điều
hành phải tạo một cơ chế thích hợp để loại trừ lẫn nhau trong thao tác đọc/ghi file
giữa các file đồng thời.
Để thực hiện loại trừ lẫn nhau này hệ điều hành đưa thêm hai trường vào các
entry trong bảng danh mục người sử dụng: Trường thứ nhất, Bítghi, = 1 đang có
một tiến trình ghi vào file, = 0 không có tiến trình nào ghi vào file. Trường thứ hai,
Bộ đếm, = <số các tiến trình đang mở file để đọc>. Theo đó một tiến trình chỉ có
thể mở file để đọc khi Bít ghi = 0, mở file để ghi khi Bít ghi = 0 và Bộ đếm = 0.
Như vậy, ngay sau khi chấp nhận yêu cầu mở file để ghi từ một tiến trình thì hệ
điều hành phải gán Bít ghi = 1, ngay sau khi chấp nhận yêu cầu mở file để đọc từ
một tiến trình thì hệ điều hành phải tăng Bộ đếm lên 1 đơn vị, Bộ đếm = bộ đếm +
1. Khi một tiến trình đọc file đóng file thì Bộ đếm = bộ đếm + 1, khi một tiến trình

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

u
-
t
r
a
c
k
.
c
o
m
đĩa nếu block này có sự thay đổi kể từ khi nó được
mang vào bộ nhớ kể từ lần được mang vào gần đây
nhất. Trong trường hợp này hệ điều hành cũng sử dụng
các thuật toán thay trang trong quản lý bộ nhớ như
FIFO, LRU, … để chọn một block trong cache để đưa ra
đĩa. Tuy nhiên cache được truy xuất ít thường xuyên
hơn, nên hệ điều hành có thể tổ chức một danh sách
liên kết để theo dõi việc truy xuất các block trong
cache, danh sách liên kết này được sử dụng cho thuật
toán thay block: LRU.
Một số khái niệm dùng trong quản lý đĩa
 Track (từ đạo): Là các vòng tròn đồng tâm được tạo ra trên bề mặt đĩa,
đây sẽ là nơi chứa dữ liệu sau này. Các track được đánh số bắt đầu từ 0. Số
track trên mỗi mặt đĩa phụ thuộc vào từng loại đĩa.
 Sector (cung từ): Các track được chia thành các khối có kích thước cố
định bằng nhau và được đánh địa chỉ, các khối này được gọi là các sector. Các
sector được đánh địa chỉ bắt đầu từ 1 trên mỗi track, như vậy trên đĩa sẽ tồn
tại nhiều sector có cùng số hiệu địa chỉ, cách đánh địa chỉ này gây khó khăn
nhiều người lập trình.

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

t
r
a
c
k
.
c
o
m
0 1 1 - 9 18 - 26 Dữ liệu
Bảng 4.1: Tương ứng giữa sector vật lý và sector logic trên đĩa mềm
 Trên bề mặt đĩa tồn tại các sector mà hệ điều hành không thể ghi dữ liệu
vào đó hoặc không thể đọc dữ liệu từ đó. Các sector này được gọi là bad
sector. Trong quá trình định dạng đĩa hệ điều hành đánh dấu loại bỏ các bad
sector này.
 Cluster (liên cung): Một nhóm gồm 2, 4 hoặc 6 sector liên tiếp nhau tạo
thành một cluster. Kích thước của cluster thường là bội số kích thước của một
sector. Các cluster được đánh địa chỉ bắt đầu từ 0. Số sector trên một cluster
phụ thuộc vào từng loại đĩa. Một số hệ điều hành cho phép người sử dụng quy
định số sector trên một cluster. Các hệ điều hành thường tổ chức lưu trữ dữ
liệu, nội dung các tập tin, trên đĩa theo từng cluster. Trên bề mặt đĩa cũng tồn
tại các bad cluster, đó là các cluster có chứa bad sector.
Một số hệ điều hành có thể khôi phục lại được dữ liệu chứa trên các bad-
sector hay bad cluster và ghi nó vào lại một cluster mới. Hệ điều hành có thể chỉ
khôi phục và thay thế dữ liệu tại sector bị bad hoặc phải khôi phục và thay thế toàn
bộ dữ liệu trên cluster có chứa bad-sector.
Hệ thống file NTFS của windowsNT/2000 tham chiếu đến các vị trí vật lý
trên đĩa bằng số hiệu cluster logic (LCNs: logical cluster numbers). LCN là kết quả
của việc đánh số tất cả các cluster trên volume từ vị trí bắt đầu volume đến kết thúc
volume. Để chuyển một LCN thành địa chỉ vật lý trên đĩa, NTFS nhân LCN với

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

m
chưa được cấp phát nào còn lại trên partition đĩa. Trong hệ thống file FAT,
một volume cũng chứa các vùng đặc biệt được định dạng cho việc sử dụng của
hệ thống file. Trong các volume NTFS thì ngược lại nó lưu trũ tất cả dữ liệu
của hệ thống file, như là bitmap, directory và cả system bootstrap, trên các
file.
 Simple volume: là các đối tượng đại diện cho các sector từ một
partition đơn, mà các trình điều khiển hệ thống file, quản lý nó như một
đơn vị đơn.
 Multipartition volume: là các đối tượng đại diện cho các sector từ
nhiều partition khác nhau, mà các trình điều khiển hệ thống file quản lý
nó như một đơn vị đơn. Các multipartition volume có các đặc tính mà
các simple volume không có được như: hiệu suất cao, độ tin cậy cao và
khả năng mở rộng kích thước.
 Metadata: là một dạng dữ liệu đặc biệt, được lưu trữ trên đĩa, nó hỗ trợ
cho các thành phần quản lý các dạng thức hệ thống file khác nhau, dữ liệu của
nó có thể là vị trí của các tập tin/ thư mục trên các ổ đĩa. Metadata không
được sử dụng trong các ứng dụng.
 File system (hệ thống file): Các dạng thức hệ thống file định nghĩa cách
mà dữ liệu file được lưu trữ trên thiết bị lưu trữ và sự tác động của hệ thống
file đến các file. Một dạng thức hệ thống file cũng có thể đưa ra các giới hạn về
kích thước của các file và các thiết bị lưu trữ mà hệ thống file hỗ trợ. Một vài
hệ thống file hỗ trợ cho cả các file lớn hoặc nhỏ, hoặc cả các đĩa lớn và nhỏ.
Một hệ thống file thường bao gồm các thành phần: Sector khởi động
(Boot sector), bảng định vị file (FAT: File Allocation Table), bảng thư mục gốc
(Root Directory), một tập các file các thư mục và các công cụ quản lý các thành
phần này. Các thành phần này có thể có cấu trúc hoặc phương thức tổ chức
khác nhau trên các dạng thức hệ thống file khác nhau. Người ta thường dùng
tên của FAT trong hệ thống file để gọi tên của hệ thống file đó.
Hệ điều hành MS_DOS sử dụng hệ thống file FAT12 và FAT16, hệ điều

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

FSD đã đăng ký thì bộ phận quản lý I/O có thể gọi nó để thực hiện việc xác
nhận volume khi các ứng dụng hoặc các hệ thống khởi tạo truy cập đến
volume.

Việc xác nhận volume bao hàm việc kiểm tra boot sector của volume và các
thông tin hệ thống khác. Sector đầu tiên của mọi dạng thức hệ thống file được hỗ
trợ bởi windows 2000 đều được dành riêng cho boot sector của volume. Boot
sector chứa đầy đủ thông tin cần thiết để local FSD vừa nhận biết mà sector trên đó
đang chứa một dạng thức mà FSD quản lý và tìm kiếm bất kỳ một metadata khác
được lưu trữ trên đĩa.
Để cải tiến hiệu suất, các local FSD thường sử dụng hệ thống quản lý cache để
cache dữ liệu của hệ thống file bao gồm cả metadata.
 Các Network/Remote FSD (FSD mạng/từ xa): Các Remote FSD bao gồm 2
thành phần: Một Client và một Server. Các client remote FSD cho phép các
ứng dụng truy cập đến các file và các thư mục ở xa.
Client FSD chấp nhận các yêu cầu I/O từ các ứng dụng và chuyển nó thành
các lệnh trong các giao thức về hệ thống file của mạng để thông qua mạng nó được
Applicat

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


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status