Mini project

2 29 0
Mini project

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

Thông tin tài liệu

Mini project: Viết lệnh checkdisk cho phép kiểm tra lỗi khối đĩa hệ thống tệp iFS Khi chạy lệnh đọc bảng inodes trạng thái khối đĩa rỗi vào mảng chiều hình Nếu tổng cột i khác có lỗi xảy Yêu cầu 1) Chương trình cần phát loại lỗi, thơng báo hình 2) Cài đặt chức sửa lỗi khối đĩa bị thất lạc (không thuộc tệp không nằm danh sách khối rỗi) 3) Khuyến khích cài thêm chức sửa lỗi khác, 4) Soạn thảo chương trình tệp checkdisk.c cho sẵn nộp tệp Không thay đổi tên tệp chương trình Sinh viên yêu cầu bắt buộc mơ tả chi tiết thuật tốn cài đặt phần comment đầu file viết comments thích cho lệnh 5) Hạn nộp chương trình 12:00PM 25/12/2021 Form cho nộp lần, cần kiểm tra cẩn thận trước nộp 6) Copy cho bạn khác copy nhận điểm Hướng dẫn viết chương trình Lưu ý: Tải lại toàn file nguồn từ thư mục chia sẻ chung Để tạo mẫu lỗi đĩa cho việc kiểm thử, chạy lệnh badformat hệ vỏ fsshell Hệ vỏ fsshell cài đặt để nhận lệnh checkdisk gọi hàm fs_checkDisk() Sinh viên cần viết đoạn mã cho hàm fs_checkDisk() module checkdisk.c cho sẵn Bảng inodes đĩa hệ vỏ fsshell tải vào mảng inodeTable[] khai báo module fs.c Cấu trúc inode_t khai báo file fs.h Danh sách khối đĩa rỗi cài đặt hệ thống tệp iFS sau - Biến ghi superBlock module fs.c chứa thông tin bảng super block Trường superBloc.freeBlockList tới khối đĩa rỗi Các khối đĩa rỗi móc nối với thành danh sách móc nối Hai bytes đầu khối chứa số hiệu khối đĩa rỗi Xem đoạn mã // create free block chain hàm fs_format để hiểu cách tạo móc nối khối đĩa rỗi Các hàm khác có liên quan module diskemu.c - Hàm writeBlock(i, &buf) ghi nội dung đệm buf xuống khối đĩa i Hàm readBlock(i, &buf) đọc nội dung khối đĩa i vào đệm buf Các hàm khác có liên quan module fs.c - Hàm getFreeBlock() cấp phát khối đĩa rỗi từ danh sách khối rỗi Hàm addFreeBlock(i) bổ sung khối đĩa i vào danh sách khối rỗi Lưu ý, module fs.c gồm nhóm hàm - Các hàm coi public để sử dụng lại module khác đặt tên bắt đầu tiền tố fs_, ví dụ fs_open(), fs_close vv Các hàm tiện ích sử dụng nội module fs.c khơng có tiền tố fs_ khai báo static (hàm dành riêng module) Ví dụ hàm getFreeBlock()

Ngày đăng: 28/12/2021, 22:10

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan