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

Báo cáo Đồ án quản lý hệ thống tập tin

17 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Quản Lý Hệ Thống Tập Tin
Tác giả Lê Thành Nam, Nguyễn Xuân Quân, Nguyễn Viết Thái, Nguyễn Thị Châu Ngọc
Người hướng dẫn TS. Lê Viết Long
Trường học Trường Đại Học Khoa Học Tự Nhiên – Đhqghcm
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo đồ án
Năm xuất bản 2023
Thành phố TP.HCM
Định dạng
Số trang 17
Dung lượng 3,58 MB

Nội dung

Hàm readBufferbuffer, offset, size = 1: đọc buffer được truyền vào tại vị trí offset, đọc từ offset đến offset + size, trả về giá trị làm mảng các giá trị bytes đọc được Hàm readNumBuff

Trang 1

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN –

ĐHQGHCM KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN: QUẢN LÝ HỆ TH ỐNG TẬP TIN

Giáo viên hướng dẫn: TS Lê Viết Long

Sinh viên thực hiện: 20120138 Lê Thành Nam

20120555 Nguyễn Xuân Quân

20120187 Nguyễn Viết Thái

20120146 Nguyễn Thị Châu Ngọc

TP.HCM, Ngày 10 tháng 4 năm 2023

Trang 2

1

M ỤC L C

I CÁC BƯỚC CHUẨN BỊ(tạo ổ đĩa ảo) 3

II Đọc FAT32 và NTFS 8

III Giao diên UI 11

IV Demo Chương trình 12

Trang 3

2

BẢNG PHÂN CÔNG NHIỆM VỤ

MSSV HỌ VÀ TÊN NHIỆM VỤ TIẾN ĐỘ HOÀN THÀNH

20120138 Lê Thành Nam • Đọc NTFS

• In nội dụng file

• Tổng hợp báo cáo

• Chương trình hiển thị trạng thái kích thước(nếu có), chỉ số sector lưu trữ trên đĩa cứng

100%

20120555 Nguyễn Xuân

Quân • Đọc FAT32• Làm giao diện

• Demo chương trình

• Chương trình hiển thị trạng thái kích thước(nếu có), chỉ số sector lưu trữ trên đĩa cứng

100%

20120146 Nguyễn Thị Châu

Ngọc • Đọc FAT32• Chương trình hiển thị

cây thư mục gồm tập tin/ thư mục

100%

20120187 Nguyễn Viết Thái • Đọc NTFS

• Làm giao diện 100%

Trang 4

3

I CÁC BƯỚC CHUẨN BỊ(tạ ổ đĩa ảo) o

Bước 1: click chuột phải vào this PC, chọn manage:

Bước 2: click phải vào Disk Management, chọn create VHD

Trang 5

4

expanding trước khi nhấn oke

Trang 6

5

hiện lên sau đó nhấn OK

Bước 5: Click phải vào vùng khoanh đỏ rồi chọn New simple volume

Trang 7

6

nhấn finish để hoàn tất tạo ổ đĩa

Trang 8

7 Bước 8: Xem kết quả

Trang 9

8

II Đọc FAT32 và NTFS

Giải thích hàm

Hàm hexToDec(hex: str): trả về giá trị int ở hệ cơ số 10, dùng để hỗ ợ tr xuất thông tin volume

Hàm readSectors(file, sectorStart, numberSector, bytesPersector = 512): đọc từ

sector thứ sectorStart đế sector sectorStart+ numberSector, trả về bytes đọc n được

Hàm readBuffer(buffer, offset, size = 1): đọc buffer được truyền vào tại vị trí offset,

đọc từ offset đến offset + size, trả về giá trị làm mảng các giá trị bytes đọc được

Hàm readNumBuffer(buffer, offset, size): Tham số truyền vào là mảng buffer được

đảo ngược thứ tự (buffer[: :-1]), khi truyền tham số offset ta sẽ thêm tiền tố 0x nếu file tổ ức theo hệ ch 16

Phần thực thi

Dựa vào lý thuyết được dạy và tham khảo, ta thức hiện đọc các thông tin Volume trong bootSector đối với FAT32 và trong partition bootSector đối với NTFS Đầu tiên, ta xác định ổ đĩa ở tổ ức FAT32 hay NTFS, đối với FAT32 thì ch thông tin nằ ở vị trí 52 gồm 8 offset, với NTFS thì nằ ở vị trí thứ 3 gồm 4 offsetm m bootSectorBuffer = readSectors(f, 0, 1)

FAT32 = readBuffer(bootSectorBuffer, 0x52, 8)

NTFS = readBuffer(bootSectorBuffer, 3, 4)

Đối với FAT32, ta đọc thông tin vùng boot sector:

Sau khi xác định được loại ổ đĩa, nếu là FAT32 ta sẽ tiến hành đọc ổ đĩa dựa trên các

vị trí các byte trên ổ đĩa Ta sẽ tiến hành đọc 11 loại thông tin của vùng boot sector gồm:

1 Loại ổ đĩa

2 Số bytes / sector

3 Số sector / cluster

4 Số sector dành riêng

Trang 10

9

5 Số lượng bảng FAT

6 Tổng số sector trên đĩa

7 Số sector / FAT

8 Số sector của RDET

9 Sector đầu tiên của FAT1

10 Sector đầu tiên RDET

11 Sector đầu tiên của vùng dữ liệu

Việc đọc tương ứng với đọc code sau:

Đối với NTFS:

giống với FAT32, tuy nhiên vị trí các thông tin Volume sẽ khác với FAT32 # Đọc partition boot sector

partition = readSectors(f, 0, 1)

# Số byte trên sector

Trang 11

10

byteSector = readNumBuffer(partition, 0x0B, 2)

# Số sector của cluster

cluster = readNumBuffer(partition, 0x0D, 1)

# Số sector trước bảng FAT

sectorBeforeNTFS = readNumBuffer(partition, 0x0E, 2)

# Đọc tổng sector trong Volume

numSectorNTFS = readNumBuffer(partition, 0x28, 8)

# Vị trí bắt đầu của MFT

beginMFT = cluster * \

readNumBuffer(partition, 0x30, 8)

# In các thông số

values += '\nThông tin volume:\n'

values += '\nSố byte/sector::' + str(byteSector)

values += '\nSố sector của cluster (Sc):' + str(cluster)

values += '\nSố sector trước bảng NTFS (Sb):' + \

str(sectorBeforeNTFS)

values += '\nSố sector trong volume (nv):' + str(numSectorNTFS)

values += '\nVị trí bắt đầu của MFT:' + str(beginMFT)

textArea.insert(END, values)

Trang 12

11

III Giao diên UI

Bước 1: Tạo khung chương trình bằng thư viện tkinter

Bước 2: Chia thành 2 frames:

Frame 1: Hiển thị thanh tiêu đề và thanh nhập

• Thanh tiêu đề: hiện thị tên chương trình “Chương trình đọc tập tin FAT /

NTFS”

• Thanh nhập: hiển thị dòng chữ mờ “Nhập thư mục FAT / NTFS” để

người dùng biết thanh nhập đó cần nhập gì Khi người dùng nhập vào thanh nhập thì dòng chữ mờ mất, trỏ chuột trỏ đến đầu thanh nhập Frame 2: Tạo các nút chức năng và phần hiện thị nội dung sau khi sử dụng các chức năng

• Nút “Run”: Lấy đường dẫn ổ đĩa rồi xác định xem ô đĩa nhập vào có định dạng FAT32 hay NTFS để thực hiện đọc thông tin phân vùng Nếu ổ đĩa có định dạng FAT32 thì đọc thông tin được mô tả trong Boot Sector, còn nếu ổ đĩa có định dạng NTFS thì đọc thông tin được mô tả trong

Trang 13

12

Partition Boot Sector Có thể sử dụng “Enter” từ bàn phím thay cho nút

“Run”

• Nút “Folder Tree”: Chương trình hiển thị cây thư mục gốc gồm tên tập

tin / thư mục

• Nút “Print File”: Hiển thị thông tin là nội dung tập tin đối với tập tin có

phần mở rộng là txt, các loại tập tin khác hiển thị thông báo dùng phần mềm tương thích để đọc nội dung Trường hợp đối tượng là thư mục, chương trình cho phép hiển thị cây thư mục con

• Nút “Exit”: Xuất thông báo kết thúc chương trình, nếu bấm “Yes” thì đóng chương trình, nếu bấm “No” thì chương trình sẽ không đóng

• Phần hiển thị nội dung: Sau khi nhấn các nút chức năng thì chương trình

sẽ in nội dung của từng chức năng xuống phần này Phải có thanh cuộn trong phần này để đáp ứng cho phần nội dung có nhiều thông tin (Không

áp dụng đối với nút “Exit”)

IV Demo Chương trình

FAT32:

Ta tiến hành nhập ổ đĩa F (FAT32) và chọn nút “Run”, chương trình sẽ tiến hành đọc thông tin Boot Sector của ổ F hình bên dưới:

Trang 14

13

Tiếp theo ta chọn nút “Folder Tree” để in ra cây thư mục của ổ đĩa F:

So sánh với cây thư của File Explorer:

Trang 15

14

Để hiển thị nội dung và kích thước của các file text trong cây thư mục, ta tiến hành chọn nút “Print File”, chương trình sẽ hiển thị 1 cây thư mục và nội dung của các tập text nếu có:

NTFS:

Ta tiến hành nhập ổ đĩa I (NTFS) và chọn nút “Run”, chương trình sẽ tiến hành đọc thông tin Boot Sector của ổ F hình bên dưới:

Trang 16

15

Tiếp theo ta chọn nút “Folder Tree” để in ra cây thư mục của ổ đĩa I:

So sánh với cây thư của File Explorer:

Trang 17

16

Để hiển thị nội dung và kích thước của các file text trong cây thư mục, ta tiến hành chọn nút “Print File”, chương trình sẽ hiển thị 1 cây thư mục và nội dung của các tập text nếu có (các loại file khác thì hiển thì thông báo dùng phần mềm tương thích

để mở):

Nhấn “EXIT” để xuất thông báo kết thúc chương trình:

Ngày đăng: 11/12/2024, 10:19

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

TÀI LIỆU LIÊN QUAN

w