Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
2,5 MB
Nội dung
Mơn học: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt • • • • • • Giới thiệu hệ thống tập tin FAT Vùng Boot Sector Bảng thư mục gốc (RDET) Bảng FAT Vùng liệu Bảng thư mục CuuDuongThanCong.com https://fb.com/tailieudientucntt • FAT hệ thống tập tin sử dụng HĐH MS-DOS Windows 9x (trên Windows họ NT có thêm hệ thống NTFS) • Có loại FAT – FAT12 – FAT16 – FAT32 • Tổ chức thành vùng – Vùng hệ thống • Vùng Boot Sector • Bảng FAT • Bảng thư mục gốc (có thể nằm vùng liệu) – Vùng liệu Boot sector File allocation table File allocation table (duplicate) Root directory Other directories and all files CuuDuongThanCong.com https://fb.com/tailieudientucntt • Gồm số sector phân vùng (partition), đó: – Sector (Boot Sector): • Chứa thông số quan trọng phân vùng • Chứa đoạn chương trình nhỏ để nạp HĐH khởi động máy – Các sector lại (nếu có): • Chứa thơng tin hỗ trợ cho việc xác định tổng số cluster trống & tìm kiếm cluster trống hiệu • Chứa sector Boot sector CuuDuongThanCong.com https://fb.com/tailieudientucntt CuuDuongThanCong.com https://fb.com/tailieudientucntt CuuDuongThanCong.com https://fb.com/tailieudientucntt • Nằm vùng hệ thống (FAT12 & FAT16) nằm vùng liệu (FAT32) • Gồm dãy phần tử (gọi entry), phần tử có kích thước 32 bytes chứa thơng tin tập tin thư mục • Thơng tin tập tin/ thư mục chiếm hay nhiều entry • Byte entry cho biết trạng thái entry – – entry trống – E5h – tập tin chiếm entry bị xóa – Giá trị khác – chứa thơng tin tập tin/ thư mục • Có loại entry – Entry chính: chứa thơng tin tập tin – Entry phụ: chứa tên tập tin CuuDuongThanCong.com https://fb.com/tailieudientucntt … Entry 32 bytes Entry phụ N 32 bytes … Entry phụ Entry phụ Entry Entry … CuuDuongThanCong.com https://fb.com/tailieudientucntt Offset (hex) Số byte Ý nghĩa Tên /tên ngắn - lưu mã ASCII Tên mở rộng – mã ASCII B Thuộc tính trạng thái (0.0.A.D.V.S.H.R) C Dành riêng D Giờ tạo (miligiây:7; giây:6; phút:6; giờ:5) 10 Ngày tạo (ngày: 5; tháng: 4; năm-1980: 7) 12 Ngày truy cập gần (lưu trên) 14 Cluster bắt đầu – phần Word (2Byte) cao 16 Giờ sửa gần (giây/2:5; phút:6; giờ:5) 18 Ngày cập nhật gần (lưu trên) 1A Cluster bắt đầu – phần Word thấp 1C Kích thước phần nội dung tập tin CuuDuongThanCong.com https://fb.com/tailieudientucntt Offset Số byte Ý nghĩa Thứ tự entry (bắt đầu từ 1) A (10d) ký tự UniCode – bảng mã UTF16 B (11d) Dấu hiệu nhận biết (luôn 0Fh) E (14d) C (12d) ký tự 1C (28d) ký tự 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Mỗi phần tử vùng liệu, gọi cluster, có kích thước 2n sector, tùy thuộc vào người dùng format • Cluster vùng liệu đánh số từ • Cơng thức tương quan cluster thứ k vùng liệu sector thứ i phân vùng i = SB + SF*NF + [SRDET] + (k – 2)*Sc 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Chứa thông tin tập tin/ thư mục thư mục • Nằm vùng liệu, có cấu trúc hồn tồn giống bảng thư mục gốc • Mỗi SDET ln có entry „.„ „ „ đầu bảng mơ tả thư mục thư mục cha 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt 32 bytes Entry 32 bytes Entry phụ N … Entry phụ Entry phụ Entry Entry … 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Đọc nội dung tập tin (TYPE) – Xác định entry bảng thư mục (RDET/ SDET) chứa thông tin tập tin dựa vào phần tên phần mở rộng (lưu ý trường hợp tên dài) – Từ entry tìm được, ta có số cluster/ phần tử FAT – Từ phần tử FAT này, vào bảng FAT, xác định phần tử lại tập tin, tương ứng có cluster tập tin sector tập tin – Đọc sector nội dung tập tin 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Liệt kê nội dung thư mục (DIR) – Xác định entry bảng thư mục (RDET/ SDET) chứa thơng tin thư mục dựa vào phần tên (lưu ý trường hợp tên dài) – Từ entry tìm được, ta có số cluster/ phần tử FAT – Từ phần tử FAT này, vào bảng FAT, xác định phần tử lại tập tin, tương ứng có cluster tập tin sector tập tin – Đọc sector nội dung tìm theo entry (32 bytes) hiển thị thông tin tập tin thư mục thư mục 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Tạo tập tin (COPY CON) – Tìm đủ số entry trống liên tiếp bảng thư mục (RDET/ SDET) để chứa thông tin tập tin (lưu ý trường hợp tên dài) – Kiểm tra bảng FAT xem đủ số cluster trống để chứa nội dung tập tin không – Lưu thông tin tập tin vào entry trống tìm – Ghi giá trị vào phần tử FAT trống tìm theo dạng danh sách liên kết, đồng thời lưu nội dung tập tin vào cluster tương ứng (theo số sector) 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Tạo thư mục (MD) – Tìm đủ số entry trống liên tiếp bảng thư mục (RDET/ SDET) để chứa thông tin thư mục (lưu ý trường hợp tên dài) – Kiểm tra bảng FAT xem cluster trống để chứa nội dung thư mục không – Lưu thông tin thư mục vào entry trống tìm – Ghi giá trị kết thúc vào phần tử FAT trống tìm được, đồng thời tạo thư mục “.” “ ” chiếm entry cluster tương ứng 21 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Xóa tập tin (DELETE) – Xác định entry bảng thư mục (RDET/ SDET) chứa thông tin tập tin dựa vào phần tên phần mở rộng (lưu ý trường hợp tên dài) – Đặt giá trị E5h vào byte entry tất entry phụ tập tin (nếu có) – Từ entry tìm được, ta có số cluster/ phần tử FAT Vào bảng FAT, xác định phần tử lại tập tin – Đặt tất phần tử FAT tập tin giá trị – Lưu ý, hồn tồn khơng thay đổi phần nội dung tập tin 22 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Xóa thư mục (RD) – Thực xóa đệ qui tất tập tin thư mục từ cấp sâu Xóa thư mục rỗng tương tự xóa tập tin 23 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Sao chép tập tin (COPY) – Tìm đủ số entry trống liên tiếp bảng thư mục (RDET/ SDET) để chứa thông tin tập tin đích (lưu ý trường hợp tên dài) – Kiểm tra bảng FAT xem đủ số cluster trống để chứa nội dung tập tin đích không – Copy thông tin (các entry) tập tin nguồn sang entry tìm tập tin đích – Ghi giá trị vào phần tử FAT trống tìm theo dạng danh sách liên kết, đồng thời copy sector nội dung tập tin nguồn vào sector nội dung tương ứng tìm tập tin đích 24 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Di chuyển tập tin (MOVE) – Tìm đủ số entry trống liên tiếp bảng thư mục (RDET/ SDET) để chứa thông tin tập tin đích (lưu ý trường hợp tên dài) – Copy thông tin (các entry) tập tin nguồn sang entry tìm tập tin đích – Xóa thơng tin tập tin nguồn 25 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Đổi tên tập tin/ thư mục (REN) – Xác định entry bảng thư mục (RDET/ SDET) chứa thơng tin tập tin/ thư mục dựa vào phần tên phần mở rộng (lưu ý trường hợp tên dài) – Nếu tên tập tin không cần thêm entry phụ • Cập nhật lại phần tên phần mở rộng – Nếu tên tập tin cần thêm entry phụ • Tìm đủ số entry trống liên tiếp bảng thư mục (RDET/ SDET) để chứa thông tin tập tin đích (lưu ý trường hợp tên dài) • Copy thông tin (các entry) tập tin nguồn sang entry tìm tập tin đích 26 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Quick format – Giữ lại thơng số cũ phân vùng, – Cập nhật lại trạng thái cluster chứa liệu thành trống cho tất entry bảng thư mục gốc trạng thái trống – Chức tương đương với việc xóa tất tập tin & thư mục tồn phân vùng, thời gian thi hành nhanh, nhanh thời gian xóa tập tin • Full format – Các thơng số thành phần phân vùng xác định lại – Để tạo dạng thức phù hợp cho phân vùng Chức dĩ nhiên dùng cho phân vùng chưa định dạng 27 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Xét đĩa mềm 1.44MB (có 2880 sector), để tập tin vol truy xuất nhanh & an tồn ta cho SC = (sector), SB = (sector), SR = 32 (entry) = (sector), nF = Thay giá trị vào đẳng thức SB + nF*SF +SR + SD = SV ta + 2SF +2 + SD = 2880 (sector), hay 2SF + SD = 2877 (sector) (*) SD < 2877 (sector) = 719.25 (cluster) (vì SC = sector) Loại FAT tối ưu (về kích thước) FAT12, SD < 4079 (cluster) (*) - Giả sử SF = (sector): (*) SD = 2875 (sector) = 718.75 (cluster) Vùng liệu có 718 cluster, nên bảng FAT phải có 718 + = 720 phần tử, SF = (720*1.5)/512 = 2.1x (sector) Bảng FAT phải chiếm sector – mâu thuẫn với giả thiết SF = Vậy kích thước bảng FAT vol khơng thể sector - Giả sử SF = (sector): tương tự, ta thấy mâu thuẫn, tức kích thước bảng FAT phải lớn sector - Giả sử SF = (sector): (*) SD = 2871 (sector) = 717.75 (cluster) Vùng liệu có 717 cluster, nên bảng FAT phải có 717 + = 719 phần tử, SF = (719*1.5)/512 = 2.1x (sector) Bảng FAT phải chiếm sector – phù hợp với giả thiết SF = Vậy kích thước bảng FAT vol sector 28 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Một bảng FAT gọi bị phân mảnh xảy điều kiện sau: – Các phần tử FAT tập tin không liên tiếp – Các phần tử FAT tập tin không liên tiếp Truy xuất chậm Defragmentation 29 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... /tên ngắn - lưu mã ASCII Tên mở rộng – mã ASCII B Thuộc tính trạng thái (0.0.A.D.V.S.H.R) C Dành riêng D Giờ tạo (miligiây:7; giây:6; phút:6; giờ:5) 10 Ngày tạo (ngày: 5; tháng: 4; năm-1980: 7)... SF = Vậy kích thước bảng FAT vol khơng thể sector - Giả sử SF = (sector): tương tự, ta thấy mâu thuẫn, tức kích thước bảng FAT phải lớn sector - Giả sử SF = (sector): (*) SD = 2871 (sector) =... 719.25 (cluster) (vì SC = sector) Loại FAT tối ưu (về kích thước) FAT12, SD < 4079 (cluster) (*) - Giả sử SF = (sector): (*) SD = 2875 (sector) = 718.75 (cluster) Vùng liệu có 718 cluster, nên