Vô hiệu hóa Lazy Viết cho một tập tin
Nếu bạn tạo một tập tin tạm thời bằng cách xác định cờ FILE_ATTRIBUTE_TEMPORARY trong một cuộc gọi đến các chức năng Windows CreateFile, nhà văn lười biếng sẽ không viết các trang web bẩn vào đĩa, trừ khi có một sự thiếu hụt Vere se- bộ nhớ vật lý hoặc các tập tin bị xóa một cách rõ ràng. Đặc điểm này của nhà văn lười biếng cải thiện hiệu suất hệ thống nhà văn lười biếng không ngay lập tức ghi dữ liệu vào đĩa mà cuối cùng có thể được loại bỏ. Các ứng dụng thường xóa các tập tin tạm thời ngay sau khi đóng chúng
Buộc Cache để Viết Thông qua Disk
Bởi vì một số ứng dụng không thể chịu đựng thậm chí trì hoãn tạm thời giữa viết một tập tin và nhìn thấy các bản cập nhật trên đĩa, quản lý bộ nhớ cache cũng hỗ trợ viết thông qua bộ nhớ đệm trên mỗi cơ sở đối tượng -file; thay đổi được ghi vào đĩa ngay khi họ đang thực hiện. Để bật về ghi thông qua bộ nhớ đệm, thiết lập các cờ FILE_FLAG_WRITE_THROUGH trong cuộc gọi đến các chức năng CreateFile. Ngoài ra, một chủ đề một cách rõ ràng có thể tuôn ra một tập tin mở, bằng cách sử dụng các FlushFileBuffers chức năng Windows, khi nó đạt đến một điểm mà tại đó dữ liệu cần phải được ghi vào đĩa.
Flushing ánh xạ tập tin
Nếu các nhà văn lười biếng phải viết dữ liệu vào đĩa từ một quan điểm đó là cũng ánh xạ vào không gian quảng cáo- váy của một quá trình, tình hình trở nên phức tạp hơn, bởi vì người quản lý bộ nhớ cache sẽ chỉ biết về các trang nó đã thay đổi. (Trang sửa đổi bởi quá trình khác chỉ được biết đến với quá trình đó vì chút sửa đổi trong các mục bảng trang cho các trang sửa đổi sẽ được giữ trong quá trình bàn trang tin). Để giải quyết tình trạng này, người quản lý bộ nhớ thông báo cho người quản lý bộ nhớ cache khi sử dụng bản đồ một tập tin. Khi một tập tin bị xóa trong bộ nhớ cache (ví dụ, như là kết quả của một cuộc gọi đến FlushFileBuffers chức năng Windows), người quản lý bộ nhớ cache viết các trang web bẩn trong bộ nhớ cache và sau đó kiểm tra để xem liệu các tập tin cũng được ánh xạ bởi quá trình khác . Khi người quản lý bộ nhớ cache thấy rằng tập tin là, người quản lý bộ nhớ cache sau đó thổi sạch các điểm toàn bộ của phần này để viết ra các trang web mà quá trình thứ hai có thể đã thay đổi. Nếu một người sử dụng bản đồ một cái nhìn của một tập tin cũng được mở trong bộ nhớ cache, khi xem là unmapped, sửa đổi các trang được đánh dấu là dơ bẩn để khi thread nhà văn lười biếng sau flushes xem, những trang web bẩn sẽ được ghi vào đĩa . Thủ tục này làm việc miễn là trình tự xảy ra theo thứ tự sau:
1. Một người sử dụng unmaps xem.
2. Một quá trình thổi sạch các bộ đệm này. Nếu chuỗi này không được tuân thủ, bạn không thể dự đoán được trang sẽ được ghi vào đĩa.
đang được dịch, vui lòng đợi..
![](//viimg.ilovetranslation.com/pic/loading_3.gif?v=b9814dd30c1d7c59_8619)