Bài giảng Hệ điều hành: Chương 3 do TS. Ngô Hữu Dũng biên soạn nhằm mục đích phục vụ cho việc giảng dạy. Nội dung bài giảng gồm có: Chức năng quản lý bộ nhớ của OS, địa chỉ và chuyển đổi địa chỉ, các mô hình tổ chức bộ nhớ, khuyết điểm của cấp phát liên tục,...
HỆ ĐIỀU HÀNH (OPERATING SYSTEM CONCEPTS) Wiley - Operating System Concepts(Silberschatz).9th Giới thiệu môn học Mục tiêu môn học Vai trò HĐH Nguyên lý hoạt động HĐH đa nhiệm Nội dung Phần 1: Tổng quan (Overview) Phần 2: Quản lý tiến trình (Process Management) Phần 3: Quản lý nhớ (Memory Management) Phần 4: Quản lý I/O (I/O Management) Phần 5: Quản lý hệ thống file (Storage Management) 1.2 Memory Management CHƯƠNG 3: QUẢN LÝ BỘ NHỚ 1.3 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 1.4 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? 1.5 Đị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 ? 1.6 Địa chuyển đổi địa (2) Test.c pp Bộ nhớ 1.7 Địa chuyển đổi địa (3) Các bước chuyển đổi chương trình 1.8 Địa chuyển đổi địa (4) 1.9 Các loại địa Địa logic: gọi địa ảo, tất địa xử lý tạo Địa physic: địa thực tế mà chương trình quản lý nhớ nhìn thấy thao tác Không gian địa chỉ: tập hợp tất địa ảo phát sinh chương trình Không gian vật lý: tập hợp tất địa vật lý tương ứng với địa ảo 1.10 Cấp phát không liên tục Paging (11) 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 1.50 Cấp phát không liên tục Paging (12) 1.51 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 (2) Tại kích thước tiến trình lớn dung lượng nhớ 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 1.52 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 1.53 1.54 1.55 1.56 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 1.57 Các thuật toá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 toán : FIFO OPT ( tối ưu) Ghi nhận thời điểm trang vào bnc => trang lâu chọn 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 1.58 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 1.59 c) LRU FIFO 2 * * * * 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ớ 1.60 * * * 3 6 7 2 2 1 1 OPT * * * * 1 1 2 * * 1 1 1 2 2 2 3 3 3 4 6 1.61 2 7 2 2 3 3 6 6 * LRU * * * * 1 1 2 * * 1 1 2 2 3 4 1.62 2 * * * 1 2 2 2 5 3 6 6 7 Đánh giá Số lỗi trang : FIFO > LRU > OPT FIFO : dễ cài đặt ; 1.63 Xem xét chuỗi tham chiếu trang sau: 1,2,3,4,2,1,5,6,2,1,4,5,7,6,3,1 Bao nhiêu page_fault xuất giải thuật thay page FIFO, OPT, LRU (giả thuyết cấp frame) 1.64 ... địa vào lúc run-time - MMU thi hành - sử dụng segment table để lưu thông tin cấp phát nhớ - tiến trình có segment table Lưu trữ segment table : - Cache : đủ nhỏ - Bộ nhớ : segment-table base register,... duyệt tồn danh sách Sẽ tạo trống dư lớn First-fit best-fit tốt worst-fit mặt tốc độ việc tận dụng nhớ 1. 23 Cấp phát liên tục dynamic partitioning 1.24 Bài tập Trong mơ hình cấp phát nhớ liên tục,... Phần 3: Quản lý nhớ (Memory Management) Phần 4: Quản lý I/O (I/O Management) Phần 5: Quản lý hệ thống file (Storage Management) 1.2 Memory Management CHƯƠNG 3: QUẢN LÝ BỘ NHỚ 1 .3 Dẫn nhập: