Lỗi trang page fault đối với bộ nhớ ảo
Virtual Memory là một sơ đồ lưu trữ cung cấp cho người dùng ảo về việc có một bộ nhớ chính rất lớn. Điều này được thực hiện bằng cách coi một phần của bộ nhớ phụ là bộ nhớ chính. Show Trong lược đồ này, Người dùng có thể tải các tiến trình có kích thước lớn hơn bộ nhớ chính khả dụng bằng cách ảo hóa rằng bộ nhớ có sẵn để tải tiến trình. Các bài viết liên quan: Thay vì tải một tiến trình lớn trong bộ nhớ chính, Hệ điều hành sẽ tải các phần khác nhau của nhiều tiến trình trong bộ nhớ chính. Bằng cách này, mức độ đa chương trình sẽ được tăng lên và do đó, việc sử dụng CPU cũng sẽ tăng lên. Virtual Memory hoạt động như thế nào?Nói cách hiện đại, ngày nay Virtual Memory đã trở nên khá phổ biến. Trong lược đồ này, bất cứ khi nào một số trang cần được tải vào bộ nhớ chính để thực thi và bộ nhớ không có sẵn cho nhiều trang đó, thì trong trường hợp đó, thay vì ngăn các trang nhập vào bộ nhớ chính, hệ điều hành tìm kiếm vùng RAM ít được sử dụng nhất trong thời gian gần đây hoặc không được tham chiếu và sao chép vùng đó vào bộ nhớ phụ để tạo không gian cho các trang mới trong bộ nhớ chính. Vì tất cả quy trình này diễn ra tự động, do đó nó làm cho máy tính có cảm giác như nó đang có RAM không giới hạn. Xem thêm Page table trong hệ điều hành Quản lý Virtual MemoryQuản lý Virtual Memory là quá trình của hệ điều hành để quản lý và điều phối việc sử dụng bộ nhớ ảo trong hệ thống. Dưới đây là một số khái niệm và cơ chế quản lý Virtual Memory trong hệ điều hành:
Tùy thuộc vào cơ chế và chiến lược quản lý, hệ điều hành sẽ cân nhắc việc phân trang và phân đoạn, quản lý bảng trang, quản lý swap space và thực hiện các chiến lược thay thế trang để tối ưu hóa việc sử dụng Virtual Memory và đáp ứng nhu cầu của quy trình và ứng dụng trong hệ thống. Xem thêm Giao thức Mạng trong TCP/IP Xử lý lỗi trang trong Virtual MemoryTrong Virtual Memory, xử lý lỗi trang (Page Fault) xảy ra khi một quy trình yêu cầu truy cập vào một trang bộ nhớ ảo nhưng trang đó không tồn tại trong bộ nhớ vật lý. Điều này có thể xảy ra khi trang bị chuyển vào swap space hoặc chưa được tải lên bộ nhớ vật lý từ đĩa cứng. Khi xảy ra lỗi trang, hệ điều hành thực hiện các bước để xử lý nó:
Quá trình xử lý lỗi trang là một phần quan trọng trong quản lý Virtual Memory, giúp hệ điều hành quản lý và điều phối việc sử dụng bộ nhớ ảo. Xem thêm Cách Run android App trong android studio Ví dụ hệ thống quản lý Virtual MemoryGiả sử 2 quy trình, P1 và P2, mỗi quy trình gồm 4 trang. Kích thước mỗi trang là 1 KB. Bộ nhớ chính chứa 8 khung, mỗi khung 1 KB. Hệ điều hành nằm trong hai phân vùng đầu tiên. Trong phân vùng thứ ba, trang thứ nhất của P1 được lưu trữ và các khung khác cũng được hiển thị như được lấp đầy bởi các trang khác nhau của quá trình trong bộ nhớ chính. Các bảng trang của cả hai trang đều có kích thước 1 KB và do đó chúng có thể nằm gọn trong một khung mỗi trang. Các bảng trang của cả hai quy trình chứa nhiều thông tin khác nhau cũng được hiển thị trong hình ảnh. CPU chứa một thanh ghi có địa chỉ cơ sở của bảng trang là 5 trong trường hợp P1 và 7 trong trường hợp P2. Địa chỉ cơ sở của bảng trang này sẽ được thêm vào số trang của địa chỉ Lôgic khi truy cập vào mục nhập tương ứng thực tế. Lợi ích của Virtual MemoryVirtual Memory trong hệ điều hành đem lại nhiều lợi ích quan trọng. Dưới đây là một số lợi ích chính của Virtual Memory:
Tóm lại, Virtual Memory trong hệ điều hành mang lại nhiều lợi ích quan trọng như mở rộng khả năng sử dụng bộ nhớ, tận dụng hiệu quả bộ nhớ, hỗ trợ chia sẻ bộ nhớ, bảo vệ bộ nhớ và ứng dụng, hỗ trợ xử lý lỗi trang, và cải thiện hiệu suất hệ thống. |