intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Hệ điều hành: Chương 7 - Nguyễn Phan Trung

Chia sẻ: Lavie Lavie | Ngày: | Loại File: PPT | Số trang:26

100
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Hệ điều hành: Chương 7 do Nguyễn Phan Trung biên soạn nhằm giúp cho các bạn nắm được khái niệm phân trang và phân đọan; hiểu được cơ chế quản lý bộ nhớ ảo; các chiến lược quản lý và thể hiện được các giải thuật cung cấp frame.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Hệ điều hành: Chương 7 - Nguyễn Phan Trung

  1. Chương 7 Virtual Memory (bộ nhớ ảo) Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 1 Minh
  2. Mục đích và yêu cầu Mục đích: • Nắm được khái niệm phân trang và phân đọan. Hiểu được cơ chế quản lý bộ nhớ ảo Yêu cầu: • Nắm được các chiến lược quản lý và thể hiện được các giải thuật cung cấp frame. Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 2 Minh
  3. Nội dung  Thông tin cơ bản - Background  Phân trang theo yêu cầu – Demand Paging  Thay trang – Page Replacement  Phân phối các Frames – Allocation of Frames  Thrashing  Phân đoạn theo yêu cầu – Demand Segmentation Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 3 Minh
  4. Thông tin cơ bản  Virtual memory – sự tách riêng của bộ nhớ logic (của user) khỏi bộ nhớ vật lý • Kích thước bộ nhớ vật lý có hạn => nó giới hạn kích thước chương trình. • Thực tế, chỉ cần 1 phần của chương trình cần phải đưa vào bộ nhớ (vật lý) để thực hiện => có thể chứa chương trình ở đâu ?- virtual memory. • Do đó ko gian địa chỉ logic có thể lớn hơn ko gian địa chỉ vật lý rất nhiều => cung cấp bộ nhớ rất lớn cho người lập trình. • Cho phép 1 số process chia sẻ ko gian địa chỉ. • Cho phép tạo process hiệu quả hơn.  Bộ nhớ ảo có thể được thực hiện thông qua: • Demand paging (windows, linux) • Demand segmentation (IBM. OS/2) Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 4 Minh
  5. Bộ nhớ ảo lớn hơn bộ nhớ vật lý Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 5 Minh
  6. Phân trang theo yêu cầu  Đưa một trang vào bộ nhớ chỉ khi nó được cần đến: • Cần ít thao tác vào ra hơn • Cần ít bộ nhớ hơn • Đáp ứng nhanh hơn: process bắt đầu ngay sau khi số trang tối thiểu được nạp vào bộ nhớ. • Nhiều user/process hơn do mỗi process dùng ít bộ nhớ hơn  Khi trang được cần đến (khi process tham chiếu đến nó) • Tham chiếu ko hợp lệ => hủy bỏ • Ko trong bộ nhớ => đưa vào bộ nhớ • Có trong bộ nhớ => truy nhập Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 6 Minh
  7. Chuyển một vùng nhớ phân trang tới không gian ổ đĩa Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 7 Minh
  8. Valid-invalid Bit Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 8 Minh
  9. Bảng phân trang khi 1 số trang ko ở trong bộ nhớ chính Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 9 Minh
  10. Page Fault 1. Khi có tham chiếu tới trang, đầu tiên tham chiếu sẽ lập bẫy với Os => phát hiện page fault 2. Os tìm trong bảng khác để quyết định: • Tham chiếu ko hợp lệ => hủy bỏ • Không có trong bộ nhớ => đưa vào bộ nhớ 3. Nhận Frame rỗi 4. Copy/Hoán đổi trang vào frame 5. Cập nhật lại bảng phân trang (thiết lập v-inv bit =1), cập nhật danh sách frame rỗi. 6. Khởi động lại lệnh. Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 10 Minh
  11. Các bước xử lý Page Fault Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 11 Minh
  12. Điều gì xẩy ra khi ko có frame rỗi  Thay trang – tìm một số trang trong bộ nhớ nhưng đang ko được sử dụng để đưa ra ngoài. • Giải thuật? • Hiệu năng? – muốn có 1 giải thuật tác động đến số lượng tối thiểu page faults.  Một trang có thể được đưa vào bộ nhớ nhiều lần. Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 12 Minh
  13. Hiệu năng của phân trang theo yêu cầu  Tỷ lệ Page Fault – p : 0≤ p ≤ 1 • P=0 ; ko có page fault • P=1 ; mọi tham chiếu đều là fault  Thời gian truy nhập hiệu quả -Effective Access Time (EAT) EAT = (1-p)x ma + px(thời gian xử lý page fault) Trong đó: + ma: memory access – thời gian truy nhập bộ nhớ (10-200 ns) + Thời gian xử lý page-fault: gồm 3 vấn đề chính ─ Phục vụ ngắt page fault (1-100 μs, có thể giảm bằng coding) ─ Đọc trang vào bộ nhớ (khoảng 25 ms) ─ Khởi động lại process (1 – 100 μs, có thể giảm bằgn coing) Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 13 Minh
  14. Ví dụ  Thời gian xử lý page-fault 25ms  Thời gian truy nhập bộ nhớ (ma): 100 ns  EAT =(1-p) x 100 + p x 25,000.000 ns. = 100 + 24,999.990 x p ns  EAT tỷ lệ thuật với page fault, nếu p càng lớn thì EAT càng lớn  máy càng chậm  Muốn hiệu năng giảm dưới 10% ta cần có 110 > 100 + 25.000.000 x p  p < 0.0000004 Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 14 Minh
  15. Page Replacement (thay trang) Các bước thay trang: 1. Tìm vị trí của trang được yêu cầu trên đĩa. 2. Tìm 1 frame rỗi: • Nếu có frame rỗi thì sử dụng nó • Nếu ko có, sử dụng giải thuật thay trang để chọn 1 frame nạn nhân. 1. Đọc trang được yêu cầu vào frame rỗi. Cập nhật bảng phân trang và bảng quản lý frame rỗi 2. Khởi động lại process Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 15 Minh
  16. Quá trình thay thế trang nhớ Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 16 Minh
  17. Các giải thuật thay trang  Mục tiêu: giảm thiểu tỷ lệ page fault thấp nhất  Đánh giá giải thuật bằng cách chạy nó trên một chuỗi riêng biệt các tham chiếu bộ nhớ và tính số page fault trên chuỗi đó.  Các giải thuật thay thế trang phụ thuộc vào resident set (số frame cấp cho mỗi process)  Trong tất cả các ví dụ. Chuỗi tham chiếu là 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5. Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 17 Minh
  18. Least Recently Used (LRU) Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 18 Minh
  19. Giải thuật FIFO Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 19 Minh
  20. Giải thuật Clock (second–chance) Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí 20 Minh
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2