1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giáo trình phân tích giá trị dữ liệu tại một phần tử trong bảng FAT tương ứng trên vùng dữ liệu p4

5 10 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 616,47 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Last access: lưu trữ thời gian truy cập đến file cuối cùng trước đó.  Trường Upper 16 bítof Staring block kết hợp cùng với trường Lower 16 bítof Staring block (16 bít thấp của block đầu tiên): để lưu số hiệu của block đầu tiên trong dãy các block chứa nội dung của File tương ứng. Chú ý: Vì windows98 sử dụng 32 bít(4 byte) để định danh các cluster trên đĩa nên trong entry phải có đủ 4 byte để chứa đủ giá trị (4 byte) của các cluster trên đĩa....

Trang 1

xác thời điển tạo ra file bao gồm ngày giờ và giây (chính xác đến 10msec)

Trường Last access: lưu trữ thời gian truy cập đến file cuối cùng trước

đó

Trường Upper 16 bítof Staring block kết hợp cùng với trường Lower 16 bítof Staring block (16 bít thấp của block đầu tiên): để lưu số hiệu của block

đầu tiên trong dãy các block chứa nội dung của File tương ứng

Chú ý: Vì windows98 sử dụng 32 bít(4 byte) để định danh các cluster trên đĩa nên

trong entry phải có đủ 4 byte để chứa đủ giá trị (4 byte) của các cluster trên đĩa

Trong trường hợp này windows98 sử dụng kết hợp 2 trường 2 byte là Upper 16

bítof Staring block (để chứa 2 byte cao của số hiệu cluster bắt đầu chứa các block

file) và Lower 16 bítof Staring block (để chứa 2 byte thấp của số hiệu cluster bắt

đầu chứa các block file)

Để đảm bảo sự tương thích về tên file, đặc biệt là những tên file dài, trong cả

2 hệ thống DOS và Windows98, Windows98 sử dụng hai tên file cho một file: Một

tên file dài để tương thích với Windows98 và WindowsNT và một tên file theo

chuẩn 8.3 để tương thích với hệ điều hành DOS, các file có thể được truy cập theo

một trong hai tên file này

Như vậy khi một file được tạo ra mà tên file của nó không tuân theo chuẩn đặt tên của DOS thì Windows98 sẽ tạo thêm một tên file nữa theo chuẩn về tên file

của hệ điều hành DOS Windows98 thực hiện điều này như sau:

 Lấy 6 ký tự đầu tiên (không kể kí tự trắng và những dấu chấm phụ) của tên dài, chuyển chúng sang dạng viết hoa (nếu cần)

Nối thêm 2 kí tự “~1” vào sau 6 kí tự trên để có được tên file theo chuẩn

của hệ điều hành DOS, nếu tên file này đã tồn tại thì windows98 sẽ dùng 2 kí

tự “~2”, và cứ như thế windows98 có thể thêm vào các kí tự “~3”, “~4”, vv

sao cho đảm bảo tên file không trùng nhau trong cùng một thư mục

Ví dụ: Có 2 tên file dài: Lap trinh huong doi tuong (file 1)

Lap trinh huong thanh phan (file 2)

Thì windows98 tạo ra 2 tên file theo chuẩn MS_DOS như sau:

Để lưu trữ thông tin về một file có tên file dài hệ điều hành windows98 sử dụng các entry liên tiếp nhau trong bảng thư mục, các entry này được bố trí như

sau:

 Một entry đầu tiên dùng để lưu trữ tên file theo chuẩn của DOS và các thông tin khác, cấu trúc của entry này hoàn toàn tương tự như hình trên

 Một hoặc nhiều entry kế tiếp sau đó để lưu tên file dài, số lượng các entry

Trang 2

này phụ thuộc vào số kí tự của tên file (mỗi entry chứa được 13 kí tự Unicode= 26byte)

Ví dụ: một file có tên file gồm 28 kí tự thì windows98 sẽ dùng 4 entry: một entry dùng để lưu tên file theo chuẩn MS_DOS, 3 entry còn lại dùng để lưu tên file

dài, trong đó 2 entry đầu chứa 26 kí tự (13x2) đầu, entry cuối cùng chứa 2 kí tự còn

lại của tên file

Hình 4.14 cho thấy cấu trúc của một entry trong bảng thư mục gốc của windows98 dùng cho tên file dài:

 Trường Sequence: chiếm 1 byte dùng để ghi thứ tự của các entry chứa tên file dài, nếu là entry cuối cùng thì thứ tự này sẽ được cộng thêm 64 đơn vị để đánh đấu đây là entry cuối cùng của một file, theo ví dụ trên thì trường

Sequence của các entry lần lược là: 1, 2 và 67 (3+64)

 Trường Attributes: chiếm 1 byte, chứa giá trị 0Fh, đây là dấu hiệu để phân biệt giữa entry chứa tên file theo chuẩn DOS với các entry chứa tên file dài Hệ điều hành DOS và các tiện ích về file của DOS sẽ bỏ qua (không nhận ra) các entry này

 Trường Checksum: chiếm 1 byte, dùng để ghi nhận các tình huống sau:

một chương trình Windows98 tạo ra một file với 1 tên dài, máy tính được Reboot để chạy với hệ điều hành DOS hoặc Windows 3, một chương trình cũ xóa tên file DOS từ thư mục nhưng không xóa tên file dài đứng trước nó (vì không hiểu về nó), vv

Với 1 byte cho checksum Windows 98 có thể ghi nhận 256 tình huống khác nhau, mỗi tình huống tương ứng với một mã nào đó Hiện nay chúng tôi chưa

có tài liệu mô tả về đầy đủ về checksum nên chúng tôi không thể trình bày nhiều hơn nữa về checksum ở đây

 10 byte sau trường Sequence, 12 byte sau trường Checksum và 4 byte cuối cùng dùng để lưu trử 13 kí tự trong phần tên file dài (vì windows98 sử dụng mã Unicode nên mỗi ký tự chiếm 2 byte)

Chú ý: Theo hệ điều hành DOS và windows3.1 thì byte đầu tiên của một entry

trong bảng thư mục gốc phải là một trong các chữ cái hoặc một số kí tự đặc biệt

nào đó, chứ không thể là các giá trị số Nên DOS, windows3.1 và các chương trình

Sequen

Hnh 4.14 Một entry cho một tên file dài của windows 98

Trang 3

trên nó không nhận ra các entry của tên file dài theo kiểu windows98 là điều tất

nhiên

Hình vẽ sau đây minh họa cho việc lưu trữ tên file dài trong bảng thư mục

của file có tên: “Nguyen Le Tram Uyen Va Tram Thanh”

C 6

C

C

N

Creation Time

Last

Last

Hình 4.15: Các phần tử trong bảng thư mục gốc của windows98 của một

file Theo hình trên thì, windows98 dùng 4 entry liên tiếp nhau, từ thấp đến cao, trong bảng thư mục gốc để lưu trữ tên file và các thông tin liên quan của file

“Nguyen Le Tram Uyen Va Tram Thanh”: 1 entry theo kiểu DOS để lưu trữ tên

file thu gọn NGUYEN~1, và 3 entry đánh số thứ tự 1, 2, và 67 theo kiểu

windows98 để lưu toàn bộ phần tên file dài

Chú ý: Vì bảng FAT quá lớn nên windows98 không nạp hết bảng FAT vào bộ nhớ

mà chỉ nạp những phần tử cần thiết, các phần tử được sử dụng hiện tại, nhưng các

phần tử này luôn thay đổi, do đó Windows 98 sử dụng một “cửa sổ” trên bảng FAT

để phục vụ cho mục đích này, theo đó chỉ các phần tử nằm trong “cửa sổ” mới

được nạp vào bộ nhớ để sử dụng tại thời điểm hiện tại

Tổ chức đĩa của Windows 2000

Các loại Partition

Windows 2000 giới thiệu hai khái niệm: Basic Disk và Dynamic Disk Windows

2000 gọi các đĩa được phân khu dựa vào sơ đồ phân khu của MS_DOS là các basic

disk Basic là khái niệm mà windows 2000 kế thừa từ MS_DOS, dynamic disk là

một khái niệm mới của nó Windows 2000 đã cài đặt thành công các dynamic disk

và nó có nhiều đặc tính nổi trội hơn so với basic disk Sự khác nhau cơ bản giữa

dynamic disk và basic disk đó là dynamic disk hỗ trợ các multipartition volume

Windows 2000 quản lý tất cả các đĩa như là basic disk trừ khi ta tạo một dynamic disk bằng tay hoặc chuyển một basic disk đang tồn tại thành dynamic

disk Để khuyến kích người quản trị hệ thống sử dụng dynamic disk, Microsoft đưa

ra một vài giới hạn sử dụng trên các basic disk, như: chỉ có thể tạo các

multipartition volume mới trên các dynamic disk, chỉ có thể chuyển thành dynmic

Trang 4

disk trên các volume NTFS Một bất lợi của dynamic disk là định dạng mà nó sử

dụng là độc quyền và không tương thích với các hệ điều hành khác, bao gồm cả các

phiên bản khác nhau của Windows Vì thế ta không thể truy cập dynamic disk

trong môi trường đa boot (dual-boot environment)

Basic Partitioning: Khi cài đặt Windows 2000, đầu tiên nó sẽ yêu cầu ta

tạo một partition trên ổ đĩa vật lý chính (primary) của hệ thống Windows

2000 định nghĩa một system volume trên partition này để lưu trữ các file mà

nó có thể gọi trong quá trình boot máy Windows 2000 cũng yêu cầu ta tạo một

partition mà nó phục vụ như là một home cho boot volume, đây là nơi mà

chương trình setup sẽ cài đặt các file hệ thống của Windows 2000 và tạo ra

một thư mục hệ thống \Winnt System volume và boot volume có thể nằm trên

cùng một volume System volume là nơi Windows 2000 lưu trữ các file boot,

bao gồm các file Ntldr và Ntdetect, còn boot volume là nơi Windows 2000 lưu

trữ các file chính của hệ điều hành như là Ntoskrnl.exe và các file lõi khác

Theo chuẩn của BIOS trên các hệ thống x86, tất cả các hệ điều hành đều chọn sector đầu tiên của đĩa primary để chứa master boot record (MBR) Chúng ta

đã biết khi một processor được boot thì BIOS của máy tính sẽ đọc MBR và xem xét

đoạn mã có khả năng thực hiện của MBR BIOS sẽ gọi đoạn mã của MBR để khởi

tạo tiến trình boot hệ điều hành sau khi đã POST máy tính Cũng như các hệ điều

hành của Microsoft khác, MBR của Windows 2000 cũng chứa một bảng partition

Bảng này cũng có 4 mục vào, nó dùng để cấp phát cho 4 partition chính trên một

đĩa Bảng partition cũng ghi lại loại của partition là FAT32 hay NTFS

Hình 4.16: các partition trên volume NTFS

Có một loại partition đặc biệt đó là extended partition, nó chứa một MBR khác với một bảng partition riêng của nó Bằng cách sử dụng extended partition các

hệ điều hành của Microsoft đã phá bỏ giới hạn 4 partition trên một đĩa Tiến trình

Trang 5

boot là một thể hiện đầu tiên trong Windows 2000 tạo nên sự khác biệt rõ rệt nhất

giữa các partition primary và extended Hệ thống phải tạo một partition primary

trên đĩa primary là active Trong qúa trình boot đoạn mã của Windows 2000 trong

MBR sẽ nạp đoạn mã được lưu trữ tại sector đầu tiên trong partition active (system

volume) vào bộ nhớ và trao quyền điều khiển cho đoạn mã này Windows 2000 chỉ

định sector đầu tiên của bất kỳ partition nào đều là boot sector Như đã biết ở trước,

trong Windows 2000 mọi partition được định dạng với một hệ thống file thì nó có

một boot sector, là nơi lưu trữ thông tin về cấu trúc của hệ thống file trên partition

đó

Dynamic Partitioning: Các đĩa động được định dạng trong Windows 2000

và là cần thiết đề tạo mới các volume multipartition Hệ thống con Logical

Disk Manager (LDM) trong Windows 2000 bao gồm các thành phần trong

user mode và device driver giám sát các đĩa động Cơ sở dữ liệu LDM thường

trú trong không gian dành riêng 1MB tại cuối mỗi dynamic disk

Không gian đĩa 1MB này là cần thiết trên các basic disk vì Windows

2000 cần có không gian trống này khi người sử dụng cần chuyển một basic

disk thành dynamic disk Mặc dù dữ liệu partition của dynamic disk thường

trú trong cơ sở dữ liệu LDM, LDM vẫn cài đặt một bảng partition lọai

MS_DOS để thừa kế các tiện ích quản lý đĩa, bao gồm cả các tiện ích chạy

dưới Windows 2000 và dưới các hệ điều hành khác trong môi trường boot đôi

(dual-boot) Vì các partition LDM không được mô tả trong bảng partition loại

MS_DOS nên nó được gọi là các soft partition, các partition loại MS_DOS

được gọi là các hard partition

Một nguyên nhân khác mà LDM phải tạo các bảng partition loại MS_DOS

đó là đoạn mã boot của Windows 2000 có thể tìm trong các system volume hoặc

boot volume, ngay cả khi các volume nằm trên các dynamic disk Nếu một đĩa chứa

các volume system hoặc boot, hard partition trong bảng partition MS_DOS mô tả

vị trí của các partition này Mặt khác, một hard partition bắt đầu tại cylinder đầu

tiên của đĩa và mở rộng đến nơi bắt đầu của cơ sở dữ liệu LDM LDM đánh dấu

partition này như là “LDM”, một partition loại MS_DOS kiểu mới của Windows

Mastor Boot Record

LDM

1MB cơ sở

dữ liệu LDM

Hình 4.17.a: Tổ chức bên trong của dynamic disk

Ngày đăng: 12/05/2021, 22:39

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w