Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 59 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
59
Dung lượng
1,92 MB
Nội dung
Chương Quản lý nhớ Dẫn nhập: • Bộ nhớ thiết bị lưu trữ 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ừ nhớ có địa • Hầu hết hệ điều hành đại cho phép chế độ đa nhiệm => có nhiều process nhớ thời điểm => cần vai trò quản lý nhớ OS Chức quản lý nhớ OS • Sự tương ứng địa logic địa vật lý (physic) : làm cách để chuyển đổi địa tượng trưng (symbolic) chương trình thành địa thực nhớ chính? • Quản lý nhớ vật lý: làm cách để mở rộng nhớ có sẵn nhằm lưu trữ nhiều tiến trình đồng thời? • Chia sẻ thông tin: làm phép hai tiến trình chia sẻ thơng tin nhớ? • Bảo vệ: làm để ngăn chặn tiến trình xâm phạm đến vùng nhớ cấp phát cho tiến trình khác? Địa chuyển đổi địa (1) • Địa – Logic => không gian địa logic – Vật lý => không gian đia vật lý • Chuyển đổi địa logic => vật lý – thời điểm chuyển đổi • Được thực ai? • Ưu nhược điểm ? Địa chuyển đổi địa (2) Test.cpp Bộ nhớ Địa chuyển đổi địa (4) Địa chuyển đổi địa (3) • Các bước chuyển đổi chương trình Các loại địa Chuyển đổi địa (1) • Việc chuyển đổi địa logic -> địa vật lý thực vào thời điểm – compile time – load time – execution time • Nhận xét – Compile time : • Thực vào thời điểm biên dịch • Phải biết trước vị trí nap tiến trình nhớ -> biêndịchlại cho lần nạp sau Chuyển đổi địa (2) • Nhận xét • load time – Thựchiện loader, nạp vào nhớ – Khi có thay đổi vị trí tiến trình (sau đó) cần load lại để tính tốn lại địa • execution time – Nếu trình thực thi tiến trình có di chuyển vị trí tiến trình thời điểm chuyển đổi địa run time – Cần dùng chế phần cứng đặc biệt 10 Cấp phát không liên tục Paging (9) 45 Cấp phát không liên tục Paging (10) • Bảng trang nghịch đảo : – Sử dụng bảng trang nghịch đảo cho tất tiến trình – Mỗi phần tử bảng trang nghịch đảo mơ tả frame có cấu trúc • : số hiệu page mà frame chứa • : id tiến trình sở hữu trang – Địa ảo 46 Cấp phát không liên tục Paging (11) 47 Bộ nhớ ảo • Các mơ hình quản lý nhớ học : – Nạp tồn tiến trình vào nhớ thi hành Vấn đề : (1) Nếu kích thước tiến trình lớn dung lượng nhớ (2) Tại thời điểm có thị thi hành • Mơ hình nhớ ảo : – Nạp thi hành phần tiến trình 48 Bộ nhớ ảo • Bộ nhớ ảo với chế phân trang – Phân chia Không gian địa logic thành page – Dùng nhớ phụ (disk) để mở rộng nhớ chính, lưu trữ phần tt chưa nạp – Bổ sung bit cờ hiệu Page Table để nhận dạng tình trạng page nạp vào nhớ chưa – Cơ chế chuyển đổi BNC BNP : swapping 49 50 51 52 Lỗi trang thay trang • Truy suất đến trang đánh dấu bất hợp lệ (invalid) làm phát sinh lỗi trang, hdh thực : Xác định vị trí trang muốn truy suất đĩa Tìm khung trang trống nhớ Nếu tìm thấy -> đến bước Nếu ko khung trang trống -> chọn nạn nhân Chuyển trang từ đĩa vào bnc; cập nhật nội dung bảng trang, bảng khung trang Tái kích hoạt tiến trình người dùng 53 Các thuật tốn thay trang • Mục tiêu : chọn trang “nạn nhân” trang mà sau thay gây lỗi trang • Các thuật tốn : – FIFO • Ghi nhận thời điểm trang vào bnc => trang lâu chọn – OPT ( tối ưu) • Thay trang lâu sử dụng tương lai => ko khả thi – LRU (least recently used) • Ghi nhận thời điểm cuối trang truy cập =>trang lâu chưa truy suất trang chọn 54 • Bài tâp Xét chuỗi truy xuất nhớ sau: 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, Giả sử nhớ vật lí có khung trang Minh họa kết trình thay trang với thuật tốn thay sau: a) FIFO b) OPT c) LRU 55 • FIFO * * * * 1 1 2 * * * * 5 2 3 3 4 4 -Sử dụng khung trang -Ban đầu khung trang trống -* : có lỗi trang - : trang nạp từ đĩa vào nhớ * * * 3 6 7 2 2 1 1 56 • OPT * * * * 1 1 2 2 * * 1 1 1 2 2 2 3 3 3 4 6 7 2 2 3 3 6 6 * 57 • LRU * * * * 1 1 2 * * 1 1 2 2 3 4 * * * 1 2 2 2 5 3 6 6 7 58 • Đánh giá – Số lỗi trang : FIFO > LRU > OPT – FIFO : dễ cài đặt ; 59