Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
339,3 KB
Nội dung
NGUYÊN LÝ HỆ ĐIỀU HÀNH (3 Tín chỉ) GV: Đỗ Cơng Đức Khoa khoa học máy tính Chương 3: QUẢN LÝ BỘ NHỚ Bộ nhớ thiết bị lưu trữ liệu máy tính thơng qua CPU trao đổi thơng tin với mơi trường ngồi Bộ nhớ tổ chức mảng chiều từ nhớ (word) từ có địa Việc trao đổi thông tin với mơi trường ngồi thao tác đọc ghi liệu vào nhớ địa cụ thể Bộ nhớ gồm có: nhớ (chính) nhớ ngồi (phụ) Nhưng nhớ có hạn mà u cầu nhớ vơ hạn Bộ nhớ tài nguyên dùng để cấp phát chia sẻ cho nhiều tiến trình trạng thái kích hoạt Công cụ quản lý nhớ phân trang (paging) phân đoạn (Segmentation) HĐH kết hợp phân trang phân đoạn để quản lý 6/28/2014 Chương Quản lý nhớ Chương 3: QUẢN LÝ BỘ NHỚ 3.1 Nhiệm vụ quản lý nhớ 3.2 Các cấu trúc chương trình 3.3 Kỹ thuật cấp phát nhớ 3.4 Kỹ thuật cấp phát nhớ ảo 3.5 Các thuật toán thay trang 3.6 Cấp phát khung trang 6/28/2014 Chương Quản lý nhớ NHIỆM VỤ CỦA QUẢN LÝ BỘ NHỚ Trong hệ thống đa chương việc quản lý ộ nhớ phức tạp Bộ phận quản lý nhớ có nhiệm vụ đưa tiến trình vào nhớ để hoạt động Giải trường hợp nhớ khơng cịn khơng gian trống để nạp tiến trình Bảo tiến trình nhớ tránh trường hợp truy xuất bất hợp lệ xảy Cấp vùng nhớ cho tiến trình có yêu cầu Để làm tốt nhiệm vụ phận quản lý nhớ phải thực 6/28/2014 Chương Quản lý nhớ NHIỆM VỤ CỦA QUẢN LÝ BỘ NHỚ 3.1.1 Sự tái định vị (Relocation) Trong hệ thống đa chương nhớ chia sẻ cho nhiều tiến trình nên nhớ tiến trình u cầu ln ln lớn nhớ vật lý hệ thống Khi khơng cịn khơng gian nhớ để nạp chương trình chạy nhớ Swap out đĩa Swap in vào lại vào thời điểm thích hợp HĐH phải lưu lại tất thông tin Swap out để Swap in vào lại phải vị trí nạp trước để tiếp tục hoạt động Sau thực xong HĐH phải tổ chức lại nhớ để chuẩn bị nạp tiến trình khác có u cầu Đơi chương trình swap out swap in vào lại khơng đứng vị trí mà nạp trước 6/28/2014 Chương Quản lý nhớ NHIỆM VỤ CỦA QUẢN LÝ BỘ NHỚ 3.1.2 Bảo vệ nhớ Bảo vệ để chống lại việc truy xuất bất hợp lệ, không tham chiếu đến vùng nhớ dành cho tiến trình khác để thực thao tác đọc/ghi mà không phép mà truy xuất đến khơng gian địa nhớ mà HĐH cấp cho Phải biết địa khơng gian địa tiến trình khác, kiểm tra tất cảc địa truy xuất tất yêu cầu truy xuất nhớ tiến trình tiến trình đưa địa truy xuất Hệ thống quản lý nhớ phải thực không cho tiến trình người sử dụng truy cập đến vị trí hệ điều hành, ngoại trừ vùng liệu mà hệ điều hành cung cấp cho chương trình người sử dụng 6/28/2014 Chương Quản lý nhớ NHIỆM VỤ CỦA QUẢN LÝ BỘ NHỚ 3.1.3 Chia sẻ nhớ Khi nhiều tiến trình thực chương trình việc truy xuất tiến trình đến copy chương trình thuận lợi cho phép tiến trình truy cập đến copy sở hữu riêng Hệ thống quản lý nhớ phải điều khiển việc truy cập đến không gian nhớ chia sẻ mà không vi phạm đến yêu cầu bảo vệ nhớ Ngoài HĐH đa nhiệm phải chia sẻ khơng gian nhớ cho tiến trình để HĐH nạp nhiều tiến trình vào nhớ tiến trình hoạt động đồng thời với 6/28/2014 Chương Quản lý nhớ NHIỆM VỤ CỦA QUẢN LÝ BỘ NHỚ 3.1.4 Tổ chức nhớ Logic Đa số chương trình chia thành modul, vài số khơng thể thay đổi (read only, execute only) Nếu HĐH phần cứng giao dịch với chương trình người sử dụng, liệu modul số thuận lợi thấy rõ sau Các modul viết biên dịch độc lập, với tất tham chiếu từ modul đến modul khác giải hệ thống thời điểm chạy Các mức độ khác bảo vệ, read-only, execute-only, cho modul khác Nó đưa chế để modul chia sẻ tiến trình Cơng cụ đáp ứng cho u cầu phân đoạn (segmentation) 6/28/2014 Chương Quản lý nhớ NHIỆM VỤ CỦA QUẢN LÝ BỘ NHỚ 3.1.5 Tổ chức nhớ vật lý Bộ nhớ máy tính gồm nhớ nhớ phụ Bộ nhớ chính: truy cập nhanh liệu chương trình giữ khối lượng nhỏ, sử dụng thời điểm không lưu trữ lâu dài phải thường xuyên làm tươi Bộ nhớ phụ: truy cập chậm, lưu trữ lớn cho phép lưu trữ chương trình liệu khoảng thời gian dài 6/28/2014 Chương Quản lý nhớ NHIỆM VỤ CỦA QUẢN LÝ BỘ NHỚ 3.1.5 Tổ chức nhớ vật lý Thơng tin nhớ nhớ phụ hệ thống, người lập trình khơng thực việc ngun nhân sau: Khơng gian nhớ dành cho chương trình với liệu thường khơng đủ, người lập trình phải tiến hành thao tác Overlaying, chương trình liệu phải tổ chức thành modul gán vùng nhớ Trong chương trình chịu trách nhiệm chuyển modul vào cần thiết Người lập trình khơng thể biết thời điểm xác định có khơng gian nhớ cịn trống khơng gian nhớ trống 6/28/2014 Chương Quản lý nhớ 10 KỸ THUẬT CẤP PHÁT BỘ NHỚ CHÍNH 3.3.2 Kỹ thuật phân vùng động Sử dụng ghi đặc biệt • Thanh ghi sở (base register): dùng để ghi địa sở tiến trình tiến trình nạp vào nhớ • Thanh ghi giới hạn (limit register): dùng để ghi địa cuối tiến trình nhớ Việc thiết lập giá trị ghi thực tiến trình lần nạp swap in vào lại nhớ • Thứ nhất: cộng địa ô nhớ với giá trị địa ghi sở để có địa tuyệt đối nhớ cần truy xuất • Địa so sánh với ghi giới hạn: nằm giới hạn cho truy xuất, ngược lại ngát lỗi truy xuất nhớ 6/28/2014 Chương Quản lý nhớ 36 KỸ THUẬT CẤP PHÁT BỘ NHỚ CHÍNH 3.3.2 Kỹ thuật phân vùng động Địa tương đối Điều khiển tiến trình Base Register Cộng Limit Register So sánh Program < Data Stack Gởi ngắt đến hệ điều hành Tiến trình nhớ • Hạn chế kỹ thuật phân mảnh nhớ lãng phí nhớ Để khắc phục HĐH sử dụng phân trang/phân đoạn 6/28/2014 Chương Quản lý nhớ 37 KỸ THUẬT CẤP PHÁT BỘ NHỚ CHÍNH 3.3.3 Kỹ thuật phân trang đơn 6/28/2014 Chương Quản lý nhớ 38 KỸ THUẬT CẤP PHÁT BỘ NHỚ CHÍNH 3.3.4 Kỹ thuật phân đoạn đơn 6/28/2014 Chương Quản lý nhớ 39 KỸ THUẬT BỘ NHỚ ẢO 3.4.1 Bộ nhớ ảo Kỹ thuật nhớ ảo kỹ thuật đại giải giới hạn nhớ máy tính Kỹ thuật cấp phát nhớ phân trang/phân đoạn có đặc điểm: • Địa tham chiếu phạm vi tiến trình địa logíc chuyển thành địa vật lý cách tự động thời điểm chạy tiến trình Như tiến trình swap out swap in lại khơng cần phải địa swap out • Một tiến trình chia thành nhiều trang/đoạn khác nạp vào vị trí liên tục nhớ trình thực tiến trình 6/28/2014 Chương Quản lý nhớ 40 KỸ THUẬT BỘ NHỚ ẢO 3.4.1 Bộ nhớ ảo Kỹ thuật khắc phục hạn chế phân vùng cố định, phân vùng động hạn chế phải nạp tất trang/đoạn vào nhớ kích thước chương trình ngày lớn Khắc phục hạn chế kỹ thuật nhớ ảo đời dựa vào kỹ thuật phân trang/đoạn • Bộ nhớ ảo không nạp tất trang/đoạn vào nhớ mà nạp trang/đoạn cần thiết Khi cần nhớ ảo dựa vào bảng PCT, SCT để nạp trang • Nếu nạp mà khơng cịn trang/đoạn trống phận quản lý nhớ đưa trang/đoạn swap out ngồi để lấy khơng gian nạp nhớ cho tiến trình khác yêu cầu Các tiến trình bị swap out swap in vào thời điểm thích hợp 6/28/2014 Chương Quản lý nhớ 41 KỸ THUẬT BỘ NHỚ ẢO 3.4.1 Bộ nhớ ảo Để cài đặt nhớ ảo HĐH phải • Khơng gian nhớ phụ cần thiết chứa trang/đoạn không gian để swap out, không gian đĩa gọi khơng gian swap • Theo dõi khơng gian trang/đoạn nằm nhớ chính/phụ bít present vào PCT, SCT • Dựa vào tiêu chuẩn để lựa chọn trang/đoạn nhớ swap out ngồi đĩa 6/28/2014 Chương Quản lý nhớ 42 KỸ THUẬT BỘ NHỚ ẢO 3.4.1 Bộ nhớ ảo Việc sử dụng nhớ ảo có số số lợi ích sau: • Nạp nhiều tiến trình vào nhớ phận quản lý nhớ không nạp tất vào nhớ • Có thể nạp vào nhớ tiến trình có khơng gian lớn nhớ vật lý với thiết kế chương trình cấu trúc Overlay nhờ có hỗ trợ HĐH phần cứng • Khơng cần nạp tất tiến trình vào nhớ mà nạp phần nạp vào nhớ thị liệu chương trình cần thiết cho việc thi hành lệnh thời điểm • Người sử dụng làm việc với địa ảo việc chuyển đổi sang địa vật lý HĐH đảm nhiệm chế phần cứng 6/28/2014 Chương Quản lý nhớ 43 KỸ THUẬT BỘ NHỚ ẢO 3.4.2 Cài đặt nhớ ảo 6/28/2014 Chương Quản lý nhớ 44 CÁC THUẬT TỐN THAY TRANG 3.5.1 Thuật tốn FIFO 6/28/2014 Chương Quản lý nhớ 45 CÁC THUẬT TOÁN THAY TRANG 3.5.2 Thuật toán LRU 6/28/2014 Chương Quản lý nhớ 46 CÁC THUẬT TOÁN THAY TRANG 3.5.3 Thuật toán Optional 6/28/2014 Chương Quản lý nhớ 47 CẤP PHÁT KHUNG TRANG 3.5.3 Thuật toán Optional 6/28/2014 Chương Quản lý nhớ 48 TỔNG KẾT Trong chương này, học: 6/28/2014 Chương Quản lý nhớ 49 CÂU HỎI VÀ BÀI TẬP VỀ NHÀ 6/28/2014 Chương Quản lý nhớ 50 ... 6/28/2014 Chương Quản lý nhớ Chương 3: QUẢN LÝ BỘ NHỚ 3. 1 Nhiệm vụ quản lý nhớ 3. 2 Các cấu trúc chương trình 3. 3 Kỹ thuật cấp phát nhớ 3. 4 Kỹ thuật cấp phát nhớ ảo 3. 5 Các thuật toán thay trang 3. 6... định Khắc phục điều sử dụng phân vùng có kích thước không cách: New Process New Process Hệ điều hành 6/28/2014 Chương Quản lý nhớ Hệ điều hành 26 KỸ THUẬT CẤP PHÁT BỘ NHỚ CHÍNH 3. 3.1 Kỹ thuật phân... sư đa chương HĐH tăng lên 6/28/2014 Chương Quản lý nhớ 16 CẤU TRÚC CHƯƠNG TRÌNH 3. 2 .3 Cấu trúc chương trình Overlay Cấu trúc Overlay chương trình biên dịch thành modul riêng lẽ phân thành lớp,