tailieunhanh - Giáo trình Hệ điều hành - V1.0 Chương: Bộ nhớ ảo

Giáo trình Hệ điều hành - Chương: Bộ nhớ ảo được trình bày với mục tiêu giúp sinh viên sau khi học xong chương này có thể nắm vững các kiến thức về kỹ thuật bộ nhớ ảo, bộ nhớ ảo ở dạng phân trang theo yêu cầu, độ phức tạp và chi phí trong từng kỹ thuật để cài đặt bộ nhớ ảo. nội dung chi tiết tài liệu. | Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – BỘ NHỚ ẢO I Mục đích Sau khi học xong chương này, người học nắm được những kiến thức sau: • Hiểu kỹ thuật bộ nhớ ảo • Hiểu bộ nhớ ảo ở dạng phân trang theo yêu cầu • Hiểu độ phức tạp và chi phí trong từng kỹ thuật để cài đặt bộ nhớ ảo II Giới thiệu Trong chương trước, chúng ta thảo luận các chiến lược quản lý bộ nhớ được dùng trong hệ thống máy tính. Tất cả những chiến lược này có cùng mục đích: giữ nhiều quá trình trong bộ nhớ cùng một lúc để cho phép đa chương. Tuy nhiên, chúng có khuynh hướng yêu cầu toàn bộ quá trình ở trong bộ nhớ trước khi quá trình có thể thực thi. Bộ nhớ ảo là một kỹ thuật cho phép việc thực thi của quá trình mà quá trình có thể không hoàn toàn ở trong bộ nhớ. Một lợi điểm quan trọng của cơ chế này là các chương trình có thể lớn hơn bộ nhớ vật lý. Ngoài ra, bộ nhớ ảo phóng đại bộ nhớ chính thành bộ nhớ luận lý cực lớn khi được hiển thị bởi người dùng. Kỹ thuật này giải phóng người lập trình từ việc quan tâm đến giới hạn kích thước bộ nhớ. Bộ nhớ ảo cũng cho phép các quá trình dễ dàng chia sẻ tập tin và không gian địa chỉ, cung cấp cơ chế hữu hiện cho việc tạo quá trình. Tuy nhiên, bộ nhớ ảo không dễ cài đặt và về thực chất có thể giảm năng lực nếu nó được dùng thiếu thận trọng. Trong chương này, chúng ta thảo luận bộ nhớ ảo trong dạng phân trang theo yêu cầu và xem xét độ phức tạp và chi phí. III Kiến thức nền Các giải thuật quản lý bộ nhớ trong chương trước là cần thiết vì một yêu cầu cơ bản: các chỉ thị đang được thực thi phải ở trong bộ nhớ vật lý. Tiếp cận đầu tiên để thoả mãn yêu cầu này đặt toàn bộ không gian địa chỉ luận lý trong bộ nhớ vật lý. Phủ lắp và nạp động có thể giúp làm giảm hạn chế này nhưng chúng thường yêu cầu sự đề phòng đặc biệt và công việc phụ thêm bởi người lập trình. Hạn chế này dường như cần thiết và phù hợp nhưng nó không may mắn vì nó giới hạn kích thước của một chương trình đối với kích thước bộ nhớ vật lý. Thật vậy, xem xét các .