1. Trang chủ
  2. » Tất cả

Hdh c7,8 ck1

56 3 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 3,16 MB

Nội dung

Chương 7: QUẢN LÝ BỘ NHỚ CÁC KHÁI NIỆM • • Quản lý nhớ công việc hệ điều hành với hỗ trợ phần cứng, xếp process nhớ cho hiệu Mục tiêu: Càng nhiều process vào nhớ tốt Trong hầu hết hệ thống kernel chiếm phần cố định nhớ Ví dụ: RAM 8GB sử dụng 7,88GB lại kernel Các yêu cầu việc quản lý nhớ: • • • • • Cấp phát tài nguyên cho process Tái định vị Bảo vệ Chia sẻ Kết gán địa nhớ luận lý CÁC KIỂU ĐỊA CHỈ NHỚ Địa luận lý (logical address/ vitual address – địa ảo) Địa vật lý (physical address – địa thực): • Là vị trí nhớ diễn tả chương trình • Là vị trí thực nhớ • ĐCVL = ĐC frame + ĐC offset • ĐCLL = ĐC page + ĐC offset ❖ Ngồi ra: • Địa tuyệt đối (absolute address): Địa tương đương với địa thực • Địa tương đối (relative address): địa biển diễn tương đối so với vị trí xác định khơng phụ thuộc vào vị trí thực tiến trình nhớ ❖ Để truy cập nhớ, địa luận lý cần biến đổi thành địa vật lý Địa dạng “12 byte so với vị trí bắt đầu chương trình” địa gì? A Địa tuyệt đối B Địa vật lý C Địa thực D Địa tương đối CHUYỂN ĐỔI ĐỊA CHỈ NHỚ Là q trình ánh xạ địa từ khơng gian địa sang không gian địa khác ❖ Biểu diễn địa nhớ: Trong source code Địa biến, hằng, pointer,… int i; goto p1; Địa Trong tương đối thời điểm biên dịch so với địa Linking/ Loading Địa thực nhớ 2000 250 2250 p1 NẠP CHƯƠNG TRÌNH VÀO BỘ NHỚ • Linker: Kết hợp nhiều object module thành file nhị phân (file tạo thành gọi load module) • Loader: Nạp load module vào nhớ Địa lệnh liệu chuyển đổi thành địa thực xảy ba thời điểm khác nhau: • Compile time: biết trước địa nhớ chương trình gán địa tuyệt đối lúc biên dịch • Load time: chuyển đổi địa luận lý thành địa thực dựa địa • Excution time: process di chuyển qua lại segment nhớ MƠ HÌNH QUẢN LÝ BỘ NHỚ • Một process phải nạp hoàn toàn vào nhớ thực thi • Một số chế quản lý nhớ: o Phân chia cố định (fixed partitioning) o Phân chia động (dynamic partitioning) o Phân trang đơn giản (simple paging) HIỆN TƯỢNG PHÂN MẢNH BỘ NHỚ Hiện tượng phân mảnh nội: Hiện tượng phân mảnh ngoại: Kích thước vùng nhớ cấp phát lớn vùng nhớ u cầu Kích thước khơng gian nhớ trống đủ thỏa mãn yêu cầu cấp phát, nhiên khơng liên tục => Có thể sử dụng chiến lược placement => Có thể dùng chế kết khối (compaction) Nếu hệ thống cấp phát vùng nhớ có kích thước 20480 byte cho tiến trình u cầu 20324 byte dẫn đến tình trạng gì? A Deadlock B Phân mảnh ngoại C Phân mảnh nội D Số lỗi trang tăng lên Chương trình tham chiếu đến trang khơng có nhớ Tìm frame trống load trang vào frame trống - Hoặc sử dụng giải thuật thay trang (FIFO, LRU, OPT) Phần cứng gây ngắt (pagefault trap) khởi động dịch vụ pagefault service routine (PFSR) Hệ điều hành Trang mà chương trình cần nằm nhớ thứ cấp (bộ nhớ tạm, đĩa,…) Cập nhật lại page table frame table tương ứng Các bước xử lý lỗi trang Khởi động lại process có nội dung page mà yêu cầu PAGE-FAULT SERVICE ROUTINE (PFSR) • Chuyển process blocked trạng thái • Phát yêu cầu đọc đĩa để nạp trang tham chiếu vào frame trống; đợi I/O, process khác cấp CPU để thực thi • Sau I/O hoàn tất, đĩa gây ngắt đến hệ điều hành; PFSR cập nhật page table chuyển process trạng thái ready GIẢI THUẬT THAY TRANG LRU Dữ liệu cần biết: • Số khung trang • Tình trạng ban đầu • Chuỗi tham chiếu Nghịch lý Belady: số page fault tăng tiến trình đã cấp nhiều frame Chọn trang FIFO OPT Trang tham Trang Trang chiếu trễ tham chiếu nhớ lâu tương lai Đòi hỏi trợ giúp từ phần cứng để xếp Nhược điểm thứ tự trang theo thời điểm tham chiếu Khó thực Cài đặt đơn giản khơng thể dự đốn dễ mắc xác thời điểm phải nghịch lý trang Belady tham chiếu Giả sử có khung trang khung trang ban đầu rỗng Xác định số Page Fault sử dụng FIFO, LRU, OPT? 0, 2, 1, 6, 4, 0, 1, 0, 3, 1, 2, LRU: Trang tham chiếu 0 6 1 1 1 2 4 4 3 3 1 0 0 2 x x x x x x x x x FIFO: Trang nhớ lâu 0 6 1 1 1 2 4 4 3 3 1 0 0 2 x x x x x x x x x OPT: Trang tham chiếu trễ tương lai 0 0 0 0 3 3 2 4 4 4 2 1 1 1 1 1 x x x x x x x Xét chuỗi truy xuất nhớ sau: 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, Có lỗi trang xảy sử dụng thuật toán thay sau đây, giả sử có 2, 3, 4, khung trang a LRU b FIFO c Chiến lược tối ưu (OPT) LRU với khung trang, 18 lỗi trang 2 2 1 3 2 5 2 2 7 3 1 3 2 4 1 6 1 3 6 2 2 x x x x x x x x x x x x x x x x x x LRU với khung trang, 15 lỗi trang 2 2 1 4 5 1 7 2 2 2 2 2 6 6 3 3 3 3 3 3 1 2 2 6 1 x x x x x x x x x x x x x x x LRU với khung trang, 10 lỗi trang 2 2 1 1 1 1 1 1 6 6 6 2 2 2 2 2 2 2 2 2 3 3 5 5 3 3 3 3 4 4 6 6 7 7 1 1 x x x x x x x x x x LRU với khung trang, lỗi trang 2 2 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 3 3 6 6 6 6 6 6 4 4 4 4 3 3 3 3 5 5 5 7 7 7 7 x x x x x x x x FIFO với khung trang, 18 lỗi trang 2 2 1 3 2 5 2 3 6 2 3 2 4 1 6 1 7 3 1 x x x x x x x x x x x x x x x x x x FIFO với khung trang, 16 lỗi trang 2 2 1 4 4 6 6 3 3 2 2 2 2 1 2 2 7 7 1 1 3 3 5 1 1 6 6 3 x x x x x x x x x x x x x x x x FIFO với khung trang, 14 lỗi trang 2 2 1 1 1 5 5 3 3 1 1 2 2 2 6 6 7 7 7 3 3 3 3 2 2 6 6 6 4 4 4 1 1 1 2 2 x x x x x x x x x x x x x x FIFO với khung trang, 10 lỗi trang 2 2 1 1 1 6 6 6 6 6 6 2 2 2 2 1 1 1 1 1 3 3 3 3 2 2 2 2 2 4 4 4 4 3 3 3 3 5 5 5 7 7 7 7 x x x x x x x x x x OPT với khung trang, 15 lỗi trang 2 2 1 4 6 1 3 3 1 2 2 2 2 2 6 2 2 x x x x x x x x x x x x x x x OPT với khung trang, 11 lỗi trang 2 2 1 1 1 1 1 3 3 3 3 2 2 2 2 2 7 2 2 4 6 6 6 6 1 1 x x x x x x x x x x x OPT với khung trang, lỗi trang 2 2 1 1 1 1 1 1 7 7 1 1 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 4 6 6 6 6 6 6 x x x x x x x x OPT với khung trang, lỗi trang 2 2 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 4 4 4 4 7 7 7 7 6 6 6 6 6 6 x x x x x x x VẤN ĐỀ CẤP PHÁT FRAMES Chiến lược cấp phát tĩnh (fixed-allocation) Số frame cấp cho process không đổi, xác định vào thời điểm loading tùy thuộc vào ứng dụng (kích thước nó,…) Chiến lược cấp phát động (variable-allocation) • Số frame cấp cho process thay đổi chạy o Nếu tỷ lệ page-fault cao ⇒ cấp thêm frame o Nếu tỷ lệ page-fault thấp ⇒ giảm bớt frame • OS phí để ước định process Trong kỹ thuật cài đặt nhớ ảo sử dụng phân trang theo yêu cầu, sử dụng chiến lược cấp phát động, số lượng khung trang (frame) cấp cho tiến trình thay đổi tỷ lệ lỗi trang (page fault) cao? A Giảm xuống B Tăng lên C Không thay đổi D Bị hệ thống thu hồi toàn

Ngày đăng: 27/02/2023, 22:05

w