1. Trang chủ
  2. » Mẫu Slide

Báo cáo bài tập lớn môn CSLT2 Vấn đề tổ chức của một đĩa mềm & Các hàm liên quan đến việc đọc-ghi đĩa

29 1,4K 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 29
Dung lượng 192,34 KB

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

Nội dung

Một số khái niệm căn bảnLà những đường tròn đồng tâm trên mặt đĩa dùng để lưu dữ liệu... Một số khái niệm căn bảnLà 1 phần nhỏ của track, là vùng vật lý chứa dữ liệu nhỏ nhất trong ổ

Trang 2

GVHD & Sinh viên thực hiện

GVHD: Nguyễn Trần Thi Văn

Sinh viên thực hiện:

Nguyễn Phú Cường

Vũ Minh Hải Phan Đức Linh Nguyễn Kim Sơn

Đỗ Đăng Trường

Trang 4

3 Hàm getfat & getfatd

4 Hàm handler & harderr

Trang 5

Nội dung chính

3 Demo

1 Format nhanh đĩa mềm

2 Ghi file lên đĩa A

3 Đọc file từ thư mục gốc đĩa A

Trang 6

1 Một số khái niệm căn bản

DISK

TRACK

SECTOR

SIDE

Trang 7

1 Một số khái niệm căn bản

Là những đường tròn đồng tâm trên mặt đĩa dùng để lưu dữ liệu

1 track có thể lưu được 100,000 bytes

dữ liệu hoặc hơn

Được đánh số từ ngoài vào trong theo

thứ tự 0 -> n

TRACK

Trang 8

1 Một số khái niệm căn bản

Là 1 phần nhỏ của track, là vùng vật lý

chứa dữ liệu nhỏ nhất trong ổ cứng

Trên mỗi loại đĩa khác nhau thì số lượng

sector được chia trên 1 track cũng khác

Trang 9

1 Một số khái niệm căn bản

Là đơn vị lưu trữ cơ bản được chỉ định

của đĩa từ

Bao gồm 1 hoặc nhiều sector nằm liền

nhau trên 1 track

Số lượng sector trên 1 cluster tùy vào hệ điều hành áp đặt cho từng loại đĩa có

dung lượng thích hợp

CLUSTER

Trang 10

1 Một số khái niệm căn bản

Không gian lưu trữ của đĩa được xác định

dựa trên những cluster, nghĩa là khi 1

file (hoặc một phần của file) chỉ chiếm

dụng một phần hoặc toàn bộ không gian

của cluster thì điều đó cũng được coi là

đã sử dụng một phần không gian của đĩa, tức là đã sử dụng hết 1 cluster

CLUSTER

Trang 11

1 Một số khái niệm căn bản

Gây lãng phí không gian trên đĩa, nhưng giúp hệ điều hành quản lý không gian đĩa tốt hơn

CLUSTER

Trang 12

1 Một số khái niệm căn bản

2 track đối xứng ở 2 mặt của đĩa gọi là

1 cylinder.

Đầu đọc đọc-ghi dữ liệu ở 2 track đối

xứng này trước khi chuyển tới track tiếp theo

Được đánh số thứ tự theo thứ tự của

track, nghĩa là những track 0 hợp thành cylinder 0.

CYLINDER

Trang 13

1 Một số khái niệm căn bản

Là 1 sector đặc biệt nằm ở đầu mỗi phân vùng ổ đĩa, nó chứa các thông tin hoạt

động của phân vùng tương ứng(độ lớn,

sector bắt đầu và kết thúc phân vùng, …)

và các chương trình cần hệ điều hành

nạp vào máy

BOOT SECTOR

Trang 14

1 Một số khái niệm căn bản

Boot sector nắm vai trò quan trọng trong quá trình khởi động máy, nên thường

được BIOS bảo vệ rất nghiêm ngặt

Là nơi dễ bị các loại boot-virus tấn công phá hoại ổ đĩa, bằng cách chỉnh sửa lại nội dung của sector này

BOOT SECTOR

Trang 15

1 Một số khái niệm căn bản

Với đĩa mềm thì boot sector luôn là sector đầu tiên của đĩa Những thông tin ở

sector đầu tiên này được gọi là Master

boot record – MBR

BOOT SECTOR

Trang 16

1 Một số khái niệm căn bản

Là bảng định vị các files trên đĩa, bảng

này liệt kê tuần tự số thứ tự của các

cluster dành cho file lưu trú trên đĩa

Mỗi đĩa có 2 bảng FAT giống hệt nhau FAT thứ nhất bắt đầu ngay sau Boot

Sector và chiếm dụng nhiều sector tiếp

theo, FAT thứ 2 để lưu đề phòng sự cố

nằm tiếp theo sau FAT thứ nhất.

FAT(File Allocation Table)

Trang 17

1 Một số khái niệm căn bản

Hiện tại có 3 loại FAT:

 FAT 12 dành cho đĩa mềm hoặc đĩa cứng có dung lượng rất bé

 FAT 16 dành cho đĩa cứng có dung lượng từ 1GB trở xuống

 FAT 32 dành cho đĩa cứng có dung lượng từ vài GB trở lên

FAT(File Allocation Table)

Trang 18

1 Một số khái niệm căn bản

Độ dài của mối phần tử của FAT được

tính bằng số bit Độ dài này biểu thị khả năng chỉ thị số đếm của phần tử FAT

Với các đĩa mềm, số lượng các cluster là nhỏ nên chỉ cần 12 bit đủ để chỉ thị số đếm này vì vậy các đĩa mềm dùng FAT

12 bit

FAT(File Allocation Table)

Trang 19

2 Một số hàm đọc ghi đĩa

Absread() sử dụng lệnh ngắt 0x25 để đọc những sector đặc trưng của đĩa, nó sẽ bỏ qua những cấu trúc logic của đĩa và khi thực hiện nó không chú ý tới những File, FAT hoặc những thư mục…

ABSREAD

Trang 20

2 Một số hàm đọc ghi đĩa

Cú pháp:

int absread (int driver , int nsects , long lect , void * buffer );

 Driver: số thứ tự của ổ đĩa cần đọc

 Nsects: số lượng sector cần đọc

 Lsect: sector bắt đầu

 Buffer: địa chỉ nơi lưu các giá trị đọc được

ABSREAD

Trang 22

2 Một số hàm đọc ghi đĩa

Abswrite() là hàm ghi đặc trưng của

những cung từ đĩa,nó sẽ bỏ qua những

cấu trúc logic của môt đĩa và khi thực

hiện nó không chú ý tới những File, FAT (bảng phân bố tệp), hoặc những thư

mục…, nó sử dụng hệ điều hành DOS

gián đoạn 0x26 dùng để ghi những sector đặc trưng của đĩa

ABSWRITE

Trang 23

2 Một số hàm đọc ghi đĩa

Cú pháp:

int abswrite (int driver , int nsects , long lect , void * buffer) ;

 Driver: số thứ tự của ổ đĩa cần ghi

 Nsects: số lượng sector cần ghi

 Lsect: sector bắt đầu

 Buffer: địa chỉ nơi lưu các giá trị để ghi

ABSWRITE

Trang 24

2 Một số hàm đọc ghi đĩa

Công dụng:

Ghi dữ liệu từ vùng nhớ buffer vào nsects

sectors của đĩa, bắt đầu từ sector lect

Nếu thành công, trả về giá trị 0, ngược lại, trả về -1

ABSWRITE

Trang 25

2 Một số hàm đọc ghi đĩa

Cú pháp:

void getfat ( unsigned char drive, struct fatinfo *dtable);

Drive: đĩa mà hàm getfat lấy thông tin từ bảng FAT(0 = default, 1 = A, 2 = B, etc.).

Dtable: trỏ đến cấu trúc fatinfo để điền thông tin vào đó.

GETFAT & GETFATD

Trang 26

2 Một số hàm đọc ghi đĩa

Hàm GETFAT lấy thông tin bảng FAT từ một đĩa nào đó và điền thông tin vào cấu trúc fatinfo

GETFAT & GETFATD

Trang 28

3 Demo

Trang 29

The End!

Ngày đăng: 06/05/2015, 14:58

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w