tailieunhanh - Giáo trình Hệ điều hành: Phần 2 - Trường ĐH Phan Thiết

(NB) Tiếp nội dung phần 1, Giáo trình Hệ điều hành: Phần 2 gồm có 8 chương, cung cấp cho người học những kiến thức như: Bộ nhớ ảo; Hệ thống quản lý tập tin; Các phƣơng pháp cài đặt hệ thống quản lý tập tin; Giới thiệu một số hệ thống tập tin; Hệ thống quản lý nhập-xuất; Giới thiệu một số hệ thống I-O; Bảo vệ an toàn hệ thống; Mời các bạn cùng tham khảo! | CHƢƠNG 9. BỘ NHỚ ẢO Bộ nhớ ảo là một kỹ thuật hiện đại giúp cho ngƣời dùng đƣợc giải phóng hoàn toàn khỏi mối bận tâm về giới hạn bộ nhớ. Ý tƣởng ƣu điểm và những vấn đề liên quan đến việc tổ chức bộ nhớ ảo sẽ đƣợc trình bày trong bài học này. . Dẫn nhập Nếu đặt toàn thể không gian địa chỉ vào bộ nhớ vật lý thì kích thƣớc của chƣơng trình bị giới hạn bởi kích thƣớc bộ nhớ vật lý. Thực tế trong nhiều trƣờng hợp chúng ta không cần phải nạp toàn bộ chƣơng trình vào bộ nhớ vật lý cùng một lúc vì tại một thời điểm chỉ có một chỉ thị của tiến trình đƣợc xử lý. Ví dụ các chƣơng trình đều có một đoạn code xử lý lỗi nhƣng đoạn code này hầu nhƣ rất ít khi đƣợc sử dụng vì hiếm khi xảy ra lỗi trong trƣờng hợp này không cần thiết phải nạp đoạn code xử lý lỗi từ đầu. Từ nhận xét trên một giải pháp đƣợc đề xuất là cho phép thực hiện một chƣơng trình chỉ đƣợc nạp từng phần vào bộ nhớ vật lý. Ý tƣởng chính của giải pháp này là tại mỗi thời điểm chỉ lƣu trữ trong bộ nhớ vật lý các chỉ thị và dữ liệu của chƣơng trình cần thiết cho việc thi hành tại thời điểm đó. Khi cần đến các chỉ thị khác những chỉ thị mới sẽ đƣợc nạp vào bộ nhớ tại vị trí trƣớc đó bị chiếm giữ bởi các chỉ thị nay không còn cần đến nữa. Với giải pháp này một chƣơng trình có thể lớn hơn kích thƣớc của vùng nhớ cấp phát cho nó. Một cách để thực hiện ý tƣởng của giải pháp trên đây là sử dụng kỹ thuật overlay. Kỹ thuật overlay không đòi hỏi bất kỳ sự trợ giúp đặc biệt nào của hệ điều hành nhƣng trái lại lập trình viên phải biết cách lập trình theo cấu trúc overlay và điều này đòi hỏi khá nhiều công sức. Để giải phóng lập trình viên khỏi các suy tƣ về giới hạn của bộ nhớ mà cũng không tăng thêm khó khăn cho công việc lập trình của họ ngƣời ta nghĩ đến các kỹ thuật tự động cho phép xử lý một chƣơng trình có kích thƣớc lớn chỉ với một vùng nhớ có kích thƣớc nhỏ . Giải pháp đƣợc tìm thấy với khái niệm bộ nhớ ảo virtual memory . . Định nghĩa Bộ nhớ ảo là một kỹ thuật cho phép xử lý một tiến trình không đƣợc nạp toàn