HỆ điều HÀNH CHƯƠNG 3 QUẢN lý bộ NHỚ, bộ NHỚ ảo

24 348 0
HỆ điều HÀNH   CHƯƠNG 3 QUẢN lý bộ NHỚ, bộ NHỚ ảo

Đ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 HỆ ĐIỀU HÀNH Phạm Đăng Hải haipd-fit@mail.hut.edu.vn Bộ môn Khoa học Máy tính Viện Công nghệ Thông tin & Truyền Thông Ngày tháng năm 2011 / 18 Chương 3: Quản lý nhớ Chương Quản lý nhớ / 18 Chương 3: Quản lý nhớ Giới thiệu Mục đích hệ thống máy tính: thực chương trình Chương trình liệu (toàn phần) phải nằm nhớ thực Byte tích cực:Những byte nội dung thực thời điểm quan sát: 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 Cho phép lập trình viên không lo lắng giới hạn nhớ vật lý / 18 Chương 3: Quản lý nhớ Giới thiệu Mục đích hệ thống máy tính: thực chương trình Chương trình liệu (toàn phần) phải nằm nhớ thực Byte tích cực:Những byte nội dung thực thời điểm quan sát: 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 Cho phép lập trình viên không lo lắng giới hạn nhớ vật lý Để s/d CPU hiệu tăng tốc độ đáp ứng hệ thống: 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 ) Cần nhiều tiến trình sẵn sàng nhớ Hệ số song song hệ thống: Số tiến trình đồng thời tồn hệ thống / 18 Chương 3: Quản lý nhớ Giới thiệu Mục đích hệ thống máy tính: thực chương trình Chương trình liệu (toàn phần) phải nằm nhớ thực Byte tích cực:Những byte nội dung thực thời điểm quan sát: 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 Cho phép lập trình viên không lo lắng giới hạn nhớ vật lý Để s/d CPU hiệu tăng tốc độ đáp ứng hệ thống: 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 ) Cần nhiều tiến trình sẵn sàng nhớ Hệ số song song hệ thống: Số tiến trình đồng thời tồn hệ thống Tồn nhiều sơ đồ quản lý nhớ khác Nhiều sơ đồ đòi hỏi trợ giúp từ phần cứng Thiết kế phần cứng tích hợp chặt chẽ với HDH / 18 Chương 3: Quản lý nhớ Nội dung / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo Nội dung Bộ nhớ ảo / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Giới thiệu Bộ nhớ ảo 3.1 Giới thiệu 3.2 Các chiến lược đổi trang / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Giới thiệu Đặt vấn đề Câu lệnh phải nằm nhớ thực ! / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Giới thiệu Đặt vấn đề Câu lệnh phải nằm nhớ thực ! Toàn chương trình phải nằm nhớ ? Cấu trúc động; cấu trúc Overlays : Nạp phần Đòi hỏi ý đặc biệt từ lập trình viên ⇒Không cần thiết Đoạn chương trình xử lý báo lỗi Lỗi xảy tra, thực Phần khai báo mảng, danh sách không dùng tới Khai báo ma trận 100x100, sử dụng 10x 10 / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Giới thiệu Đặt vấn đề Câu lệnh phải nằm nhớ thực ! Toàn chương trình phải nằm nhớ ? Cấu trúc động; cấu trúc Overlays : Nạp phần Đòi hỏi ý đặc biệt từ lập trình viên ⇒Không cần thiết Đoạn chương trình xử lý báo lỗi Lỗi xảy tra, thực Phần khai báo mảng, danh sách không dùng tới Khai báo ma trận 100x100, sử dụng 10x 10 Thực chương trình có phần nằm nhớ Cho phép viết chương trình không gian địa áo (virtual address space) lớn tùy ý Cho phép nhiều chương trình đồng thời tồn tại, tăng hiệu suất sử dụng CPU Giảm yêu cầu vào cho việc nạp hoán đổi chương trình / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Giới thiệu Bộ nhớ ảo 8/ Phân tách nhớ logic với nhớ vật lý 18 Cài đặt theo kiểu phân trang/phân đoạn Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Giới thiệu Nạp phần trang chương trình vào nhớ / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Giới thiệu Xử lý lỗi trang Nếu frames tự do, phải tiến hành đổi trang 10 / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Các chiến lược đổi trang Bộ nhớ ảo 3.1 Giới thiệu 3.2 Các chiến lược đổi trang 11 / 18 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 FIFO (First In First Out): Vào trước trước OPT/MIN Thuật toán thay trang tối ưu LRU (Least Recently Used): Trang có lần sử dụng cuối cách lâu LFU (Least Frequently used):Tần xuất sử dụng thấp MFU (Most Frequently used): Tần xuất sử dụng cao 12 / 18 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 Hiệu chương trình có cấu trúc tuyến tính Kém hiểu chương trình theo nguyên tắc lập trình cấu trúc Đơn giản dễ thực Dùng hàng đợi lưu trang chương trình nhớ Chèn cuối hàng, Thay trang đầu hàng Tăng trang vật lý, không đảm bảo giảm số lần gặp lỗi trang 13 / 18 Dãy truy nhập: 5 frames: lỗi trang; frames: 10 lỗi trang Chương 3: Quản lý nhớ Bộ nhớ ảo 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 ✆ ✝ Số lần gặp lỗi trang Khó dự báo diễn biến chương trình 14 / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo 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 ✆ ✝ Hiệu cho chiến lược thay trang Đảm bảo giảm số lỗi trang tăng số trang vật lý Tập trang nhớ có n frames tập trang nhớ có n + frames Y/cầu trợ giúp kỹ thuật để thời điểm truy nhập cuối Cài đặt nào? 15 / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo 3.2 Các chiến lược đổi trang LRU: Cài đặt Bộ đếm Thêm trường ghi thời điểm truy nhập vào phần tử PCB Thêm vào khối điều khiển (C.U) đồng hồ/bộ đếm Khi có yêu cầu truy nhâp trang Tăng đếm Chép nội dung đếm vào trường thời điểm truy nhập phần tử tương ứng PCB 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ỏ Hiện tượng tràn số !? Dãy số Dùng dãy số ghi số trang Truy nhập tới trang, cho phần tử tương ứng lên đầu dãy Thay trang: Phần tử cuối dãy Thường cài đặt dạng DSLK chiều phép gán trỏ ⇒ tốn thời gian 16 / 18 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 17 / 18 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 LFU: Trang có đếm nhỏ bị thay Trang truy nhập nhiều đến Trang quan trọng ⇒ hợp 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 17 / 18 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 LFU: Trang có đếm nhỏ bị thay Trang truy nhập nhiều đến Trang quan trọng ⇒ hợp 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 MFU: Trang có đếm lớn nhât Trang có đếm nhỏ nhất, vừa nạp vào chưa sử dụng nhiều 17 / 18 Chương 3: Quản lý nhớ Kết luận Bộ nhớ ảo 3.1 Giới thiệu 3.2 Các chiến lược đổi trang 18 / 18 [...]... đoạn Chương 3: Quản lý bộ nhớ 3 Bộ nhớ ảo 3. 2 Giới thiệu Nạp từng phần của trang chương trình vào bộ nhớ 9 / 18 Chương 3: Quản lý bộ nhớ 3 Bộ nhớ ảo 3. 2 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 10 / 18 Chương 3: Quản lý bộ nhớ 3 Bộ nhớ ảo 3. 2 Các chiến lược đổi trang 1 Bộ nhớ ảo 3. 1 Giới thiệu 3. 2 Các chiến lược đổi trang 11 / 18 Chương 3: Quản lý bộ nhớ 3 Bộ nhớ ảo. .. ⇒ tốn thời gian 16 / 18 Chương 3: Quản lý bộ nhớ 3 Bộ nhớ ảo 3. 2 Các chiến lược đổi trang Thuật toán dựa trên bộ đếm Sử dụng bộ đếm (một trường của PCB) ghi nhận số lần truy nhập tới trang 17 / 18 Chương 3: Quản lý bộ nhớ 3 Bộ nhớ ảo 3. 2 Các chiến lược đổi trang Thuật toán dựa trên bộ đếm Sử dụng bộ đếm (một trường của PCB) ghi nhận số lần truy nhập tới trang LFU: Trang có bộ đếm nhỏ nhất bị thay thế... 10 Thực hiện chương trình chỉ có 1 phần nằm trong bộ nhớ Cho phép viết chương trình trong không gian địa chỉ áo (virtual address space) lớn tùy ý Cho phép nhiều chương trình đồng thời tồn tại, tăng hiệu suất sử dụng CPU Giảm yêu cầu vào ra cho việc nạp và hoán đổi chương trình 7 / 18 Chương 3: Quản lý bộ nhớ 3 Bộ nhớ ảo 3. 2 Giới thiệu Bộ nhớ ảo 8/ Phân tách bộ nhớ logic với bộ nhớ vật lý 18 Cài đặt... trang vật lý Tập các trang trong bộ nhớ có n frames luôn là tập con của các trang trong bộ nhớ có n + 1 frames Y/cầu sự trợ giúp kỹ thuật để chỉ ra thời điểm truy nhập cuối Cài đặt như thế nào? 15 / 18 Chương 3: Quản lý bộ nhớ 3 Bộ nhớ ảo 3. 2 Các chiến lược đổi trang LRU: Cài đặt Bộ đếm Thêm một trường ghi thời điểm truy nhập vào mỗi phần tử của PCB Thêm vào khối điều khiển (C.U) đồng hồ /bộ đếm Khi.. .Chương 3: Quản lý bộ nhớ 3 Bộ nhớ ảo 3. 2 Giới thiệu Đặt vấn đề Câu lệnh phải nằm trong bộ nhớ khi thực hiện ! Toàn bộ chương trình phải nằm trong bộ nhớ ? Cấu trúc động; cấu trúc Overlays : Nạp từng phần Đòi hỏi sự chú ý đặc biệt từ lập trình viên ⇒Không cần thiết Đoạn chương trình xử lý báo lỗi Lỗi ít xảy tra, ít được thực hiện Phần khai báo... Quản lý bộ nhớ 3 Bộ nhớ ảo 3. 2 Các chiến lược đổi trang OPT ✞ ☎ Nguyên tắc: Đưa ra trang có lần sử dụng tiếp theo cách xa nhất ✆ ✝ Số lần gặp lỗi trang ít nhất Khó dự báo được diễn biến của chương trình 14 / 18 Chương 3: Quản lý bộ nhớ 3 Bộ nhớ ảo 3. 2 Các chiến lược đổi trang LRU ✞ ☎ Nguyên tắc: Đưa ra trang có lần sử dụng cuối cách xa nhất ✆ ✝ Hiệu quả cho chiến lược thay thế trang Đảm bảo giảm số lỗi... quan trọng ⇒ hợp lý Trang khởi tạo, chỉ được dùng ở giai đoạn đầu ⇒ không hợp lý ⇒Dịch bộ đếm một bit (chia đôi) theo thời gian 17 / 18 Chương 3: Quản lý bộ nhớ 3 Bộ nhớ ảo 3. 2 Các chiến lược đổi trang Thuật toán dựa trên bộ đếm Sử dụng bộ đếm (một trường của PCB) ghi nhận số lần truy nhập tới trang LFU: Trang có bộ đếm nhỏ nhất bị thay thế Trang truy nhập nhiều đến Trang quan trọng ⇒ hợp lý Trang khởi... khi chương trình có cấu trúc tuyến tính Kém hiểu quả khi chương trình theo nguyên tắc lập trình cấu trúc Đơn giản dễ thực hiện Dùng hàng đợi lưu các trang của chương trình trong bộ nhớ Chèn ở cuối hàng, Thay thế trang ở đầu hàng Tăng trang vật lý, không đảm bảo giảm số lần gặp lỗi trang 13 / 18 Dãy truy nhập: 1 2 3 4 1 2 5 1 2 3 4 5 3 frames: 9 lỗi trang; 4 frames: 10 lỗi trang Chương 3: Quản lý bộ nhớ. .. đến Trang quan trọng ⇒ hợp lý Trang khởi tạo, chỉ được dùng ở giai đoạn đầu ⇒ không hợp lý ⇒Dịch bộ đếm một bit (chia đôi) theo thời gian MFU: Trang có bộ đếm lớn nhât Trang có bộ đếm nhỏ nhất, vừa mới được nạp vào và vẫn chưa được sử dụng nhiều 17 / 18 Chương 3: Quản lý bộ nhớ Kết luận 1 Bộ nhớ ảo 3. 1 Giới thiệu 3. 2 Các chiến lược đổi trang 18 / 18 ... Quản lý bộ nhớ 3 Bộ nhớ ảo 3. 2 Các chiến lược đổi trang Các chiến lược FIFO (First In First Out): Vào trước ra trước OPT/MIN Thuật toán thay thế trang tối ưu LRU (Least Recently Used): Trang có lần sử dụng cuối cách lâu nhất LFU (Least Frequently used):Tần xuất sử dụng thấp nhất MFU (Most Frequently used): Tần xuất sử dụng cao nhất 12 / 18 Chương 3: Quản lý bộ nhớ 3 Bộ nhớ ảo 3. 2 Các chiến lược đổi trang ... với HDH / 18 Chương 3: Quản lý nhớ Nội dung / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo Nội dung Bộ nhớ ảo / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo 3. 2 Giới thiệu Bộ nhớ ảo 3. 1 Giới thiệu 3. 2 Các chiến... logic với nhớ vật lý 18 Cài đặt theo kiểu phân trang/phân đoạn Chương 3: Quản lý nhớ Bộ nhớ ảo 3. 2 Giới thiệu Nạp phần trang chương trình vào nhớ / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo 3. 2 Giới... 18 Chương 3: Quản lý nhớ Bộ nhớ ảo 3. 2 Giới thiệu Đặt vấn đề Câu lệnh phải nằm nhớ thực ! / 18 Chương 3: Quản lý nhớ Bộ nhớ ảo 3. 2 Giới thiệu Đặt vấn đề Câu lệnh phải nằm nhớ thực ! Toàn chương

Ngày đăng: 13/11/2015, 18:50

Từ khóa liên quan

Mục lục

  • Main

  • C1

  • C2

  • C3

    • B nh ao

      • 3.1 Gii thiu

      • 3.2 Các chin lc i trang

Tài liệu cùng người dùng

Tài liệu liên quan