1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Nguyên lý hệ điều hành (handout): Chương 4 - Phạm Đăng Hải

36 20 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 1,3 MB

Nội dung

Bài giảng Nguyên lý hệ điều hành (handout): Chương 4 trang bị cho người học những kiến thức về quản lý hệ thống file trong hệ điều hành như: Hệ thống file, cài đặt hệ thống file, tổ chức thông tin trên đĩa từ, hệ thống FAT. Mời các bạn cùng tham khảo.

Hệ điều hành Notes NGUYÊN LÝ HỆ ĐIỀU HÀNH Phạm Đăng Hải haipd@soict.hust.edu.vn Bộ mơn Khoa học Máy tính Viện Công nghệ Thông tin & Truyền Thông Ngày 14 tháng năm 2020 c om / 108 an co Notes ng Chương 4: Quản lý hệ thống file du on g th Chương Quản lý hệ thống file cu u / 108 Chương 4: Quản lý hệ thống file Notes Giới thiệu Bộ nhớ (đĩa từ, băng từ, đĩa quang, ): dung lượng lớn cho phép lưu trữ lâu dài Được người dùng sử dụng lưu trữ liệu chương trình Dữ liệu chương trình lưu dạng file (tập tin/tệp) ⇒ Tạo nên hệ thống file Hệ thống file gồm phần riêng biệt Các file: Chứa liệu/chương trình hệ thống/người dùng Cấu trúc thư mục : Cung cấp thông tin file Hệ thống file lớn ⇒ Quản lý nào? Các thuộc tính file, thao tác cần phải cung cấp? Lưu trữ truy xuất liệu thiết bị lưu trữ nào? Phương pháp cung cấp không gian lưu trữ, quản lý vùng tự ⇒Khó khăn phải suốt với người dùng (tính thuận tiện) Các file liệu /chương trình sử dụng chung Đảm bảo tính tồn vẹn liệu loại bỏ truy nhập bất hợp lệ? Dữ liệu không lưu trữ tập trung ⇒ hệ thống file phân tán Truy nhập file từ xa, đảm bảo tính tồn vẹn / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Notes Nội dung Hệ thống file Cài đặt hệ thống file Tổ chức thông tin đĩa từ Hệ thống FAT Chương 4: Quản lý hệ thống file Hệ thống file Notes co Nội dung ng c om / 108 Hệ thống file Cài đặt hệ thống file Tổ chức thông tin đĩa từ Hệ thống FAT cu u / 108 du on g th an Chương 4: Quản lý hệ thống file Hệ thống file 1.1 Khái niệm file Notes Hệ thống file Khái niệm file Cấu trúc thư mục / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống file 1.1 Khái niệm file Notes Giới thiệu Thông tin lưu trữ nhiều phương tiện/thiết bị lưu trữ khác Ví dụ: Đĩa từ, băng từ, đĩa quang Thiết bị lưu trữ mơ mảng khối nhớ File tập thông tin ghi thiết bị lưu trữ File đơn vị lưu trữ hệ điều hành nhớ File bao gồm dãy bits, bytes, dòng, ghi, mang ý nghĩa định nghĩa người tạo Cấu trúc file định nghĩa theo loại file File văn bản: Chuỗi ký tự tổ chức thành dòng File đối tượng: Bytes tổ chức thành khối để chương trình liên kết (linker ) hiểu File thực thi: Chuỗi mã lệnh thực nhớ Chương 4: Quản lý hệ thống file Hệ thống file 1.1 Khái niệm file Notes Các thuộc tính file co Tên file (Name): Chuỗi ký tự (hello.c) Có thể xác định kiểu file dựa phần tên file Ví dụ: exe, com/ doc, txt/ c, jav, pas/ pdf, jpg, th A tạo file hello.c notepad hệ Windows B dùng emacs linux sửa lại file xác định tên hello.c an Thông tin lưu dạng người dùng đọc Có thể phân biệt chữ hoa/chữ thường Đảm bảo tính độc lập file với tiến trình, người dùng Định danh (Identifier ): Thẻ xác định file Kiểu (Type): Dùng cho hệ thống hỗ trợ nhiều kiểu file ng c om / 108 g Dựa kiểu, HĐH thao tác tập tin phù hợp on Thực file thực thi mà file nguồn sửa ⇒ Dịch lại Nháy đúp vào file văn (*.doc)⇒ Gọi word processor du Vị trí (Position): Trỏ tới thiết bị vị trí file Kích thước (Size): Kích thước thời/ tối đa file Bảo vệ (Protection): Điều khiển truy nhập: Ai đọc/ghi Thời gian (Time): Thời điểm tạo, sửa đổi, sử dụng cuối cu u / 108 Chương 4: Quản lý hệ thống file Hệ thống file 1.1 Khái niệm file Notes Các thuộc tính file (tiếp tục) Thuộc tính file lưu cấu trúc liệu: Bản ghi file Có thể chứa tên file định danh file; định danh file xác định thơng tin cịn lại Kích thước từ vài bytes lên tới kilobytes Các ghi file lưu giữ Thư mục file Kích thước đạt tới Megabytes Thường lữu trữ thiết bị nhớ Được đưa phần vào nhớ cần thiết Thư mục file hello.c vị trí hdh.pdf vị trí Bản ghi file hello.c / 108 hdh.pdf Không gian lưu trữ CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống file 1.1 Khái niệm file Notes Các thao tác Tạo file (Create) Ghi file (Write) Đọc file (Read ) Thay đổi vị trí file (Seek) Xóa file (Delete) Thu gọn file (Truncate) Chương 4: Quản lý hệ thống file Hệ thống file 1.1 Khái niệm file Notes Create(SoNT.dat) Thư mục file an SoNT.dat vị trí 19/04/2011 hello.c g Không gian lưu trữ th hello.c vị trí co Các thao tác : Tạo file ng c om 10 / 108 Cung cấp vùng trống nào? du Tạo phần tử thư mục file on Tìm vùng tự khơng gian lưu trữ hệ thống file Lưu tên file, vị trí file thơng tin khác cu u 11 / 108 Chương 4: Quản lý hệ thống file Hệ thống file 1.1 Khái niệm file Notes Các thao tác : Ghi file Write(SoNT.dat, Write(SoNT.dat, Write(SoNT.dat, Write(SoNT.dat, Thư mục file hello.c vị trí SoNT.dat vị trí 19/04/2011 kiemtra.pdf 17) 19) 23) 29) 17 19 23 29 wp wp wp wp hello.c Không gian lưu trữ Lời gọi hệ thống Write() yêu cầu tên file liệu ghi Dùng tên file, tìm kiếm file thư mục file Dựa vào trường vị trí, tìm vị trí file thiết bị lưu trữ Hệ thống lưu trỏ ghi (write pointer ) để vị trí ghi Con trỏ ghi thay đổi sau thao tác ghi 12 / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống file 1.1 Khái niệm file Notes Các thao tác : Đọc file Buf =Read(SoNT.dat) Thư mục file hello.c vị trí SoNT.dat vị trí 19/04/2011 kiemtra.pdf Buf Buf ::19 17 23 29 17 19 23 29 rprprprp hello.c Không gian lưu trữ Lời gọi hệ thống Read() yêu cầu tên file vùng đệm ghi KQ Dùng tên file, tìm kiếm file thư mục file Dựa vào trường vị trí, tìm vị trí file thiết bị lưu trữ Hệ thống lưu trỏ đọc (read pointer ) vị trí đọc Con trỏ đọc thay đổi sau thao tác đọc liệu Dùng trỏ cho thao tác đọc ghi: trỏ file Chương 4: Quản lý hệ thống file Hệ thống file 1.1 Khái niệm file Notes Delete(SoNT.dat) Thư mục file an kiemtra.pdf hello.c th SoNT.dat vị trí 19/04/2011 17 19 23 29 hello.c vị trí co Các thao tác : Xóa file ng c om 13 / 108 g Không gian lưu trữ du on Dùng tên file, tìm kiếm file thư mục file Vùng nhớ xác định trường vị trí kích thước giải phóng để sử dụng lại file khác Xóa phần tử tương ứng thư mục file Xóa logic / xóa vật lý cu u 14 / 108 Chương 4: Quản lý hệ thống file Hệ thống file 1.1 Khái niệm file Notes Các thao tác : Thay đổi vị trí file thu gọn file Thay đổi vị trí file Duyệt thư mục để tìm phần tử tương ứng Con trỏ file thay giá trị thích hợp Thao tác không yêu cầu hoạt động vào/ra Thu gọn file Được sử dụng người sử dụng muốn xóa nội dung file giữ nguyên thuộc tính Tìm kiếm file thư mục file Đặt kích thước file Giải phóng vùng nhớ dành cho file 15 / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống file 1.1 Khái niệm file Notes Các thao tác : Một số thao tác khác Ngoài thao tác bản, tồn nhiều thao tác khác Thêm liệu vào cuối file (append ) Lấy/đặt thông tin thuộc tính file Đổi tên file Có thể đảm bảo thơng qua thao tác Ví dụ copy file Tạo file Đọc liệu từ file cũ Ghi file Chương 4: Quản lý hệ thống file Hệ thống file 1.1 Khái niệm file Notes Các thao tác bản: Đóng mở file an Thao tác mở file: tìm kiếm file thư mục file Chép phần tử tương ứng vào bảng file mở Chứa thông tin file mở Dùng trỏ trả thao tác mở file Khi không sử dụng file cần phải đóng (close) file th Trả lại trỏ phần tử tương ứng file mở Khi có u cầu, HĐH tìm kiếm bảng file mở co Các thao tác file phải duyệt thư mục file ⇒ Lãng phí thời gian Để giải quyết, tiến trình phải thực mở file (open) trước thao tác với file ng c om 16 / 108 g HĐH loại bỏ phần tử tương ứng bảng file mở on Thao tác đóng/mỏ file môi trường đa người dùng Dùng loại bảng file mở: Cho tiến trình cho hệ thống Ghi lại số tiến trình mở file (File Open Counter ) cu u 17 / 108 du Tăng/Giảm đếm có tiến trình mở/đóng file Xóa p/tử tương ứng bảng file mở mức hệ thống đếm không Chương 4: Quản lý hệ thống file Hệ thống file 1.2 Cấu trúc thư mục Notes Hệ thống file Khái niệm file Cấu trúc thư mục 18 / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống file 1.2 Cấu trúc thư mục Notes Các phân vùng (Partition) Đĩa chia thành nhiều phân vùng Files Partitions, Minidisks, Volumes Disk Phân vùng A Thư mục Phân vùng B Thư mục Mỗi phân vùng xử lý vùng lưu trữ phân biệt Có thể chứa HĐH riêng Files Chương 4: Quản lý hệ thống file Hệ thống file 1.2 Cấu trúc thư mục Notes Các phân vùng (Partition) co Disk Thư mục an th Không quan tâm tới cách phân phối vật lý không gian đĩa cho files du on g Disk Files Phân vùng C Kết hợp vài đĩa thành cấu trúc logic lớn Người dùng quan tâm tới cấu trúc file thư mục logic ng c om 19 / 108 cu u 20 / 108 Chương 4: Quản lý hệ thống file Hệ thống file 1.2 Cấu trúc thư mục Notes Các thao tác với thư mục Mỗi phân khu lưu thông tin file Các thơng tin file lưu trữ thư mục thiết bị - thư mục Thư mục bảng chuyển cho phép ánh xạ từ tên (file) thành phần tử thư mục Thư mục cài đặt nhiều cách khác Yêu cầu thao tác chèn, tạo mới, xóa, duyệt danh sách Các thao tác Tìm kiếm file: Tìm phần tử ứng với file xác định Tạo file: Tạo file cần tạo phần tử thư mục Xóa file: Khi xóa file, xóa phần tử tương ứng thư mục Liệt kê thư mục: Liệt kê files nội dung phần tử tương ứng thư mục Đổi tên file: Thay đổi tên file, vị trí cấu trúc thư mục Duyệt hệ thống file: Truy nhập tất thư mục nội dung tất files thư mục (backup liệu lên băng từ) 21 / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống file 1.2 Cấu trúc thư mục Notes Thư mục mức Thư mục hdh.pdf test.c data.txt hello.c hello.exe Files Cấu trúc đơn giản nhất, file nằm thư mục Số người dùng số file lớn, khả trùng tên file cao Mỗi người dùng thư mục riêng Chương 4: Quản lý hệ thống file Hệ thống file 1.2 Cấu trúc thư mục Notes th an co Thư mục hai mức ng c om 22 / 108 on g Mỗi người sử dụng có thư mục riêng, làm việc với file duyệt thư mục riêng Khi log in, hệ thống kiểm tra cho phép người sử dụng làm việc với thư mục riêng Khi thêm người dùng du Hệ thống tạo phần tử Master file directory Tạo User file directory Giả v/đề trùng tên; Hiệu người dùng độc lập Khó khăn muốn dùng chung file cu u 23 / 108 Chương 4: Quản lý hệ thống file Hệ thống file 1.2 Cấu trúc thư mục Notes Thư mục cấu trúc Tồn đường dẫn (tương đối/tuyệt đối) đến file Thư mục file xử lý đặc biệt (bit đánh dấu) Các thao tác tạo/xóa/duyệt t/hiện thư mục thời Xóa thư mục ⇒ Xóa hết 24 / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống file 1.2 Cấu trúc thư mục Notes Thư mục dùng chung Người dùng link đến file người dùng khác Khi duyệt thư mục (backup) file duyệt nhiều lần Xóa file: liên kết/ nội dung (người tạo file /liên kết cuối) Chương 4: Quản lý hệ thống file Cài đặt hệ thống file Notes co Nội dung ng c om 25 / 108 Hệ thống file Cài đặt hệ thống file Tổ chức thông tin đĩa từ Hệ thống FAT du on g th an cu u 26 / 108 Chương 4: Quản lý hệ thống file Cài đặt hệ thống file 2.1 Cài đặt thư mục Notes Cài đặt hệ thống file Cài đặt thư mục Các phương pháp phân phối vùng lưu trữ Quản lý vùng lưu trữ tự 27 / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Cài đặt hệ thống file 2.1 Cài đặt thư mục Notes Phương pháp Danh sách tuyến tính với trỏ tới khối liệu Đơn giản cho lập trình Tốn thời gian thực thao tác với thư mục Phải duyệt toàn danh sách ⇐ Dùng nhị phân? Bảng băm - Bảng băm với danh sách tuyến tính Giảm thời gian duyệt thư mục Địi hỏi có hàm băm hiệu h(Name) = Len(Name) i=1 ASCII (Name[i]) Table_Size Vấn đề đụng độ ← hàm băm trả kết với tên file khác Vấn đề kích thước cố định → Tăng kích thước phải tính toán lại phần tồn Chương 4: Quản lý hệ thống file Cài đặt hệ thống file 2.1 Cài đặt thư mục Notes bt.c de1.pdf an hdh.pdf cu u 29 / 108 du on g th hello.c co Danh sách tuyến tính ng c om 28 / 108 Chương 4: Quản lý hệ thống file Cài đặt hệ thống file 2.1 Cài đặt thư mục Notes Bảng băm 30 / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Tổ chức thông tin đĩa từ 3.2 Cấu trúc logic đĩa Notes Ví dụ bảng phân chương mở rộng Chương 4: Quản lý hệ thống file Tổ chức thông tin đĩa từ 3.2 Cấu trúc logic đĩa Notes cu u 65 / 108 du on g th an co Ví dụ bảng phân chương mở rộng ng c om 64 / 108 Chương 4: Quản lý hệ thống file Tổ chức thông tin đĩa từ 3.2 Cấu trúc logic đĩa Notes Ví dụ bảng phân chương mở rộng 66 / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Tổ chức thông tin đĩa từ 3.2 Cấu trúc logic đĩa Notes Global Unique Identifier Partation Table - GPT LBA: Logical Block Addressing UEFI: Unified Extensible Firmware Interfafe BIOS : Basic Input Output System Địa sector bị giới hạn 32 bit ⇒ Kích thước phân vùng bị giới hạn GPT LBA 0: Protective Master Boot Record LBA 1: Header GPT LBA 2→33: Bảng phân chương, chiếm 32 sector Gồm 128 phần tử, phần tử 128 byte Sử dụng byte để ghi đia (LBA) đầu cuối phân vùng LBA 34 → : Các phân vùng LBA -33 → -2 32 sector, backup cho bảng phân chương LBA -1 Sector cuối, backup cho Header GPT Chương 4: Quản lý hệ thống file Hệ thống FAT Notes co Nội dung ng c om 67 / 108 Hệ thống file Cài đặt hệ thống file Tổ chức thông tin đĩa từ Hệ thống FAT du on g th an cu u 68 / 108 Chương 4: Quản lý hệ thống file Hệ thống FAT Notes Các hệ thống file Tồn nhiều hệ thống file khác Hệ thống FAT FAT 12/ FAT16 dùng cho MSDOS FAT32 dùng từ WIN98 12/16/32: Số bit dùng để định danh cluster Hệ thống NTFS Sử dụng WINNT, WIN2000 Dùng 64 bit để xác định cluster Ưu việt FAT bảo mật, mã hóa, nén liệu, Hệ thống EXT3 Sử dụng Linux Hệ thống CDFS Hệ thống quản lý file CDROM Hạn chế độ sâu thư mục kích thước tên Hệ thốngs UDF Phát triển từ CDFS cho DVD-ROM, hỗ trợ tên file dài 69 / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống FAT Notes Cấu trúc phân vùng cho FAT FAT12/16 Số cluster lớn FAT12: 212 − 18; FAT 16 : 216 − 18 K/thước max: FAT12: 32MB; FAT16: 2GB/4GB (32K/64K Cluster) FAT32 Chỉ dùng 28 bit ⇒ Số cluster lớn 228 − 18 K/thước max: 2TB/8GB/16TB (8KB/32KB/64KB Cluster) Cấu trúc logic hệ thống FAT Vùng liệu FAT16 Vùng hệ thống BS FAT1 FAT2 ROOT FILES Cluster FAT32 BS ROOT Vùng liệu Vùng hệ thống Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector co Notes ng c om 70 / 108 FAT1 FAT2 Hệ thống FAT an Boot sector th Bảng FAT (File Allocation Table) du on g Thư mục gốc cu u 71 / 108 Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector Notes Cấu trúc Jmp xx Bảng Tham số Chương trình mồi 55AA Sector phân vùng Cấu trúc gồm phần 72 / 108 Bảng tham số đĩa (BPB: Bios Parameter Block) Chương trình mồi (Boot strap loader ) Chữ ký hệ thống (luôn 55AA) CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector Notes Cấu trúc bảng tham số đĩa - Phần chung Stt 10 11 12 13 14 Ofs 11 13 14 16 17 19 21 22 24 26 28 32 Kt 3B 8B 1W 1B 1W 1B 1W 1W 1B 1W 1W 1W 1DW 1DW Giá trị mẫu EB 3C 90 MSDOS5.0 00 02 40 01 00 02 00 02 00 00 F8 D1 09 3F 00 40 00 3F 00 00 00 41 0C 34 00 Ý nghĩa Nhảy đến đầu chương trình mồi Tên hệ thống file format đĩa K/thước sector, thường 512 Số sector cho cluster (32K-Cluster ) Số scts đứng trước FAT/Số scts để dành Số bảng FAT Số phần tử ROOT FAT32: 00 00 sector đĩa (< 32M) 0000 Khuôn dạng đĩa (F8:HD, F0: Đĩa1.44M) Số sector cho bảng FAT(209 ) Số sector cho rãnh (63 ) Số đầu đọc ghi (64 ) Số sector ẩn- Sectors trước volume (63 ) Tổng số sector đĩa (3411009 ) Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector Notes 62 - Giá trị mẫu 80h 00 29h D513 5B24 NO NAME FAT16 Ý nghĩa Số hiệu ổ đĩa vật lý 0: ổ A; 80h: ổ C Để dành/Byte cao cho trường #ổ đĩa Boot sector mở rộng 29h Volumn Serial number(245B-13D5) Volumn Label: nhãn đĩa (không dùng ) Để dành, thường đoạn text miêu tả dạng FAT Bootstrap loader an 21 Kt 1B 1B 1B 1DW 11B 8B th Ofs 36 37 38 39 43 54 g Stt 15 16 17 18 19 20 co Cấu trúc bảng tham số đĩa - Phần dành cho FAT12/FAT16 ng c om 73 / 108 cu u 74 / 108 du on Ví dụ Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector Notes Ví dụ giả mã bảng tham số đĩa FAT16 Mã BPB bảng mở rộng: diện FAT khuôn 29h dạng đĩa: F8mục MSDOS5.0 Tổng số sector Volume: 125889 (≈64MB) 2OEName: Volume sector cho 1chương number: cluster 70D4-EAA6 Bắt Có Số sector đầu hiệu 62nhận tối đầu sector đa đọc ổserial cho 512 đĩa ghi: đứng vật phần 255 lý: trước bảng tử 00 trình bảng 00 FAT thư :FAT 245 thứ gốc rãnh: 63mồi Đĩa Nhãn lớn đĩa: NO 32MB NAME Kích thước sector: 512 Kiểu FAT: ẩn: FAT16 63 Jmp+3C 75 / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector Notes Cấu trúc bảng tham số đĩa - Phần dành cho FAT32 Stt 15 16 17 18 19 20 21 22 23 24 25 26 27 Ofs 36 40 42 44 48 50 52 64 65 66 67 71 82 Kt 1DW 1W 1W 1DW 1W 1W 12B 1B 1B 1B 1DW 11B 8B Giá trị mẫu C9 03 00 00 00 00 00 00 02 00 00 00 01 00 06 00 00 00 00 00 29 62 0E 18 66 NO NAME FAT32 Ý nghĩa Tổng số sector cho bảng FAT Flags: #FAT chính(Khơng dùng ) Version: Phiên FAT32 (Không dùng ) Số hiệu cluster bắt đầu ROOT #sector chứa File System information Số hiệu sector dùng backup Bootsector Để dành Số hiệu ổ đĩa vật lý 0: ổ A; 80h: ổ C Để dành/Byte cao cho trường #Driver Boot sector mở rộng Ln có giá trị 29h Volumn Serial number Volumn Label: Nhãn đĩa (Ko s/dụng ) Để dành, thường đoạn text miêu tả dạng FAT Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector Notes cu u 77 / 108 du on g th an co Ví dụ Boot sector hệ thống dùng FAT32 ng c om 76 / 108 Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector Notes Kết giải mã hệ thống FAT32 chương trình 78 / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector Notes File System Information Sector Thường Sector thứ Volume Ngay sau Boot sector (Sector số hiệu 1) Cấu trúc Stt Ofs Size 1DW 484 480B 1DW 488 492 496 508 510 1DW 1DW 12B 2B 2B Ý nghĩa Chữ ký thứ FSInfo sector Giá trị byte theo thứ tự: 52h 52h 61h 41h Không rõ, thường chứa giá trị 00 Chữ ký File System Information Sector Giá trị byte theo thứ tự: 72h 72h 41h 61h Số cluster tự -1 không xác định Số hiệu cluster vừa cung cấp Để dành Không xác định, thường Chữ ký Bootsector Có giá trị 55 AA Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector Notes du on g th an co File system information sector volume dùng FAT32 ng c om 79 / 108 cu u 80 / 108 Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector Notes Cấu trúc bảng tham số đĩa cho hệ thống NTFS Stt 10 11 12 13 14 Ofs 11 13 14 16 17 19 21 22 24 26 28 32 Kt 3B 8B 1W 1B 1W 1B 1W 1W 1B 1W 1W 1W 1DW 1DW Giá trị mẫu EB 52 90 NTFS 00 02 08 00 00 00 00 00 00 00 F8 00 00 3F 00 FF 00 3F 00 00 00 00 00 00 00 Ý nghĩa Nhảy đến đầu chương trình mồi Tên hệ thống file format đĩa Bytes per Sector Sectors per Cluster (4K-Cluster ) Reserved sectors Allways zero Allways (FAT: Số bảng FAT) Allways (FAT: Số p/tử ROOT) Not used by NTFS (FAT:K/thước đĩa) Media Type Allway (FAT:Sectors cho FAT) Sector per Track (63 ) Number of Head (255 ) Hidden sectors (63 ) Not used by NTFS (FAT: sectors) 81 / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector Notes Cấu trúc bảng tham số đĩa cho hệ thống NTFS Stt 15 Ofs 36 Kt 1DW Giá trị mẫu 80 00 80 00 16 40 1LCN 17 48 1LCN 18 56 1LCN 19 20 21 64 68 72 1DW 1DW 1LCN 2B 92 00 00 00 00 00 00 0C 00 00 00 22 09 20 00 00 00 F6 00 00 01 00 00 22 23 80 84 1DW - 02 00 00 00 00 00 00 00 A6 CA D7 C6 00 D8 6C 24 00 00 00 00 Ý nghĩa Not used by NTFS(FAT:Tổng số sectors cho FAT) Total sectors (LCN:LONGLONG ) (33591851 ) Logical cluster number for MFT (786432 ) Logical #cluster for MFT mirroring (2099490 ) Clusters per file record segment (246) Clusters per index block (1) Volume serial number 246C-D800-C6D7-CAA6 Checksum Bootstrap loader Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector Notes cu u 83 / 108 du on g th an co Boot sectors đĩa dùng NTFS ng c om 82 / 108 Chương 4: Quản lý hệ thống file Hệ thống FAT 4.1 Boot sector Notes Giải mã bảng tham số đĩa dùng NTFS 84 / 108 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống FAT 4.2 Bảng FAT Notes Hệ thống FAT Boot sector Bảng FAT (File Allocation Table) Thư mục gốc Chương 4: Quản lý hệ thống file Hệ thống FAT 4.2 Bảng FAT Notes co Mục đích ng c om 85 / 108 an FAT sử dụng để quản lý khối nhớ (blocks/clusters) vùng liệu nhớ lưu trữ Khối nhớ sử dụng Phân phối cho file/thư mục th Khối nhớ tự g Khối nhớ bị hỏng du on Thực ? cu u 86 / 108 Chương 4: Quản lý hệ thống file Hệ thống FAT 4.2 Bảng FAT Notes Phương pháp FAT gồm nhiều phần tử Mỗi phần tử 12bit, 16bit, 32bit Mỗi phần tử ứng với khối (cluster ) vùng liệu phần tử đầu (0,1) có ý nghĩa đặc biệt Khuôn dạng đĩa, Bit shutdown, Bit diskerrror Phần tử thứ ứng với cluster đầu phần Data FAT 10 Special values #2 87 / 108 #3 #4 #5 #6 #7 #8 #9 DATA CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 4: Quản lý hệ thống file Hệ thống FAT 4.2 Bảng FAT Notes Cài đặt Mỗi phần tử bảng FAT mang giá trị đặc trưng cho tính chất cluster tương ứng FAT[(32)16]12 [(0000)0]000h [(0000)0]001h [(0000)0]002h →[(0FFF)F]FEFh [(0FFF)F]FF0h →[(0FFF)F]FF6h [(0FFF)F]FF7h [(0FFF)F]FF8h→ →[(0FFF)F]FFFh Ý nghĩa Cluster tương ứng tự Giá trị không sử dụng Cluster sử dụng Giá trị đóng vai trị trỏ, trỏ tới cluster file Các giá trị để dành, chưa sử dụng Đánh dấu cluster tương ứng bị hỏng Cluster đc sử dụng cluster cuối file (EOC:End Of Cluster chain) Thực tế thường dùng giá trị [(0FFF)F]FFFh Chương 4: Quản lý hệ thống file Hệ thống FAT 4.2 Bảng FAT Notes Liên kết cluster Time Date 008 TXT A FAT 10 11 12 13 14 15 16 17 18 19 03 04 05 FFF 00 00 09 10 12 FF7 15 00 00 16 FFF 00 21 FFF th Special values Size an ABC co Root entry ng c om 88 / 108 #4 #5 #6 #7 #8 #12 #13 #14 #15 #16 #17 #18 #9 #19 #20 #11 #21 cu u 89 / 108 #10 on #3 du #2 g DATA Chương 4: Quản lý hệ thống file Hệ thống FAT 4.2 Bảng FAT Notes Ví dụ: Đọc sector FAT32 #include #include int main(int argc, char *argv[]){ HANDLE hDisk; BYTE Buf[512]; DWORD FAT[128]; WORD FATAddr; DWORD byteread, i; hDisk = CreateFile("\\\\.\\F:", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,0,NULL); ReadFile(hDisk,Buf,512,&byteread,NULL); memcpy(&FATAddr,&Buf[14],2);//Offset 14 Sector truoc FAT SetFilePointer(hDisk,FATAddr * 512, NULL,FILE_BEGIN); ReadFile(hDisk,FAT,512,&byteread,NULL); for(i=0;i

Ngày đăng: 19/06/2021, 10:18

TỪ KHÓA LIÊN QUAN

w