Nguyên lí các hệ điều hành chương 3 : Quản lý bộ nhớ

137 150 0
Nguyên lí các hệ điều hành  chương 3 : Quản lý bộ nhớ

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Hệ Điều Hành (Nguyên lý hệ điều hành) Đỗ Quốc Huy huydq@soict.hust.edu.vn Bộ mơn Khoa Học Máy Tính Viện Công Nghệ Thông Tin Truyền Thông Chương Quản lý nhớ l Mục đích hệ thống máy tính: thực chương trình l Chương trình liệu (toàn phần) phải nằm nhớ thực l Byte tích cực:Những byte nội dung thực thời điểm quan sát l Phần chương trình chưa đưa vào nhớ lưu nhớ thứ cấp (VD: đĩa cứng)⇒ Bộ nhớ ảo l Cho phép lập trình viên không lo lắng giới hạn nhớ vật lý l Để s/d CPU hiệu tăng tốc độ đáp ứng hệ thống: l Cần luân chuyển CPU thường xuyên tiến trình Điều phối CPU (Phần 3- Chương 2) l Cần nhiều tiến trình sẵn sàng nhớ l Hệ số song song hệ thống: Số tiến trình đồng thời tồn hệ thống l Tồn nhiều chiến lược quản lý nhớ khác l Nhiều chiến lược đòi hỏi trợ giúp từ phần cứng l Thiết kế phần cứng tích hợp chặt chẽ với HDH Chương Quản lý nhớ ①Tổng quan ②Các chiến lược quản lý nhớ ③Bộ nhớ ảo ④Quản lý nhớ VXL họ Intel Chương Quản lý nhớ Tổng quan lVí dụ lBộ nhớ chương trình lLiên kết địa lCác cấu trúc chương trình Chương 3: Quản lý nhớ Tổng quan 1.1 Ví dụ Q trình biên dịch file C Chương 3: Quản lý nhớ Tổng quan 1.1 Ví dụ Quá trình biên dịch file C Chương 3: Quản lý nhớ Tổng quan 1.1 Ví dụ Q trình biên dịch file C Chương 3: Quản lý nhớ Tổng quan 1.1 Ví dụ Q trình biên dịch file C Chương 3: Quản lý nhớ Tổng quan 1.1 Ví dụ Q trình biên dịch file C Chương 3: Quản lý nhớ Tổng quan 1.1 Ví dụ Ví dụ : Tạo chương trình thực thi từ nhiều modul Toto project file main.c #include extern int x, y; extern void toto(); int main(int argc, char *argv[]){ toto(); printf("KQ: %d \n",x * y); return 0; } Kết KQ: 1000 file M1.c int y = 10; file M2.c int x; extern int y; void toto(){ x = 10 * y; } Chương 3: Quản lý nhớ Bộ nhớ ảo 3.1 Giới thiệu Khái niệm nhớ ảo l Dùng nhớ thứ cấp (HardDisk) lưu trữ phần chương trình chưa đưa vào nhớ vật lý l Phân tách nhớ logic (của người dùng) với nhớ vật lý l Cho phép thể ánh xạ vùng nhớ logic lớn vào nhớ vật lý nhỏ l Cài đặt theo l Phân trang l Phân đoạn Chương 3: Quản lý nhớ Bộ nhớ ảo 3.1 Giới thiệu Nạp phần trang chương trình vào nhớ l Trang tiến trình: l nhớ vật lý, l số trang nằm đĩa(bộ nhớ ảo) l Biểu diễn nhờ sử dụng bit bảng quản lý trang l Khi yêu cầu trang, đưa trang từ nhớ thứ cấp -> nhớ vật lý Chương 3: Quản lý nhớ Bộ nhớ ảo 3.1 Giới thiệu Xử lý lỗi trang Nếu khơng có frames tự do, phải tiến hành đổi trang Chương 3: Quản lý nhớ Bộ nhớ ảo 3.1 Giới thiệu Đổi trang ① Xác định vị trí trang logic đĩa ② Lựa chọn trang vật lý l Ghi đĩa l Sửa lại bit validinvalid ③ Nạp trang logic vào trang vật lý chọn ④ Restart tiến trình Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Các chiến lược đổi trang ①Giới thiệu ②Các chiến lược đổi trang Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Các chiến lược đổi trang Các chiến lược l FIFO (First In First Out): Vào trước trước l OPT/MIN: Thuật toán thay trang tối ưu l LRU (Least Recently Used): Trang có lần sử dụng cuối cách lâu l LFU (Least Frequently used):Tần xuất sử dụng thấp l MFU (Most Frequently used): Tần xuất sử dụng cao l Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Các chiến lược đổi trang FIFO Ví dụ Nhận xét l Hiệu chương trình có cấu trúc tuyến tính l Kém hiểu chương trình theo nguyên tắc lập trình cấu trúc l Đơn giản dễ thực l Dùng hàng đợi lưu trang chương trình nhớ l Chèn cuối hàng, Thay trang đầu hàng l Tăng trang vật lý, không đảm bảo giảm số lần gặp lỗi trang l Dãy truy nhập: 5 l frames: lỗi trang; frames: 10 lỗi trang Chương 3: Quản lý nhớ Bộ nhớ ảo OPT 3.2 Các chiến lược đổi trang OPT Nguyên tắc: Đưa trang có lần sử dụng cách xa l Số lần gặp lỗi trang l Khó dự báo diễn biến chương trình Chương 3: Quản lý nhớ Bộ nhớ ảo L RU 3.2 Các chiến lược đổi trang ✞ LRU Nguyên tắc: Đưa trang có lần sử dụng cuối cách xa l Hiệu cho chiến lược thay trang l Đảm bảo giảm số lỗi trang tăng số trang vật lý l Tập trang nhớ có n frames ln tập trang nhớ có n + frames l Y/cầu trợ giúp kỹ thuật để thời điểm truy nhập cuối l Cài đặt nào? Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Các chiến lược đổi trang LRU: Cài đặt l Bộ đếm l Thêm trường ghi thời điểm truy nhập vào phần tử PCB l Thêm vào khối điều khiển (C.U) đồng hồ/bộ đếm l Khi có yêu cầu truy nhâp trang l Tăng đếm l Chép nội dung đếm vào trường thời điểm truy nhập phần tử tương ứng PCB l Cần có thủ tục cập nhật PCB (ghi vào trường thời điểm) thủ tục tìm kiếm trang có giá trị trường thời điểm nhỏ l Hiện tượng tràn số !? l Dãy số (Stack) l Dùng dãy số ghi số trang l Truy nhập tới trang, cho phần tử tương ứng lên đầu dãy l Thay trang: Phần tử cuối dãy l Thường cài đặt dạng DSLK chiều l phép gán trỏ ⇒ tốn thời gian Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Các chiến lược đổi trang Thuật toán dựa đếm Sử dụng đếm (một trường PCB) ghi nhận số lần truy nhập tới trang l LFU: Trang có đếm nhỏ bị thay l Trang truy nhập nhiều đến l Trang quan trọng ⇒ hợp lý l Trang khởi tạo, dùng giai đoạn đầu ⇒ không hợp lý ⇒Dịch đếm bit (chia đôi) theo thời gian l MFU: Trang có đếm lớn l Trang có đếm nhỏ nhất, vừa nạp vào chưa sử dụng nhiều Chương Quản lý nhớ ①Tổng quan ②Các chiến lược quản lý nhớ ③Bộ nhớ ảo ④Quản lý nhớ VXL họ Intel Chương 3: Quản lý nhớ Quản lý nhớ vi xử lý họ Intel Các chế độ l Intel 8086, 8088 l Chỉ có chế độ quản lý: Chế độ thực (Real Mode) l Quản lý vùng nhớ lên đến 1MB ( 20bit ) l Xác định địa ô nhớ giá trị 16 bit: Segment, Offset l Thanh ghi đoạn: CS, SS, DS, ES, l Thanh ghi độ lệch: IP, SP, BP l Địa vật lý: Seg SHL + Ofs l Intel 80286 l Chế độ thực, tương thích với 8086 l Chế độ bảo vệ (Protected mode), l Sử dụng phương pháp phân đoạn l Khai thác nhớ vật lý 16M (24bit ) l Intel 80386, Intel 80486, Pentium, l Chế độ thực, tương thích với 8086 l Chế độ bảo vệ :Kết hợp phân đoạn, phân trang l Chế độ ảo (Virtual mode) l Cho phép thực mã 8086 chế độ bảo vệ Chương 3: Quản lý nhớ Quản lý nhớ vi xử lý họ Intel Chế độ bảo vệ Intel 386, 486, Pentium, Chương 3: Quản lý nhớ Kết luận ① Tổng quan Ví dụ Bộ nhớ chương trình Liên kết địa Các cấu trúc chương trình ② Các chiến lược quản lý 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 ③ Bộ nhớ ảo Giới thiệu Các chiến lược đổi trang ④ Quản lý nhớ VXL họ Intel ... M1 Hệ điều hành M0 M2 M3 l Mỗi modul biên tập riêng l Khi thực hiện, hệ thống định vị modul gốc Chương 3: Quản lý nhớ Tổng quan 1.4 Các cấu trúc chương trình Cấu trúc nạp động M0 M1 M2 Hệ điều. .. đáp ứng hệ thống: l Cần luân chuyển CPU thường xuyên tiến trình Điều phối CPU (Phần 3- Chương 2) l Cần nhiều tiến trình sẵn sàng nhớ l Hệ số song song hệ thống: Số tiến trình đồng thời tồn hệ thống... cần thiết ngồi Chương 3: Quản lý nhớ Tổng quan 1.4 Các cấu trúc chương trình Cấu trúc nạp động Hệ điều hành M0 M1 M0 M3 M2 M3 l l l l Mỗi modul biên tập riêng Khi thực hiện, hệ thống định vị modul

Ngày đăng: 20/05/2020, 15:28

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