Câu trả lời:
Sử dụng bộ nhớ ảo không phải là tùy chọn, một ứng dụng không thể tránh được. Giả sử chúng ta đang nói về bộ nhớ được bảo vệ x86, đó là những gì hầu hết các hệ điều hành hiện tại như Linux, OS X và Windows sử dụng trên x86.
Về cơ bản, mỗi quá trình nhìn thấy một không gian địa chỉ ảo 4 GB (VAS). HĐH, kết hợp với phần cứng, thiết lập các bảng mô tả trang được gọi là (PDT) mô tả cách VAS được ánh xạ, với độ chi tiết của trang (thường là 4 KB). Một trang có thể được ánh xạ tới bộ nhớ vật lý, nó có thể được ánh xạ tới một tệp (có nghĩa là khi quá trình cố đọc từ phần đó của VAS, nó sẽ bẫy vào HĐH, sau đó sẽ đọc trang từ tệp trên đĩa và đặt nó vào bộ nhớ) hoặc hoàn toàn không được ánh xạ trong trường hợp cố truy cập vào phần VAS đó sẽ khiến quá trình bị sập. Và, như một bên, trong khi bộ nhớ kernel được ánh xạ vào quá trình, quá trình không thể truy cập trực tiếp vào nó và sẽ sụp đổ nếu nó cố làm như vậy.
Và, HĐH có thể sử dụng tệp trang hoặc phân vùng trao đổi, cho phép HĐH chuyển các trang bộ nhớ ít sử dụng sang đĩa và sử dụng bộ nhớ cho thứ gì đó hữu ích hơn. Một lần nữa, nếu thực hiện điều này, PDT phải được cập nhật tương ứng và tương tự như các tệp được ánh xạ bộ nhớ, nếu quá trình cố gắng truy cập các trang đã bị tráo đổi, nó sẽ mắc vào HĐH sẽ đưa trang trở lại vào bộ nhớ. (Mặc dù khả năng trao đổi thường được kết hợp với bộ nhớ ảo mỗi lần, ý tưởng cơ bản đằng sau bộ nhớ ảo là khái niệm về các địa chỉ ảo khác biệt với các địa chỉ bộ nhớ vật lý.)