1. Trang chủ
  2. » Công Nghệ Thông Tin

Bộ nhớ ảo

5 350 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Bộ nhớ ảo

  • Dẫn nhập

    • Định nghĩa

      • Thảo luận:

    • Cài đặt bộ nhớ ảo

      • Phân trang theo yêu cầu ( demand paging)

      • Cơ chế phần cứng :

      • Lỗi trang

Nội dung

Bộ nhớ ảo Bộ nhớ ảo Bởi: Giảng viên Trần Hạnh Nhi Bộ nhớ ảo kỹ thuật đại giúp cho người dùng giải phóng hoàn toàn khỏi mối bận tâm giới hạn nhớ Ý tưởng, ưu điểm vấn đề liên quan đến việc tổ chức nhớ ảo trình bày học Dẫn nhập Nếu đặt toàn thể không gian địa vào nhớ vật lý, kích thước chương trình bị giới hạn kích thước nhớ vật lý Thực tế, nhiều trường hợp, không cần phải nạp toàn chương trình vào nhớ vật lý lúc, thời điểm có thị tiến trình xử lý Ví dụ, chương trình có đoạn code xử lý lỗi, đoạn code sử dụng xảy lỗi, 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, giải pháp đề xuất cho phép thực chương trình nạp phần vào nhớ vật lý Ý tưởng giải pháp thời điểm lưu trữ nhớ vật lý thị liệu chương trình cần thiết cho việc thi hành thời điểm Khi cần đến thị khác, thị nạp vào nhớ, vị trí trước bị chiếm giữ thị không cần đến Với giải pháp này, chương trình lớn kích thước vùng nhớ cấp phát cho Một cách để thực ý tưởng giải pháp sử dụng kỹ thuật overlay Kỹ thuật overlay không đòi hỏi trợ giúp đặc biệt hệ điều hành , 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, điều đòi hỏi nhiều công sức Để giải phóng lập trình viên khỏi suy tư giới hạn nhớ, mà không tăng thêm khó khăn cho công việc lập trình họ, người ta nghĩ đến kỹ thuật tự động, cho phép xử lý chương trình có kích thước lớn với vùng nhớ có kích thước nhỏ Giải pháp tìm thấy với khái niệm nhớ ảo (virtual memory) 1/5 Bộ nhớ ảo Định nghĩa Bộ nhớ ảo kỹ thuật cho phép xử lý tiến trình không nạp toàn vào nhớ vật lý Bộ nhớ ảo mô hình hoá nhớ bảng lưu trữ lớn đồng nhất, tách biệt hẳn khái niệm không gian địa không gian vật lý Người sử dụng nhìn thấy làm việc không gian địa ảo, việc chuyển đổi sang không gian vật lý hệ điều hành thực với trợ giúp chế phần cứng cụ thể Thảo luận: Cần kết hợp kỹ thuật swapping đển chuyển phần chương trình vào-ra nhớ nhớ phụ cần thiết Nhờ việc tách biệt nhớ ảo nhớ vật lý, tổ chức nhớ ảo có kích thước lớn nhớ vật lý Bộ nhớ ảo cho phép giảm nhẹ công việc lập trình viên họ không cần bận tâm đến giới hạn vùng nhớ vật lý, không cần tổ chức chương trình theo cấu trúc overlays Hình 2.24 Bộ nhớ ảo Cài đặt nhớ ảo Bộ nhớ ảo thường thực với kỹ thuật phân trang theo yêu cầu(demand paging) Cũng sử dụng kỹ thuật phân đoạn theo yêu cầu ( demand segmentation) để cài đặt nhớ ảo, nhiên việc cấp phát thay phân đoạn phức tạp thao tác trang, kích thước không đoạn 2/5 Bộ nhớ ảo Phân trang theo yêu cầu ( demand paging) Một hệ thống phân trang theo yêu cầu hệ thống sử dụng kỹ thuật phân trang kết hợp với kỹ thuật swapping Một tiến trình xem tập trang, thường trú nhớ phụ ( thường đĩa) Khi cần xử lý, tiến trình nạp vào nhớ Nhưng thay nạp toàn chương trình, trang cần thiết thời điểm nạp vào nhớ Như trang nạp vào nhớ có yêu cầu Với mô hình này, cần cung cấp chế phần cứng giúp phân biệt trang nhớ trang đĩa Có thể sử dụng lại bit valid-invalid với ngữ nghĩa mới: valid : trang tương ứng hợp lệ nhớ invalid : trang bất hợp lệ (không thuộc không gian địa tiến trình) trang hợp lệ lưu nhớ phụ Một phần tử bảng trang mộ tả cho trang không nằm nhớ chính, đánh dấu invalid chứa địa trang nhớ phụ Cơ chế phần cứng : Cơ chế phần cứng hỗ trợ kỹ thuật phân trang theo yêu cầu kết hợp chế hỗ trợ kỹ thuật phân trang kỹ thuật swapping: Bảng trang: Cấu trúc bảng trang phải cho phép phản ánh tình trạng trang nằm nhớ hay nhớ phụ Bộ nhớ phụ: Bộ nhớ phụ lưu trữ trang không nạp vào nhớ Bộ nhớ phụ thường sử dụng đĩa, vùng không gian đĩa dùng để lưu trữ tạm trang kỹ thuật swapping gọi không gian swapping 3/5 Bộ nhớ ảo Hình 2.24 Bảng trang với số trang nhớ phụ Lỗi trang Truy xuất đến trang đánh dấu bất hợp lệ làm phát sinh lỗi trang (page fault) Khi dò tìm bảng trang để lấy thông tin cần thiết cho việc chuyển đổi địa chỉ, nhận thấy trang yêu cầu truy xuất bất hợp lệ, chế phần cứng phát sinh ngắt để báo cho hệ điều hành Hệ điều hành xử lý lỗi trang sau : Kiểm tra truy xuất đến nhớ hợp lệ hay bất hợp lệ Nếu truy xuất bất hợp lệ : kết thúc tiến trình Ngược lại : đến bước Tìm vị trí chứa trang muốn truy xuất đĩa Tìm khung trang trống nhớ : Nếu tìm thấy : đến bước Nếu không khung trang trống, chọn khung trang « nạn nhân » chuyển trang « nạn nhân » nhớ phụ (lưu nội dung trang chiếm giữ khung trang lên đĩa), cập nhật bảng trang tương ứng đến bước 4/5 Bộ nhớ ảo Chuyển trang muốn truy xuất từ nhớ phụ vào nhớ : nạp trang cần truy xuất vào khung trang trống chọn (hay vừa làm trống ) ; cập nhật nội dung bảng trang, bảng khung trang tương ứng Tái kích hoạt tiến trình người sử dụng Hình 2.26 Các giai đoạn xử lý lỗi trang 5/5 .. .Bộ nhớ ảo Định nghĩa Bộ nhớ ảo kỹ thuật cho phép xử lý tiến trình không nạp toàn vào nhớ vật lý Bộ nhớ ảo mô hình hoá nhớ bảng lưu trữ lớn đồng nhất, tách... Nhờ việc tách biệt nhớ ảo nhớ vật lý, tổ chức nhớ ảo có kích thước lớn nhớ vật lý Bộ nhớ ảo cho phép giảm nhẹ công việc lập trình viên họ không cần bận tâm đến giới hạn vùng nhớ vật lý, không... 2.24 Bộ nhớ ảo Cài đặt nhớ ảo Bộ nhớ ảo thường thực với kỹ thuật phân trang theo yêu cầu(demand paging) Cũng sử dụng kỹ thuật phân đoạn theo yêu cầu ( demand segmentation) để cài đặt nhớ ảo, nhiên

Ngày đăng: 14/01/2016, 15:17

Xem thêm

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w