Tải bản đầy đủ (.ppt) (52 trang)

Giáo trình Hệ điều hành - Phần 4.6

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 (11.33 MB, 52 trang )


Chương 4: Hệ thống quản lý tập tin
Chương 4: Hệ thống quản lý tập tin


Các khái niệm tập tin- thư mục
Các khái niệm tập tin- thư mục
Mô hình quản lý và tổ chức tập tin
Mô hình quản lý và tổ chức tập tin
Các chức năng hệ thống tập tin
Các chức năng hệ thống tập tin
Cài đặt hệ thống tập tin
Cài đặt hệ thống tập tin
Hệ thống tập tin hệ điều hành MS-DOS
Hệ thống tập tin hệ điều hành MS-DOS
Hệ thống tập tin hệ điều hành Unix
Hệ thống tập tin hệ điều hành Unix

Các khái niệm tập tin – thư mục
Các khái niệm tập tin – thư mục
Tập tin
Tập tin

Tập tin là đơn vị lưu trữ thông tin của bộ nhớ ngoài.
Tập tin là đơn vị lưu trữ thông tin của bộ nhớ ngoài.

Các tiến trình có thể đọc hay tạo mới tập tin.
Các tiến trình có thể đọc hay tạo mới tập tin.

Các thông tin trong tập tin là bền vững không bị ảnh hưởng bởi
Các thông tin trong tập tin là bền vững không bị ảnh hưởng bởi


các xử lý ngoại trừ người sử dụng muốn xóa.
các xử lý ngoại trừ người sử dụng muốn xóa.

Tập tin được quản lý bởi hệ điều hành.
Tập tin được quản lý bởi hệ điều hành.
Thư mục
Thư mục

Thư mục lưu trữ các tập tin theo một qui định.
Thư mục lưu trữ các tập tin theo một qui định.

Một số hệ thống coi thư mục cũng như là tập tin.
Một số hệ thống coi thư mục cũng như là tập tin.
Hệ thống quản lý tập tin
Hệ thống quản lý tập tin

Các tập tin được quản lý bởi hệ điều hành với một cơ chế riêng
Các tập tin được quản lý bởi hệ điều hành với một cơ chế riêng
gọi là hệ thống quản lý tập tin.
gọi là hệ thống quản lý tập tin.

Hệ thống quản lý tập tin bao gồm: cách hiển thị , các yếu tố cấu
Hệ thống quản lý tập tin bao gồm: cách hiển thị , các yếu tố cấu
thành tập tin, cách truy xuất, các thao tác trên tập tin và thư mục,
thành tập tin, cách truy xuất, các thao tác trên tập tin và thư mục,



Mô hình quản lý và tổ chức tập tin
Mô hình quản lý và tổ chức tập tin

Tập tin
Tập tin

Tên tập tin:
Tên tập tin:
Mỗi tập tin được quản lý bằng một tên.
Mỗi tập tin được quản lý bằng một tên.
Cách đặt tên tập tin mỗi hệ diều hành là khác nhau.
Cách đặt tên tập tin mỗi hệ diều hành là khác nhau.

Cấu trúc tập tin:
Cấu trúc tập tin:
Dãy các byte không có cấu trúc.
Dãy các byte không có cấu trúc.
Dãy các record có chiều dài cố định
Dãy các record có chiều dài cố định

Kiểu tập tin: Các hệ điều hành hỗ trợ cho nhiều loại tập tin khác
Kiểu tập tin: Các hệ điều hành hỗ trợ cho nhiều loại tập tin khác
nhau
nhau
Tập tin thường: là tập tin text hay nhị phân chứa các thông tin của
Tập tin thường: là tập tin text hay nhị phân chứa các thông tin của
người sử dụng.
người sử dụng.
Thư mục: là một loại tập tin hệ thống dùng lưu trữ cấu trúc hệ
Thư mục: là một loại tập tin hệ thống dùng lưu trữ cấu trúc hệ
thống tập tin
thống tập tin
Tập tin có ký tự đặc biệt: liên quan đến nhập xất thông qua các thiết

Tập tin có ký tự đặc biệt: liên quan đến nhập xất thông qua các thiết
bị nhập xuất
bị nhập xuất

Thuộc tính của tập tin: Các thông tin về tập tin gọi là thuộc tính
Thuộc tính của tập tin: Các thông tin về tập tin gọi là thuộc tính
tập tin
tập tin

Mô hình quản lý và tổ chức tập tin(tt)
Mô hình quản lý và tổ chức tập tin(tt)



Thuộc tính tập tin thường là các thông tin:
Thuộc tính tập tin thường là các thông tin:
Bảo vệ: bảo vệ việc truy xuất từ người sử dụng
Bảo vệ: bảo vệ việc truy xuất từ người sử dụng
Mật khẩu: Mật khẩu cần thiết khi truy xuất.
Mật khẩu: Mật khẩu cần thiết khi truy xuất.
Người tạo: Chỉ danh người tập tin.
Người tạo: Chỉ danh người tập tin.
Người sở hữu: Chỉ danh người sở hữu hiện tại.
Người sở hữu: Chỉ danh người sở hữu hiện tại.
Chỉ đọc: 0: đọc ghi, 1: chỉ đọc
Chỉ đọc: 0: đọc ghi, 1: chỉ đọc
Ẩn: 0 bình thường, 1 không hiển thị khi liệt kế
Ẩn: 0 bình thường, 1 không hiển thị khi liệt kế
hệ thống: 0 bình thường, 1 tập tin hệ thống .
hệ thống: 0 bình thường, 1 tập tin hệ thống .

Khoá: 0 không khóa, 1 bị khóa
Khoá: 0 không khóa, 1 bị khóa
Độ dài record: số byte trong một record
Độ dài record: số byte trong một record
Thời gian tạo: ngày , giờ tạo tập tin
Thời gian tạo: ngày , giờ tạo tập tin
Thời gian truy xuất sau cùng: ngày , giờ truy xuất gần nhất
Thời gian truy xuất sau cùng: ngày , giờ truy xuất gần nhất
Thời gian thay đổi cuối cùng: ngày, giờ thay đổi tập tin
Thời gian thay đổi cuối cùng: ngày, giờ thay đổi tập tin
Kích thước hiện thời: Số byte tập tin
Kích thước hiện thời: Số byte tập tin
……………
……………



Mô hình quản lý và tổ chức tập tin(tt)
Mô hình quản lý và tổ chức tập tin(tt)


Thư mục
Thư mục

Hệ thống thư mục cấp bậc:
Hệ thống thư mục cấp bậc:
Một thư mục thường chứa các entry. Mỗi entry thể hiện cho một tập
Một thư mục thường chứa các entry. Mỗi entry thể hiện cho một tập
tin( chứa các thuộc tính tập tin)
tin( chứa các thuộc tính tập tin)

Số lượng thư mục trên mỗi hệ điều hành là khác nhau.
Số lượng thư mục trên mỗi hệ điều hành là khác nhau.
Một số hệ thống chỉ có một thư mục duy nhất, nhưng một số hệ
Một số hệ thống chỉ có một thư mục duy nhất, nhưng một số hệ
thống có thư mục gốc, trong thư mục gốc có các thư mục con và
thống có thư mục gốc, trong thư mục gốc có các thư mục con và
trong các thư mục con lại có các thư mục con nữa.
trong các thư mục con lại có các thư mục con nữa.

Đường dẫn
Đường dẫn
Trong hệ thống tổ chức thư mục cấp bậc theo hình cây có hai cách
Trong hệ thống tổ chức thư mục cấp bậc theo hình cây có hai cách
để xác định một tập tin: đường dẫn thuyệt đối, đường dẫn tương
để xác định một tập tin: đường dẫn thuyệt đối, đường dẫn tương
đối.
đối.
Trong hầu hết các hệ điều hành tổ chức thư mục “.” và
Trong hầu hết các hệ điều hành tổ chức thư mục “.” và
“ ” để chỉ ra thư mục hiện hành và thư mục cha.
“ ” để chỉ ra thư mục hiện hành và thư mục cha.

Các chức năng của hệ thống tập tin
Các chức năng của hệ thống tập tin


Tạo tập tin
Tạo tập tin
Xoá tập tin
Xoá tập tin

Mở tập tin
Mở tập tin
Đọc, ghi tập tin
Đọc, ghi tập tin
Tìm kiếm tập tin
Tìm kiếm tập tin
Đổi tên tập tin
Đổi tên tập tin
Tạo thư mục
Tạo thư mục
Xóa thư mục
Xóa thư mục
Đổi tên thư mục
Đổi tên thư mục

Cài đặt hệ thống tập tin
Cài đặt hệ thống tập tin
Cấu trúc Entry của tập tin(Directory Entry)
Cấu trúc Entry của tập tin(Directory Entry)

Trước khi tập tin được đọc, ghi hệ thống phải biết đường dẫndo người
Trước khi tập tin được đọc, ghi hệ thống phải biết đường dẫndo người
sử dụng cung cấp từ đó định vị được cấu trúc entry của tập tin
sử dụng cung cấp từ đó định vị được cấu trúc entry của tập tin

Cấu trúc một entry lưu trữ các thông tin về thuộc tính tập tin
Cấu trúc một entry lưu trữ các thông tin về thuộc tính tập tin
Mã NSD Tên TT PMR kích th c , … ướ

Cài đặt hệ thống tập tin(tt)

Cài đặt hệ thống tập tin(tt)
Cấu trúc thư mục
Cấu trúc thư mục

Thư mục chứa các tập tin do đó chứa các entry của tập tin, kích thức
Thư mục chứa các tập tin do đó chứa các entry của tập tin, kích thức
mỗi Entry tuỳ thuộc mỗi hệ thống
mỗi Entry tuỳ thuộc mỗi hệ thống

Định vị cấu trúc thư mục gốc, và các thư mục con
Định vị cấu trúc thư mục gốc, và các thư mục con

TMC1
TMC2
TMC3
.

TMC1.1
TMC1.2
.

TMC2.1
TMC2.2

Cài đặt hệ thống tập tin(tt)
Cài đặt hệ thống tập tin(tt)
Quản lý các vùng nhớ trên đĩa: Lưu trữ các thông tin về các ô nhớ
Quản lý các vùng nhớ trên đĩa: Lưu trữ các thông tin về các ô nhớ
đã sử dụng chưa, các ô nhớ đã sử dụng thuộc về tập tin, thư mục
đã sử dụng chưa, các ô nhớ đã sử dụng thuộc về tập tin, thư mục

nào
nào

Phương pháp định vị liên tiếp: lưu trữ nội dung tập tin trên một
Phương pháp định vị liên tiếp: lưu trữ nội dung tập tin trên một
dãy các khối liên tiếp nhau.
dãy các khối liên tiếp nhau.
Ưu điểm : dễ cài đặt, dễ thao tác trên các tập tin
Ưu điểm : dễ cài đặt, dễ thao tác trên các tập tin
Khuyết điểm: Xử lý phức tạp khi kích thước tập tin thay đổi,
Khuyết điểm: Xử lý phức tạp khi kích thước tập tin thay đổi,
Sự phân mảnh trên đĩa gây lãng phí
Sự phân mảnh trên đĩa gây lãng phí

Phuơng pháp định vị bằng danh sách liên kết: Không có sự
Phuơng pháp định vị bằng danh sách liên kết: Không có sự
phân mảnh vì các ô nhớ được cấp phát hết, truy xuất chậm vì
phân mảnh vì các ô nhớ được cấp phát hết, truy xuất chậm vì
các ô nhớ chưa nội dung tập tin nằm rải rác.
các ô nhớ chưa nội dung tập tin nằm rải rác.
Ô
nh ớ
th ứ
nh tấ
Ô
nh ớ
th ứ
hai
Ô
nh ớ

th ứ
ba
Ô
nh ớ
th ứ
n

Hệ thống tập tin HĐH MSDOS
Hệ thống tập tin HĐH MSDOS


Giới thiệu
Giới thiệu

Hệ điều hành MSDOS do Microsoft thiết kế cho máy tính PC và
Hệ điều hành MSDOS do Microsoft thiết kế cho máy tính PC và
là HđH được sử dụng rộng rãi.
là HđH được sử dụng rộng rãi.

MSDOS là hệ điều hành đơn nhiệm, một người dùng, bộ nhớ
MSDOS là hệ điều hành đơn nhiệm, một người dùng, bộ nhớ
chính là 640K.
chính là 640K.
Lịch sử phát triển:
Lịch sử phát triển:

MSDOS ra đời nam 1981 là HĐH 16bit đầu tiên sử dụng cho
MSDOS ra đời nam 1981 là HĐH 16bit đầu tiên sử dụng cho
máy PC của IBM
máy PC của IBM


Phiên bản 1.0 với bộ nhớ 12K bao gồm các tập tin:IBMIO.COM,
Phiên bản 1.0 với bộ nhớ 12K bao gồm các tập tin:IBMIO.COM,
IBMMS-DOS.COM, COMMAND.COM, chạy trên đĩa mềm, hệ
IBMMS-DOS.COM, COMMAND.COM, chạy trên đĩa mềm, hệ
thống tập tin chỉ bao gồm một thư mục gốc.
thống tập tin chỉ bao gồm một thư mục gốc.

Phiên bản 2.0 ra đời tháng 03/1983 : Hệ thống tập tin tổ chức
Phiên bản 2.0 ra đời tháng 03/1983 : Hệ thống tập tin tổ chức
theo mô hình cấp bậc, quản lý đĩa cứng 10MB, cài đặt các thiết
theo mô hình cấp bậc, quản lý đĩa cứng 10MB, cài đặt các thiết
bị bằng tập tin config.sys
bị bằng tập tin config.sys

Hệ thống tập tin HĐH MSDOS(tt)
Hệ thống tập tin HĐH MSDOS(tt)



Phiên bản 3.0 ra đời 08/1984 quản lý đĩa cứng 20MB,
Phiên bản 3.0 ra đời 08/1984 quản lý đĩa cứng 20MB,
đĩa mềm 1.2MB, sử dụng Đĩa ảo
đĩa mềm 1.2MB, sử dụng Đĩa ảo

Phiên bản 4.0 : 07/1988 hỗ trợ đĩa cứng từ 32Mb –
Phiên bản 4.0 : 07/1988 hỗ trợ đĩa cứng từ 32Mb –
2GB, sử dụng bộ nhớ mở rộng là đĩa ảo
2GB, sử dụng bộ nhớ mở rộng là đĩa ảo


Phiên bản 5.0: 04/1991 tận dụng bộ nhớ mở rộng
Phiên bản 5.0: 04/1991 tận dụng bộ nhớ mở rộng
dùng để lưu trữ các driver của thiết bị.
dùng để lưu trữ các driver của thiết bị.

Phiên bản 6.0: 1993 : tăng dung lượng đĩa sử dụng
Phiên bản 6.0: 1993 : tăng dung lượng đĩa sử dụng
DBLSPACE, tạo bộ nhớ cho đĩa với SmartDrv, tối ưu
DBLSPACE, tạo bộ nhớ cho đĩa với SmartDrv, tối ưu
bộ nhớ bằng trình memmaker.
bộ nhớ bằng trình memmaker.

Hệ thống tập tin HĐH MSDOS(tt)
Hệ thống tập tin HĐH MSDOS(tt)



Cài đặt hệ thống tập tin:
Cài đặt hệ thống tập tin:
Bảng tham số đĩa: lưu trữ các thông tin về đĩa và các thông tin cần
Bảng tham số đĩa: lưu trữ các thông tin về đĩa và các thông tin cần
thiết cho hệ thống tập tin.
thiết cho hệ thống tập tin.
Cấu trúc FAT(File Allocation Table): Lưu trữ các thông tin địa chỉ
Cấu trúc FAT(File Allocation Table): Lưu trữ các thông tin địa chỉ
các ô nhớ còn trống, các ô nhớ nào thuộc về mỗi tập tin,…
các ô nhớ còn trống, các ô nhớ nào thuộc về mỗi tập tin,…
Cấu trúc thư mục gốc(ROOT):Cấu trúc thư mục gốc bao gồm các
Cấu trúc thư mục gốc(ROOT):Cấu trúc thư mục gốc bao gồm các
Entry của tập tin, thư mục con.

Entry của tập tin, thư mục con.
Vùng lưu trữ dữ liệu(Data): Lưu trữ nội dung tập tin và các cấu trúc
Vùng lưu trữ dữ liệu(Data): Lưu trữ nội dung tập tin và các cấu trúc
thư mục con. Cấu
thư mục con. Cấu
trúc thư mục con tương tự cấu trúc
trúc thư mục con tương tự cấu trúc
thư mục gốc.
thư mục gốc.

Cấu trúc
Cấu trúc
hệ thống
hệ thống
tập tin.
tập tin.


Bootsec ch aứ FAT FAT d phòngự C u trúc ROOT ấ vùng d li uữ ệ
b ng tham s aả ố đĩ

Hệ thống tập tin HĐH MSDOS(tt)
Hệ thống tập tin HĐH MSDOS(tt)



Bảng tham số đĩa(BPB):nằm trong bootsec bắt đầu tại địa chỉ offset 0 và
Bảng tham số đĩa(BPB):nằm trong bootsec bắt đầu tại địa chỉ offset 0 và
chứa các thông tin: .
chứa các thông tin: .

Offset
Offset
Kích
Kích
thước(B)
thước(B)
Tên, ý nghĩa
Tên, ý nghĩa
+0h
+0h
3
3
JMP
JMP
Lệnh nhảy đến đọan mồi HĐH
Lệnh nhảy đến đọan mồi HĐH
h+3
h+3
8
8
Version
Version
Tên Cty, Version của HĐH
Tên Cty, Version của HĐH
+0Bh
+0Bh
2
2
SecSiz
SecSiz

Số byte trong một sector
Số byte trong một sector
+0Dh
+0Dh
1
1
ClustSiz
ClustSiz
Số sector của cluster
Số sector của cluster
+0Eh
+0Eh
2
2
ResSec
ResSec
Số Sector trước bảng FAT
Số Sector trước bảng FAT
+10h
+10h
1
1
FatCnt
FatCnt
Số bảng FAT cài đặt
Số bảng FAT cài đặt
+11h
+11h
2
2

RootSiz
RootSiz
Số Entry tối đa của ROOT
Số Entry tối đa của ROOT
+13h
+13h
2
2
TotSecs
TotSecs
Tổng số sector đĩa <32MB
Tổng số sector đĩa <32MB
+15h
+15h
1
1
Media
Media
Byte chỉ danh đĩa
Byte chỉ danh đĩa
+16h
+16h
2
2
FatSiz
FatSiz
Số sector trong bảng FAT
Số sector trong bảng FAT
+18h
+18h

2
2
TrkSecs
TrkSecs
Số sector trên mỗi Track
Số sector trên mỗi Track
+1Ah
+1Ah
2
2
HeadCnt
HeadCnt
Số đầu đọc ghi
Số đầu đọc ghi
……
……
+20h
+20h
4
4
TotSec
TotSec
Tổng số sector đĩa >32MB
Tổng số sector đĩa >32MB
……
……
.
.
+3eh
+3eh

Bắt đầu đoạn CTmồi HĐH
Bắt đầu đoạn CTmồi HĐH

Hệ thống tập tin HĐH MSDOS(tt)
Hệ thống tập tin HĐH MSDOS(tt)


Đối với đĩa cứng sector đầu tiên là masterboot chứa bảng tham số
Đối với đĩa cứng sector đầu tiên là masterboot chứa bảng tham số
partition. Với một đĩa cứng có thể chi thành 4 partition, mỗi partition
partition. Với một đĩa cứng có thể chi thành 4 partition, mỗi partition
được thể hiện bằng một Entry(16byte) có cấu trúc như sau::
được thể hiện bằng một Entry(16byte) có cấu trúc như sau::
Địa chỉ offset bảng partition bắt đầu tại 01BEh
Địa chỉ offset bảng partition bắt đầu tại 01BEh
Offset
Offset
Kích thước(B)
Kích thước(B)
Tên, ý nghĩa
Tên, ý nghĩa
+0h
+0h
1
1
Boot
Boot
=0 không Active, =80h Active
=0 không Active, =80h Active
+1h

+1h
1
1
HdBeg
HdBeg
Số mặt bắt đầu
Số mặt bắt đầu
+2h
+2h
2
2
SecCylBeg
SecCylBeg
Số cylinder bắt đầu(10bit) và
Số cylinder bắt đầu(10bit) và
sector bắt đầu (6bit)
sector bắt đầu (6bit)
+4h
+4h
1
1
Sys
Sys
=0Unknown, =1: Dos FAT 12bit, ;
=0Unknown, =1: Dos FAT 12bit, ;
=4: Dos FAT 16bit
=4: Dos FAT 16bit
+5h
+5h
1

1
HdEnd
HdEnd
Số mặt kết thúc
Số mặt kết thúc
+6h
+6h
2
2
SecCylEnd
SecCylEnd
Số cylinder kết thúc(10bit) và
Số cylinder kết thúc(10bit) và
sector kết thúc (6bit)
sector kết thúc (6bit)
+8h
+8h
4
4
SecLogic
SecLogic
Sector bắt đầu tương đối
Sector bắt đầu tương đối
+0Ch
+0Ch
4
4
TotSecs
TotSecs
Tổng số sector của partition

Tổng số sector của partition

Hệ thống tập tin HĐH MSDOS(tt)
Hệ thống tập tin HĐH MSDOS(tt)

Cấu trúc Fat( file allocation table)
Cấu trúc Fat( file allocation table)

Khái niệm Cluster: Khi đĩa được format đơn vị nhỏ nhất trên đĩa là
Khái niệm Cluster: Khi đĩa được format đơn vị nhỏ nhất trên đĩa là
Sector. Đối đĩa cứng lớn có nhiều sector mà Dos không thể quản lý
Sector. Đối đĩa cứng lớn có nhiều sector mà Dos không thể quản lý
được. Trong trường hợp này để giảm số sector cần quản lý bằng cách
được. Trong trường hợp này để giảm số sector cần quản lý bằng cách
định nghĩa cluster là tập hợp các sector. Lúc này Dos chỉ quản lý
định nghĩa cluster là tập hợp các sector. Lúc này Dos chỉ quản lý
Cluster thay vì sector.
Cluster thay vì sector.

Số hiệu các entry trong bảng Fat thể hiện cho các cluster có số hiệu
Số hiệu các entry trong bảng Fat thể hiện cho các cluster có số hiệu
tương ứng trong vùng dữ liệu.
tương ứng trong vùng dữ liệu.

Fat thể hiện thông tin về các cluster còn trống hay không? Và các
Fat thể hiện thông tin về các cluster còn trống hay không? Và các
cluster đã sử dụng thuộc về tập tin nào.
cluster đã sử dụng thuộc về tập tin nào.

Do Trong Fat 2 phần tử đầu tiên dành riêng không sử dụng nên số hiệu

Do Trong Fat 2 phần tử đầu tiên dành riêng không sử dụng nên số hiệu
các entry được đánh số từ 2 trở đi. Chính vì vậy số hiệu cluster cũng
các entry được đánh số từ 2 trở đi. Chính vì vậy số hiệu cluster cũng
được đánh số từ 2 trở đi.
được đánh số từ 2 trở đi.

Fat có 3 loại : fat 12bit, fat 16bit, fat 32bit. Đối với Fat 12bit thì kích
Fat có 3 loại : fat 12bit, fat 16bit, fat 32bit. Đối với Fat 12bit thì kích
thước mỗi Entry trong Fat là 12 bit và quản lý được số cluster tối đa là
thước mỗi Entry trong Fat là 12 bit và quản lý được số cluster tối đa là
(212 -2). Tương tự đối với Fat 16bit và Fat 32bit.
(212 -2). Tương tự đối với Fat 16bit và Fat 32bit.

Fat 12bit dùng cho đĩa <32MB, Fat 16Bit dùng đĩa <2GB và Fat 32Bit
Fat 12bit dùng cho đĩa <32MB, Fat 16Bit dùng đĩa <2GB và Fat 32Bit
dùng cho đĩa cứng > 2GB( HĐH Windows)
dùng cho đĩa cứng > 2GB( HĐH Windows)

Hệ thống tập tin HĐH MSDOS(tt)
Hệ thống tập tin HĐH MSDOS(tt)

Nội dung của Fat
Nội dung của Fat
Dos quản lý tập tin bằng cách giá trị entry của cluster này
Dos quản lý tập tin bằng cách giá trị entry của cluster này
chứa giá trị là số tứ tự entry tiếp theo nó, cứ thế các luster
chứa giá trị là số tứ tự entry tiếp theo nó, cứ thế các luster
của một tập tin tạo thành một chuỗi cho đến khi gặp dấu hiệu
của một tập tin tạo thành một chuỗi cho đến khi gặp dấu hiệu
kết thúc tập tin.

kết thúc tập tin.

Tuỳ thuộc vào loại fat 12bit hay 16bit các entry có giá
Tuỳ thuộc vào loại fat 12bit hay 16bit các entry có giá
trị như sau:
trị như sau:
0(000)
0(000)
: Cluster tương ứng số hiệu entry còn trống
: Cluster tương ứng số hiệu entry còn trống
(0)002- (F)FEF
(0)002- (F)FEF
: Cluster đang chứa dữ liệu của một
: Cluster đang chứa dữ liệu của một
tập tin nào đó, giá trị là của nó là số hiệu cluster kế tiếp
tập tin nào đó, giá trị là của nó là số hiệu cluster kế tiếp
(F)FF0 – (F)FF6
(F)FF0 – (F)FF6
: Dành riêng không sử dụng
: Dành riêng không sử dụng
(F)FF7
(F)FF7
: Cluster hỏng
: Cluster hỏng
(F)FF8- (F)FFF
(F)FF8- (F)FFF
: Cluster cuối cùng của tập tin
: Cluster cuối cùng của tập tin

Hệ thống tập tin HĐH MSDOS(tt)

Hệ thống tập tin HĐH MSDOS(tt)

Một ví dụ nội dung của Fat:
Một ví dụ nội dung của Fat:
.
Myfile.txt
08
.
M t Entry c a t p tinộ ủ ậ
S hi u cluster u tiên c a ố ệ đầ ủ
t p tinậ
00
00
01
01
02
02
03
03
04
04
05
05
06
06
07
07
08
08
09

09
0a
0a
0b
0b
0c
0c
0d
0d
0e
0e
0f
0f
00
00
03
03
04
04
05
05
Ff
Ff
00
00
00
00
09
09
0a

0a
0b
0b
15
15
00
00
00
00
00
00
00
00
01
01
00
00
00
00
00
00
00
00
00
00
16
16
17
17
19

19
f7
f7
1a
1a
1b
1b
ff
ff
00
00
00
00
00
00
00
00
02
02
00
00
00
00
00
00
00
00
00
00
00

00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00



































T p tin myfile.txt dài 10 cluster: 8,9,0a,0b,15,16,17,19,1a,1bậ
Cluster 18h : ánh d u h ngđ ấ ỏ
Cluster 2,3,4,5: thu c m t t p tin nào óộ ộ ậ đ
Các cluster khác còn tr ngố


Hệ thống tập tin HĐH MSDOS(tt)
Hệ thống tập tin HĐH MSDOS(tt)
Đọc nội dung các Entry trong Fat:
Đọc nội dung các Entry trong Fat:

Nếu Fat 16bit thì địa chỉ entry kế tiếp bằng đĩa chỉ entry hiện thời +2
Nếu Fat 16bit thì địa chỉ entry kế tiếp bằng đĩa chỉ entry hiện thời +2

Nếu Fat 12 bit : Xét 3 byte một : số hiệu entry chẵn là 12bit thấp và số hiệu
Nếu Fat 12 bit : Xét 3 byte một : số hiệu entry chẵn là 12bit thấp và số hiệu
entry lẻ là 12 bit cao
entry lẻ là 12 bit cao
………
………
S hi u Entry 2ố ệ S hi u Entry 3ố ệ S hi u Entry 4ố ệ
T ng ng Cluster 2ươ ứ T ng ng Cluster 3ươ ứ T ng ng Cluster 4ươ ứ

Hệ thống tập tin HĐH MSDOS(tt)
Hệ thống tập tin HĐH MSDOS(tt)

Hàm đọc nội dung Entry Fat 12bit
Hàm đọc nội dung Entry Fat 12bit
………
………
00000000
00000000
00000000
00000000
00000000
00000000

0000
0000
Addr
Các bi n dùng chung:ế
unsigned X, X1, Addr;
Tr ng h p s hi u Entry Ch nườ ợ ố ệ ẵ
X = FAT[Addr];
X1= FAT[Addr+1];
X1= X1 <<8;
X = X + X1;
X = X & 0x0FFF;

Hệ thống tập tin HĐH MSDOS(tt)
Hệ thống tập tin HĐH MSDOS(tt)

Hàm đọc nội dung Entry Fat 12bit
Hàm đọc nội dung Entry Fat 12bit
………
………
Các bi n dùng chung:ế
unsigned X, X1, Addr;
Tr ng h p s hi u Entry lườ ợ ố ệ ẻ
X = FAT[Addr];
X1= FAT[Addr+1];
X1= X1 <<8;
X = X + X1;
X = X >>4;
00000000
00000000
00000000

00000000
Addr
00000000
00000000
0000
0000

Hệ thống tập tin HĐH MSDOS(tt)
Hệ thống tập tin HĐH MSDOS(tt)

Hàm đọc nội dung Entry Fat 12bit
Hàm đọc nội dung Entry Fat 12bit
unsigned NextEntry ( unsigned Index)
{ unsigned X, X1, Addr;
Addr= (Index *3 )/ 2;
X = FAT[Addr];
X1= FAT[Addr+1];
X1= X1 <<8;
X = X + X1;
if ((Index %2)==0)
X= X & 0X0FFF;
else
X = X >>4;
return X;
}

Hệ thống tập tin HĐH MSDOS
Hệ thống tập tin HĐH MSDOS
(tt)
(tt)

Cấu trúc một Entry Trong thư mục gốc hay thư mục con: Mỗi Entry thể
Cấu trúc một Entry Trong thư mục gốc hay thư mục con: Mỗi Entry thể
hiện cho một tập tin hay thư mục con và lưu trữ các thông tin cần thiết.
hiện cho một tập tin hay thư mục con và lưu trữ các thông tin cần thiết.
Kích thước Entry là 32 byte
Kích thước Entry là 32 byte
Offset
Offset
Kích thước
Kích thước
Nội dung
Nội dung
+0h
+0h
8
8
Tên tập tin hay thư mục
Tên tập tin hay thư mục
+8h
+8h
3
3
Phần mở rộng tên tập tin
Phần mở rộng tên tập tin
+0bh
+0bh
1
1
Thuộc tính tập tin
Thuộc tính tập tin

+0ch
+0ch
0ah
0ah
Dành riêng không sử dụng
Dành riêng không sử dụng
+16h
+16h
2
2
Thời gian tạo
Thời gian tạo
+18h
+18h
2
2
Ngày tạo
Ngày tạo
+1ah
+1ah
2
2
Số hiệu cluster đầu tiên
Số hiệu cluster đầu tiên
+1ch
+1ch
4
4
Kích thước tập tin (bytes)
Kích thước tập tin (bytes)


Hệ thống tập tin HĐH MSDOS
Hệ thống tập tin HĐH MSDOS
(tt)
(tt)

Byte đầu tiên của entry thể hiệc các thông tin sau:
Byte đầu tiên của entry thể hiệc các thông tin sau:
0: Entry này còn trống
0: Entry này còn trống
. : Thư mục cha
. : Thư mục cha
0E5 : Entry của tập tin này tạm thời bị xóa
0E5 : Entry của tập tin này tạm thời bị xóa
Ký tự bất kỳ : tên của một tập tin
Ký tự bất kỳ : tên của một tập tin

Diễn dải byte thuộc tính:
Diễn dải byte thuộc tính:
1: t p tin nậ ẩ
1: t p tin ch cậ ỉ đọ
1: t p tin h th ngậ ệ ố
1: Nhãn ađĩ
1: Th m c conư ụ
1: l u trư ữ

Hệ thống tập tin HĐH MSDOS
Hệ thống tập tin HĐH MSDOS
(tt)
(tt)

Diễn dải ngày tạo, giờ tạo
Diễn dải ngày tạo, giờ tạo
7bit: n mă 4bit : tháng 5bit: ngày
5bit: Giờ 6bit : Phút 5bit: giây

Hệ thống tập tin HĐH MSDOS
Hệ thống tập tin HĐH MSDOS
(tt)
(tt)
Cấu trúc dữ liệu cài đặt:
Cấu trúc dữ liệu cài đặt:

Bảng tham số đĩa
Bảng tham số đĩa
Typedef struct {
Typedef struct {
unsigned char
unsigned char
JMP[3];
JMP[3];


unsigned char
unsigned char
Ver[8];
Ver[8];


unsigned
unsigned

SecSiz;
SecSiz;


unsigned char
unsigned char
ClustSiz;
ClustSiz;


unsigned
unsigned
ResSec;
ResSec;


unsigned char
unsigned char
FatCnt;
FatCnt;


unsigned
unsigned
RootSiz;
RootSiz;


unsigned
unsigned

TotSec;
TotSec;


unsigned char
unsigned char
Media;
Media;


unsigned
unsigned
FatSiz;
FatSiz;


unsigned
unsigned
TrkSec;
TrkSec;


unsigned
unsigned
HeadCnt;
HeadCnt;


unsigned
unsigned

HidSec;
HidSec;
}EntryBPB;
}EntryBPB;

×