Bài giảng Hệ điều hành - Phạm Đăng Hải - Chương 3: Quản lý bộ nhớ
Mục đích của hệ thống máy tính: thực hiện chương trình
Chương trình và dữ liệu (toàn bộ hoặc một phần) phải nằm
trong bộ nhớ chính trong khi thực hiện
Byte tích cực:Những byte nội dung đang được thực hiện tại
thời điểm quan sát:
Phần chương trình chưa đưa vào bộ nhớ chính được lưu trên
bộ nhớ thứ cấp (VD: đĩa cứng )⇒ Bộ nhớ ảo
Cho phép lập trình viên không lo lắng về giới hạn bộ nhớ vật lý
bộ nhớ 2.4 Chiến lược phân trang Nhược điểm Tồn tại hiện tượng phân đoạn trong Luôn xuất hiện ở trang cuối cùng Giảm hiện tương phân đoạn trang bởi giảm kích thước trang ? Hay gặp lỗi trang Bảng quản lý trang lớn Đòi hỏi hỗ trợ của phần cứng Chi phí cho chiến lược phân trang lớn Khi chương trình lớn, bảng quản lý trang nhiều phần tử Chương trình 230, trang 212 PCB có 220 phần tử Tốn bộ nhớ lưu trữ PCB Giải quyết: Trang nhiều mức 70 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Nhược điểm Tồn tại hiện tượng phân đoạn trong Luôn xuất hiện ở trang cuối cùng Giảm hiện tương phân đoạn trang bởi giảm kích thước trang ? Hay gặp lỗi trang Bảng quản lý trang lớn Đòi hỏi hỗ trợ của phần cứng Chi phí cho chiến lược phân trang lớn Khi chương trình lớn, bảng quản lý trang nhiều phần tử Chương trình 230, trang 212 PCB có 220 phần tử Tốn bộ nhớ lưu trữ PCB Giải quyết: Trang nhiều mức 70 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Trang nhiều mức Nguyên tắc: Bảng quản lý trang được phân trang Ví dụ trang 2 mức Máy 32 bít địa chỉ (232); trang kích thước 4K (212) được chia Số hiệu trang -20 bit Độ lệch trong trang -12bit Bảng trang được phân trang. Số hiệu trang được chia thành Bảng trang ngoài (thư mục trang) - 10 bit Độ lệch trong một thư mục trang - 10bit Địa chỉ truy nhập có dạng 71 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Trang nhiều mức: Ví dụ trang 2 mức 72 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Trang nhiều mức: Truy nhập bộ nhớ Khi thực hiện : Hệ thống nạp thư mục trang vào bộ nhớ Bảng trang và trang không sử dụng không cần nạp vào bộ nhớ Cần 3 lần truy nhập tới bộ nhớ Vấn đề: Với hệ thống 64 bit Trang 3, 4,... mức Cần 4, 5,... lần truy nhập bô nhớ ⇒ chậm Giải quyết: Bộ đệm chuyển hóa địa chỉ 73 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Trang nhiều mức: Truy nhập bộ nhớ Khi thực hiện : Hệ thống nạp thư mục trang vào bộ nhớ Bảng trang và trang không sử dụng không cần nạp vào bộ nhớ Cần 3 lần truy nhập tới bộ nhớ Vấn đề: Với hệ thống 64 bit Trang 3, 4,... mức Cần 4, 5,... lần truy nhập bô nhớ ⇒ chậm Giải quyết: Bộ đệm chuyển hóa địa chỉ 73 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Trang nhiều mức: Truy nhập bộ nhớ Khi thực hiện : Hệ thống nạp thư mục trang vào bộ nhớ Bảng trang và trang không sử dụng không cần nạp vào bộ nhớ Cần 3 lần truy nhập tới bộ nhớ Vấn đề: Với hệ thống 64 bit Trang 3, 4,... mức Cần 4, 5,... lần truy nhập bô nhớ ⇒ chậm Giải quyết: Bộ đệm chuyển hóa địa chỉ 73 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Trang nhiều mức: Truy nhập bộ nhớ Khi thực hiện : Hệ thống nạp thư mục trang vào bộ nhớ Bảng trang và trang không sử dụng không cần nạp vào bộ nhớ Cần 3 lần truy nhập tới bộ nhớ Vấn đề: Với hệ thống 64 bit Trang 3, 4,... mức Cần 4, 5,... lần truy nhập bô nhớ ⇒ chậm Giải quyết: Bộ đệm chuyển hóa địa chỉ 73 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Bộ đệm chuyển hóa địa chỉ (TLB: translation look-aside buffers ) Tập thanh ghi liên kết (associative rigisters) Truy nhập song song Mỗi phần tử gồm: khóa và giá trị TLB chứa đ/chỉ những trang mới truy nhập Khi có yêu cầu Tìm trong TLB Nếu không có, tìm trong PCB Đưa vào TLB 98% t/nhập qua TLB 74 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Bộ đệm chuyển hóa địa chỉ (TLB: translation look-aside buffers ) Tập thanh ghi liên kết (associative rigisters) Truy nhập song song Mỗi phần tử gồm: khóa và giá trị TLB chứa đ/chỉ những trang mới truy nhập Khi có yêu cầu Tìm trong TLB Nếu không có, tìm trong PCB Đưa vào TLB 98% t/nhập qua TLB 74 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Bộ đệm chuyển hóa địa chỉ (TLB: translation look-aside buffers ) Tập thanh ghi liên kết (associative rigisters) Truy nhập song song Mỗi phần tử gồm: khóa và giá trị TLB chứa đ/chỉ những trang mới truy nhập Khi có yêu cầu Tìm trong TLB Nếu không có, tìm trong PCB Đưa vào TLB 98% t/nhập qua TLB 74 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Bộ đệm chuyển hóa địa chỉ (TLB: translation look-aside buffers ) Tập thanh ghi liên kết (associative rigisters) Truy nhập song song Mỗi phần tử gồm: khóa và giá trị TLB chứa đ/chỉ những trang mới truy nhập Khi có yêu cầu Tìm trong TLB Nếu không có, tìm trong PCB Đưa vào TLB 98% t/nhập qua TLB 74 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Bộ đệm chuyển hóa địa chỉ (TLB: translation look-aside buffers ) Tập thanh ghi liên kết (associative rigisters) Truy nhập song song Mỗi phần tử gồm: khóa và giá trị TLB chứa đ/chỉ những trang mới truy nhập Khi có yêu cầu Tìm trong TLB Nếu không có, tìm trong PCB Đưa vào TLB 98% t/nhập qua TLB 74 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.5 Chiến lược kết hợp phân đoạn-phân trang 2 Các chiến lược quản lý bộ nhớ Chiến lược phân chương cố định Chiến lược phân chương động Chiến lược phân đoạn Chiến lược phân trang Chiến lược kết hợp phân đoạn-phân trang 75 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.5 Chiến lược kết hợp phân đoạn-phân trang Nguyên tắc Chương trình được biên tập theo chế độ phân đoạn Tạo ra bảng quản lý đoạn SCB Mỗi phần tử của bảng quản lý đoạn ứng với một đoạn, gồm 3 trường M,A, L Mỗi đoạn được biên tập riêng theo chế độ phân trang Tạo ra bảng quản lý trang cho từng đoạn Địa chỉ truy nhập: bộ 3 Thực hiện truy nhập địa chỉ STBR + s ⇒: địa chỉ phần tử s Kiểm tra trường dấu hiệu Ms , nạp PCBs nếu cần As + p ⇒ Địa chỉ phần tử p của PCBs Kiểm tra trường dấu hiệu Mp, nạp PCBs nếu cần Ghep Ap với d ra được địa chỉ cần tiuF Được sử dụng trong VXL Intel 80386, MULTICS . . . Quản lý bộ nhớ của VXL họ intel? Chế độ thực Chế độ bảo vệ 76 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.5 Chiến lược kết hợp phân đoạn-phân trang Nguyên tắc Chương trình được biên tập theo chế độ phân đoạn Tạo ra bảng quản lý đoạn SCB Mỗi phần tử của bảng quản lý đoạn ứng với một đoạn, gồm 3 trường M,A, L Mỗi đoạn được biên tập riêng theo chế độ phân trang Tạo ra bảng quản lý trang cho từng đoạn Địa chỉ truy nhập: bộ 3 Thực hiện truy nhập địa chỉ STBR + s ⇒: địa chỉ phần tử s Kiểm tra trường dấu hiệu Ms , nạp PCBs nếu cần As + p ⇒ Địa chỉ phần tử p của PCBs Kiểm tra trường dấu hiệu Mp, nạp PCBs nếu cần Ghep Ap với d ra được địa chỉ cần tiuF Được sử dụng trong VXL Intel 80386, MULTICS . . . Quản lý bộ nhớ của VXL họ intel? Chế độ thực Chế độ bảo vệ 76 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.5 Chiến lược kết hợp phân đoạn-phân trang Nguyên tắc Chương trình được biên tập theo chế độ phân đoạn Tạo ra bảng quản lý đoạn SCB Mỗi phần tử của bảng quản lý đoạn ứng với một đoạn, gồm 3 trường M,A, L Mỗi đoạn được biên tập riêng theo chế độ phân trang Tạo ra bảng quản lý trang cho từng đoạn Địa chỉ truy nhập: bộ 3 Thực hiện truy nhập địa chỉ STBR + s ⇒: địa chỉ phần tử s Kiểm tra trường dấu hiệu Ms , nạp PCBs nếu cần As + p ⇒ Địa chỉ phần tử p của PCBs Kiểm tra trường dấu hiệu Mp, nạp PCBs nếu cần Ghep Ap với d ra được địa chỉ cần tiuF Được sử dụng trong VXL Intel 80386, MULTICS . . . Quản lý bộ nhớ của VXL họ intel? Chế độ thực Chế độ bảo vệ 76 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.5 Chiến lược kết hợp phân đoạn-phân trang Nguyên tắc Chương trình được biên tập theo chế độ phân đoạn Tạo ra bảng quản lý đoạn SCB Mỗi phần tử của bảng quản lý đoạn ứng với một đoạn, gồm 3 trường M,A, L Mỗi đoạn được biên tập riêng theo chế độ phân trang Tạo ra bảng quản lý trang cho từng đoạn Địa chỉ truy nhập: bộ 3 Thực hiện truy nhập địa chỉ STBR + s ⇒: địa chỉ phần tử s Kiểm tra trường dấu hiệu Ms , nạp PCBs nếu cần As + p ⇒ Địa chỉ phần tử p của PCBs Kiểm tra trường dấu hiệu Mp, nạp PCBs nếu cần Ghep Ap với d ra được địa chỉ cần tiuF Được sử dụng trong VXL Intel 80386, MULTICS . . . Quản lý bộ nhớ của VXL họ intel? Chế độ thực Chế độ bảo vệ 76 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.5 Chiến lược kết hợp phân đoạn-phân trang Nguyên tắc Chương trình được biên tập theo chế độ phân đoạn Tạo ra bảng quản lý đoạn SCB Mỗi phần tử của bảng quản lý đoạn ứng với một đoạn, gồm 3 trường M,A, L Mỗi đoạn được biên tập riêng theo chế độ phân trang Tạo ra bảng quản lý trang cho từng đoạn Địa chỉ truy nhập: bộ 3 Thực hiện truy nhập địa chỉ STBR + s ⇒: địa chỉ phần tử s Kiểm tra trường dấu hiệu Ms , nạp PCBs nếu cần As + p ⇒ Địa chỉ phần tử p của PCBs Kiểm tra trường dấu hiệu Mp, nạp PCBs nếu cần Ghep Ap với d ra được địa chỉ cần tiuF Được sử dụng trong VXL Intel 80386, MULTICS . . . Quản lý bộ nhớ của VXL họ intel? Chế độ thực Chế độ bảo vệ 76 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.5 Chiến lược kết hợp phân đoạn-phân trang Sơ đồ truy nhập bộ nhớ 77 / 81 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ Kết luận 78 / 81 Chương 3: Quản lý bộ nhớ 3. Bộ nhớ ảo Nội dung chính 1 Tổng quan 2 Các chiến lược quản lý bộ nhớ 3 Bộ nhớ ảo 79 / 81 Chương 3: Quản lý bộ nhớ 3. Bộ nhớ ảo 3.1 3 Bộ nhớ ảo 3.1 Giới thiệu 80 / 81 Chương 3: Quản lý bộ nhớ Kết luận 1 Tổng quan Ví dụ Bộ nhớ và chương trình Liên kết địa chỉ Các cấu trúc chương trình 2 Các chiến lược quản lý bộ nhớ Chiến lược phân chương cố định Chiến lược phân chương động Chiến lược phân đoạn Chiến lược phân trang Chiến lược kết hợp phân đoạn-phân trang 3 Bộ nhớ ảo 3.1 Giới thiệu 81 / 81
File đính kèm:
- Bài giảng Hệ điều hành - Phạm Đăng Hải - Chương 3 Quản lý bộ nhớ.pdf