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

Giáo trình phân tích khả năng ứng dụng giá trị dữ liệu tại những cluster tương ứng p7 pptx

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 (4.86 MB, 5 trang )

trong MFT thì thuộc tính đó được gọi là thuộc tính thường trú. Thuộc tính thông tin
chuẩn và thuộc tính chỉ mục gốc thường được định nghĩa là thuộc tính thường trú.

Hình 4.20.a: Header và value của thuộc tính thường trú
Mỗi thuộc tính đều bắt đầu với một header, header này chứa thông tin về
thuộc tính, đó là thông tin mà NTFS dùng để quản lý thuộc tính. Header cho biết
các thông tin liên quan đến giá trị của nó như là có phải là thường trú (RESIDENT)
hay không, offset từ header đến giá trị của thuộc tính, độ dài (length) giá trị của
thuộc tính, vv. Hình 4.20.b sau đây cho thấy thuộc tính filemane gồm có header là
“RESIDENT” + Offset:8h + Length:14h và value là MYFILE.DAT.
Khi giá trị của thuộc tính được lưu trữ trong record MFT thì thời gian đọc
nội dung của một file của NTFS sẽ được giảm xuống, vì nó không phải tìm danh
sách các cluster chứa nội dung của file dựa vào việc phân tích bảng FAT như trong
các hệ thống file FAT, mà chỉ cần đọc ngay giá trị tại các cluster trên đĩa chứa nội
dung của file, danh sách các cluster nay được ghi ở phần giá trị của thuộc tính.
Thuộc tính cho các thư mục nhỏ cũng giống như thuộc tính của các file nhỏ,
nó có thể thường trú trong MFT. Hình sau đây là một record MFT cho thư mục
nhỏ:

Hình 4.20.b: Một record MFT cho thư mục nhỏ
Trong đó thuộc tính Index root chứa một chỉ mục của các tham chiếu đến các
file và các thư mục con trong thư mục.
Trong thực tế nội dung của một thư mục, gồm các file và các thư mục con
trong nó, không thể nén thành một record MFT có kích thước cố định 1MB. Nếu
một thuộc tính đặc biệt, thuộc tính dữ liệu của file chẳng hạn, là quá lớn để chứa
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
hết trong một record MFT thì NTFS sẽ cấp phát các cluster riêng cho dữ liệu của
thuộc tính từ MFT. Vùng này được gọi là Run (hay là phạm vi). Nếu giá trị của
thuộc tính sau đó phát triển, nội dung của file tăng lên chẳng hạn, thì NTFS sẽ định
vị một Run khác cho dữ liệu được thêm vào. Các thuộc tính mà giá trị của nó được
lưu trữ trong các Run chứ không phải trong các record MFT được gọi là các thuộc
tính không thường trú. Hệ thống file sẽ quyết định có hay không một thuộc tính cụ
thể là thường trú hay không thường trú.
Khi một thuộc tính là không thường trú thì header của nó sẽ chứa các thông
tin mà NTFS cần để tìm đến giá trị của thuộc tính trên đĩa. Hình sau đây cho thấy
thuộc tính dữ liệu không thường trú được lưu trữ trong 2 Run.

Hình 4.20.c: Record cho một file lớn với 2 Run
Trong số các thuộc tính chuẩn (standard attribute), chỉ có các thuộc tính có
thể tăng lên là có thể trở thành không thường trú. Các thuộc tính thông tin chuẩn và
tên file luôn luôn là thường trú.

Hình 4.20.d: Record MFT cho thư mục lớn với chỉ
mục filename không thường trú

Một thư mục lớn có thể có các thuộc tính không thường trú. Chúng ta hãy
xem hình say đây, ta thấy record MFT không đủ chỗ để lưu trữ hết Index của các
file chứa trong một thư mục lớn. Một phần của Index được lưu trũ trong thuộc tính

Index Root, phần còn lại được lưu trong các Run không thường trú được gọi là
vùng đệm chỉ mục (Index Buffer).
NTFS theo dõi các Run bằng các cặp ánh xạ VCN-to-LCN. Các LCN đánh
số thứ tự của các cluster trên toàn volume từ 0 đến n. Các VCN đánh số các cluster
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
riêng cho từng file từ 0 đến m. Xem hình 4.20.e sau đây:

Hình 4.20.e: Các VCN cho thuộc tính dữ liệu không thường trú
Nếu file này có nhiều hơn 2 Run thì Run thứ 3 sẽ bắt đầu với VCN 8. Xem
hình sau đây, header của thuộc tính dữ liệu chứa các ánh xạ VCN-to-LCN cho 2
Run ở đây, nó cho phép NTFS dễ dàng tìm đến các định vị cấp phát trên đĩa.

Hình 4.20.f: Các ánh xạ VCN-to-LCN cho thuộc
tính dữ liệu không thường trú.
Hình 4.20.f chỉ ra các Run dữ liệu, các thuộc tính khác có thể lưu trữ trong
các Run nếu record trong MFT không đủ chỗ để chứa chúng và nếu một file nào đó
có quá nhiều thuộc tính dẫn đến không chứa đủ trong một record thì một record thứ

2 trong MFT được sử dụng để chứa các thuộc tính thêm vào. Trong trường hợp này
một thuộc tính được gọi là danh sách thuộc tính (attribute list) sẽ được thêm vào.
Thuộc tính attribute list chứa tên và mã loại cho mỗi thuộc tính của file và file tham
chiếu của record MFT, là nơi thuộc tính được nạp. Thuộc tính attribute list được
cung cấp cho các trường hợp: kích thước file tăng lên hoặc file bị phân mảnh, dẫn
đến một record MFT đơn không thể chứa hết các ánh xạ VCN-to-LCN cần thiết để
tìm tất cả các Run của nó.
Tóm lại trong một record MFT có thể có các trường sau:
 Trường đầu tiên của một record MFT là record header, theo sau đó là
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ác cặp header và value của các thuộc tính. Record header chứa 1 mã số sử dụng để
kiểm tra tính hợp lệ, số kế tiếp được cập nhật mỗi khi record được sử dụng lại cho
file mới, các tham chiếu đến file, số byte hiện tại trong record được sử dụng, nhận
dạng (chỉ số, dãy số liên tiếp) của record cơ sở (chỉ sử dụng cho record mở rộng),
và 1 số trường khác. Sau record header là header của thuộc tính thứ nhất và giá trị
của thuộc tính thứ nhất, header của thuộc tính thứ hai và giá trị của thuộc tính thứ
hai,

 NTFS định nghĩa 13 thuộc tính có thể xuất hiện ở các record MFT.
Chúng được liệt kê ở bảng sau đây. Mỗi record MFT bao gồm 1 dãy các header
thuộc tính, chúng được đồng nhất với phần đầu của thuộc tính và cho biết độ dài và
vị trí của trường giá trị cùng với trạng thái cờ và một số thông tin khác. Thông
thường, giá trị thuộc tính nằm ngay sau các header của chúng, nhưng nếu giá trị
này quá dài để đặt trong 1 record MFT, thì chúng được đặt vào 1 block đĩa tách rời.
Thuộc tính như vậy được gọi là thuộc tính không thường trú. Một vài thuộc tính
như là tên, có thể được lặp lại, nhưng tất cả các thuộc tính phải được đặt trong 1
hàng cố định trong recorrd MFT. Các header cho thuộc tính thường trú có độ dài 24
byte; đối với những thuộc tính không lưu trú là dài hơn vì chúng lưu thêm những
thông tin để tìm thuộc tính trên đĩa.
Thuộc tính
Mô tả
Standard
information
Các bítcờ, timestamp,
File name
Tên file trong Unicode: có thể lặp lại đối với tên
DOS
Security descriptor

Đã lỗi thời. Thông tin bảo mật trong
$extend$Secure
Attribute list

Vị trí của các MFT record thêm vào nếu cần
Object ID

64-bit, file được nhận biết là duy nhất trên volume
Reparse point Dùng cho các liên kết tăng dần và tượng trưng

Volume name
Tên của volume này (chỉ sử dụng trong $Volume)
Volume information
Phiên bản của Volume (chỉ sử dụng trong
$Volume)
Index root

Được sử dụng cho các thư mục
Index allocation Được sử dụng cho các thư mục rất lớn
Bitmap Được sử dụng cho các thư mục rất lớn
Logged utility
stream
Điều khiển kết nối đến $LogFile
Data
Dữ liệu luồng; có thể lặp lại nhiều lần
Bảng 4.7: Các thuộc tính sử dụng trong record MFT
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

 Trường thông tin chuẩn (Standard Information) của file bao gồm:
thông tin bảo mật, timestamp, các liên kết cố định, bít chỉ đọc và bítlưu trữ, vv. Nó
là trường có kích thước cố định và luôn hiện hữu.
 Trường tên file (File Name) là một chuỗi mã Unicode có độ dài thay
đổi được. Để tạo các file với các tên không phải là tên MS-DOS gần với các ứng
dụng 16-bítcũ, các file cũng có thể có tên 8+3 của MS-DOS. Nếu tên file thực sự
tuân theo quy tắc đặt tên 8+3 của MS-DOS, thì tên file MS_DOS phụ sẽ không
được sử dụng.
 Trong NT 4.0, thông tin bảo mật (Security) có thể đưa vào một thuộc
tính nhưng trong Windows 2000 tất cả được đưa vào một file riêng, vì thế nhiều
file có thể chia sẻ một phần bảo mật.
 Danh sách thuộc tính (Attribute List) là cần thiết nếu thuộc tính không
đặt trong record MFT. Thuộc tính này là để tìm ra các record mở rộng. Mỗi mục
vào của dãy thuộc tính chứa một chỉ số 48-bíttrong MFT gọi đó là record mở rộng
và một dãy số 16-bítcho phép kiểm tra sự phù hợp của record mở rộng và record cơ
sở.
 Thuộc tính định danh đối tượng ID (Object Identifer) của đối tượng
làm cho tên file là duy nhất.
 Trường peparse point gọi là các thủ tục phân tách tên file để thực hiện
một thao tác đặc biệt nào đó. Kỹ thuật này được sử dụng trong cài đặt và liên kết
biểu tượng.
 Hai thuộc tính volume (Volume Name và Volume Information) chỉ sử
dụng để xác định volume.
 Ba thuộc tính tiếp theo (Index Root, Index Allocation và Bitmap) được
sử dụng cho việc cài đặt các thư mục.
 Thuộc tính Logged utility stream được sử dụng bởi hệ thống file mã
hoá.
 Cuối cùng, là thuộc tính dữ liệu. Một dãy tên file nằm trong thuộc tính
heard. Tiếp theo header là một danh sách các địa chỉ đĩa mà chúng được gọi là
block chứa file, hay chỉ cho các file vài trăm byte của riêng nó. Trong thực tế, đặt

dữ liệu file vào record MFT được gọi là file trực tiếp. Phần lớn thì dữ liệu không
đặt ở MFT record, vì vậy thuộc tính này thường không thường trú.
IV.9.3. Quản lý danh sách các block chứa File trên đĩa
Trong Windows 2000 với NTFS thì nội dung của một File cần lưu trữ trên volume
cũng được chia thành các block (tương ứng với một block hay cluster trên đĩa), các
block file còn được gọi là các block logic. Các block file có thể được lưu tại một
hoặc nhiều đoạn block không liên tiếp nhau trên đĩa, một đoạn block bao gồm n
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

×