Ba phần tiếp theo giải thích các cơ chế truy cập bộ nhớ cache, mục đích của họ, và làm thế nào họ đang sử dụng.
Sao chép đến và đi từ Cache
Bởi vì bộ nhớ cache hệ thống trong không gian hệ thống, nó được ánh xạ vào không gian địa chỉ của tất cả các quá trình. Tuy nhiên, như với tất cả các trang không gian hệ thống, các trang bộ nhớ cache không thể truy cập từ chế độ người dùng bởi vì đó sẽ là một lỗ hổng bảo mật tiềm năng. (Ví dụ, một quá trình có thể không có quyền để đọc một tập tin có dữ liệu hiện có trong một số phần của bộ nhớ cache hệ thống.) Như vậy, hồ sơ người dùng đọc và ghi các tập tin được lưu trữ phải được phục vụ bởi thói quen kernel-mode rằng sao chép dữ liệu giữa các bộ đệm của bộ nhớ cache trong không gian hệ thống và bộ đệm của ứng dụng cư trú trong không gian địa chỉ tiến trình.
Caching với bản đồ và ghim phiên bản giao diện
Cũng giống như các ứng dụng người dùng đọc và ghi dữ liệu trong các tập tin trên một ổ đĩa, trình điều khiển hệ thống tập tin cần phải đọc và ghi dữ liệu mô tả các tập tin tự (siêu dữ liệu, hoặc cơ cấu khối lượng dữ liệu). Bởi vì các trình điều khiển hệ thống tập tin chạy trong chế độ hạt nhân, tuy nhiên, họ có thể, nếu người quản lý bộ nhớ cache đã được thông báo đúng, sửa đổi dữ liệu trực tiếp trong bộ nhớ cache hệ thống. Cho phép tối ưu hóa này, người quản lý bộ nhớ cache cung cấp các chức năng mà cho phép các trình điều khiển hệ thống tập tin để tìm nơi trong bộ nhớ ảo của hệ thống tập tin siêu dữ liệu cư trú, do đó cho phép sửa đổi trực tiếp mà không cần sử dụng các bộ đệm trung gian. Nếu một trình điều khiển hệ thống tập tin cần đọc hệ thống tập tin siêu dữ liệu trong bộ nhớ cache, nó gọi giao diện bản đồ quản lý bộ nhớ cache để có được địa chỉ ảo của dữ liệu mong muốn. Người quản lý bộ nhớ cache chạm vào tất cả các trang yêu cầu để đưa chúng vào bộ nhớ và sau đó trả về điều khiển cho điều khiển hệ thống tập tin. Sau đó trình điều khiển hệ thống tập tin có thể truy cập dữ liệu trực tiếp. Nếu trình điều khiển hệ thống tập tin cần phải sửa đổi các trang bộ nhớ cache, nó gọi dịch vụ ghim người quản lý bộ nhớ cache, mà giữ các trang hoạt động trong bộ nhớ ảo để họ không thể được khai hoang. Các trang không chiếm tually khóa vào bộ nhớ (chẳng hạn như khi một thiết bị trang khóa điều khiển cho bộ nhớ truy cập trực tiếp fers xuyên). Hầu hết thời gian, một trình điều khiển hệ thống tập tin sẽ đánh dấu dòng siêu dữ liệu của nó "không viết", mà chỉ thị ánh xạ nhà văn trang quản lý bộ nhớ của (giải thích trong Chương 10) không viết các trang vào đĩa cho đến khi rõ ràng bảo làm như vậy. Khi unpins điều khiển hệ thống tập tin (phiên bản) chúng, người quản lý bộ nhớ cache giải phóng các nguồn lực của mình để nó uể oải có thể tuôn ra bất kỳ thay đổi vào đĩa và phát hành xem bộ nhớ cache mà các siêu dữ liệu chiếm đóng. Việc lập bản đồ và giao diện ghim giải quyết một vấn đề gai góc trong việc thực hiện một hệ thống tập tin: đệm quản lý. Nếu không có thao tác trực tiếp siêu dữ liệu được lưu trữ, một hệ thống tập tin phải dự đoán số lượng tối đa của bộ đệm nó sẽ cần khi cập nhật cấu trúc của một khối lượng. Bằng cách cho phép các hệ thống tập tin để truy cập và cập nhật siêu dữ liệu của mình trực tiếp trong bộ nhớ cache, người quản lý bộ nhớ cache giúp loại bỏ sự cần thiết cho bộ đệm, chỉ cần cập nhật các cấu trúc khối lượng trong bộ nhớ ảo quản lý bộ nhớ cung cấp. Giới hạn duy nhất hệ thống tập tin gặp là số lượng bộ nhớ có sẵn
đang được dịch, vui lòng đợi..
![](//viimg.ilovetranslation.com/pic/loading_3.gif?v=b9814dd30c1d7c59_8619)