Độc thân, tập trung hệ thống cache Một số hệ điều hành dựa trên mỗi hệ thống tập tin cá nhân để lưu trữ dữ liệu, một thực tế mà kết quả hoặc trong bộ nhớ đệm trùng lặp và mã số quản lý bộ nhớ trong hệ điều hành hoặc trong giới hạn về loại dữ liệu có thể được lưu trữ. Ngược lại, Windows cung cấp một cơ sở bộ nhớ đệm lưu trữ dữ liệu tập trung mà tất cả được lưu trữ bên ngoài, cho dù trên đĩa cứng, đĩa mềm, máy chủ tập tin mạng, hoặc CD-ROM. Bất kỳ dữ liệu có thể được lưu trữ, cho dù đó là các dòng dữ liệu người dùng (các nội dung của một tập tin và đọc liên tục và hoạt động viết vào tập tin đó) hoặc siêu dữ liệu hệ thống tập tin (chẳng hạn như thư mục và tập tin tiêu đề). Như bạn sẽ khám phá trong chương này, các phương pháp Windows sử dụng để truy cập vào bộ nhớ cache phụ thuộc vào loại dữ liệu được lưu trữ.
Các quản lý bộ nhớ
Một khía cạnh khác thường của người quản lý bộ nhớ cache là nó không bao giờ biết làm thế nào dữ liệu lưu trữ nhiều thực sự là trong bộ nhớ vật lý . Tuyên bố này nghe có vẻ kỳ lạ bởi vì mục đích của một bộ nhớ cache là để giữ cho một tập hợp các dữ liệu thường xuyên truy cập vào bộ nhớ vật lý như là một cách để cải thiện I / O thực hiện. Các nguyên nhân khiến họ quản lý bộ nhớ cache không biết bao nhiêu dữ liệu trong bộ nhớ vật lý là nó truy cập dữ liệu bằng cách xem bản đồ các tập tin vào hệ thống không gian địa chỉ ảo, sử dụng đối tượng mục tiêu chuẩn (đối tượng lập bản đồ tập tin trong Windows ngữ API). (Đối tượng mục là nguyên thủy cơ bản của người quản lý bộ nhớ và được giải thích chi tiết trong Chương 10, "Quản lý bộ nhớ.") Là địa chỉ trong những quan điểm bản đồ đã được truy cập, các trang quản lý bộ nhớ trong khối mà không có trong bộ nhớ vật lý. Và khi nhu cầu bộ nhớ ra lệnh, quản lý bộ nhớ unmaps các trang này ra khỏi bộ nhớ cache và, nếu dữ liệu đã thay đổi, các trang dữ liệu trở lại các tập tin.
Bởi bộ nhớ đệm trên cơ sở của một không gian địa chỉ ảo bằng cách sử dụng các tập tin ánh xạ, các nhà quản lý tránh bộ nhớ cache tạo ra đọc hoặc viết I / O gói tin yêu cầu (IRPs) để truy cập dữ liệu cho các tập tin đó là bộ nhớ đệm. Thay vào đó, nó chỉ đơn giản là bản sao dữ liệu đến hoặc từ địa chỉ ảo, nơi các phần của tập tin lưu trữ được ánh xạ và dựa trên quản lý bộ nhớ đến lỗi trong (hoặc ra) dữ liệu vào (hoặc ra) bộ nhớ khi cần thiết. Quá trình này cho phép người quản lý bộ nhớ để làm cho thương mại-off toàn cầu về bao nhiêu bộ nhớ để cung cấp cho bộ nhớ cache hệ thống so với bao nhiêu để cung cấp cho quá trình sử dụng. (Người quản lý bộ nhớ cache cũng khởi đầu I / O, chẳng hạn như viết lười biếng, được mô tả trong chương này;. Tuy nhiên, nó gọi quản lý bộ nhớ để viết các trang) Ngoài ra, như bạn sẽ tìm hiểu trong phần tiếp theo, thiết kế này làm cho nó có thể cho quá trình mở lưu trữ tập tin để xem cùng một dữ liệu cũng như quy trình được lập bản đồ các tập tin tương tự vào không gian địa chỉ người dùng của họ.
cache sự liên lạc
Một chức năng quan trọng của người quản lý bộ nhớ cache là để đảm bảo rằng bất kỳ quá trình truy cập dữ liệu lưu trữ sẽ nhận được hầu hết các phiên bản gần đây của dữ liệu đó. Một vấn đề có thể phát sinh khi một quá trình mở một tập tin (và do đó các tập tin được lưu trữ) trong khi một quá trình bản đồ các tập tin vào không gian địa chỉ của nó trực tiếp (bằng cách sử dụng chức năng Windows MapViewOfFile). Vấn đề tiềm năng này không xảy ra trong Windows bởi vì cả hai người quản lý bộ nhớ cache và các ứng dụng người dùng rằng bản đồ tập tin vào không gian địa chỉ của họ sử dụng quản lý bộ nhớ dịch vụ bản đồ cùng một tập tin. Bởi vì quản lý bộ nhớ đảm bảo rằng nó
đang được dịch, vui lòng đợi..
![](//viimg.ilovetranslation.com/pic/loading_3.gif?v=b9814dd30c1d7c59_8619)