VFS và FS địa phương
Jul 26, 2023Nhân hệ điều hành cần cung cấp một quy trình kiểm soát I/O hoàn chỉnh và chuẩn bị một số lượng lớn các cấu trúc dữ liệu khác nhau để quản lý luồng I/O giữa các mô-đun khác nhau.
Các mô-đun này bao gồm: lớp thư mục VFS, lớp Bộ đệm trang, lớp hệ thống tệp, lớp xử lý mạng, lớp khối chung, lớp lập lịch I/O, lớp trình điều khiển thiết bị khối, lớp trình điều khiển bộ điều khiển kênh I/O bên ngoài. Các lớp này cùng nhau tạo thành một chồng giao thức I/O lớn và phức tạp.
Tôi chắc rằng bạn đã có ý tưởng về cách các chương trình sử dụng thiết bị I/O. Các thiết bị I/O phổ biến nhất được chia thành ba loại: thẻ kết nối thiết bị, thiêt bị lưu trư(st2400mm0129),và các thiết bị tương tác như bàn phím/chuột. Các thiết bị này có thể được kết nối với hệ thống thông qua cổng PCIE hoặc USB. Câu hỏi đặt ra là dữ liệu gửi đến chúng được tạo ra và gửi đến trình điều khiển thiết bị và thiết bị như thế nào?
Nếu chương trình ở chế độ người dùng muốn đọc nội dung của khu vực 0 của quạt đĩa cứng, thì chương trình đó không thể thao tác trực tiếp với đĩa cứng vì nó không thể gọi các chức năng do quạt đĩa cứng cung cấp. thiết bị đĩa cứng trình điều khiển nào cả, nó chỉ có thể ủy quyền mã nhân để thực hiện việc này thông qua lệnh gọi hệ thống đọc.
Trong các tham số của lời gọi hệ thống đọc, chương trình phía người dùng ít nhất phải báo cho nhân: thiết bị nào sẽ đọc, byte nào của thiết bị sẽ đọc từ đó, nơi đặt dữ liệu đã đọc trở lại bộ nhớ và các tham số khác (chẳng hạn như cách đọc khi đọc, v.v.). Điều tương tự cũng xảy ra với việc đọc các tập tin.