Hệ thống tập tin giao diện
Lần đầu tiên dữ liệu của một tập tin được truy cập để đọc hoặc viết hoạt động, điều khiển hệ thống tập tin là chịu trách nhiệm về việc xác định liệu một số phần của tập tin được ánh xạ trong bộ nhớ cache hệ thống. Nếu không, người lái xe hệ thống tập tin phải gọi hàm CcInitializeCacheMap để thiết lập cho mỗi tập tin cấu trúc dữ liệu được mô tả trong phần trước. Khi một tập tin được thiết lập để truy cập được lưu trữ, trình điều khiển hệ thống tập tin gọi là một trong một số chức năng để truy cập dữ liệu trong file. Có ba phương pháp chính để truy cập vào dữ liệu lưu trữ, mỗi dành cho một tình huống cụ thể:
■ Các dữ liệu bản sao sử dụng phương pháp sao chép giữa các bộ đệm cache trong không gian hệ thống và một quá trình buf- fer trong không gian sử dụng.
■ Việc lập bản đồ và phương pháp ghim sử dụng địa chỉ ảo để đọc và ghi dữ liệu trực tiếp từ và bộ đệm cache.
■ Các phương pháp truy cập bộ nhớ vật lý sử dụng địa chỉ vật lý để đọc và ghi dữ liệu trực tiếp từ và bộ đệm cache. Trình điều khiển hệ thống tập tin phải cung cấp hai phiên bản của tập tin hoạt động đọc, lưu trữ và noncached- để ngăn chặn một vòng lặp vô hạn khi người quản lý bộ nhớ xử lý một lỗi trang. Khi người quản lý bộ nhớ giải quyết một lỗi trang bằng cách gọi hệ thống tập tin để lấy dữ liệu từ tập tin (thông qua trình điều khiển thiết bị, tất nhiên), nó phải xác định điều này noncached đọc hoạt động bằng cách thiết lập "không có bộ nhớ cache" lá cờ trong IRP. Hình 11-10 minh họa sự tương tác điển hình giữa người quản lý bộ nhớ cache, bộ nhớ Ager lý, và trình điều khiển hệ thống tập tin để đáp ứng với người dùng đọc hoặc ghi tập tin I / O. Người quản lý bộ nhớ cache được gọi bởi một hệ thống tập tin thông qua giao diện bản sao (các CcCopyRead và CcCopyWrite đường dẫn). Để xử lý một CcFastCopyRead hoặc CcCopyRead đọc, ví dụ, người quản lý bộ nhớ cache, tạo tầm nhìn trong bộ nhớ cache để ánh xạ một phần của tập tin được đọc và đọc các tập tin dữ liệu vào bộ đệm sử dụng bằng cách sao chép từ xem. Các hoạt động sao chép tạo ra lỗi trang như nó truy cập mỗi trang không hợp lệ trước đây trong giao diện, và để đáp ứng quản lý bộ nhớ khởi noncached I / O vào trình điều khiển hệ thống tập tin để lấy dữ liệu tương ứng với một phần của tập tin ánh xạ tới các trang đó bị sự cố .
đang được dịch, vui lòng đợi..