1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng môn Hệ điều hành: Quản lý bộ nhớ

98 23 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 98
Dung lượng 4,24 MB

Nội dung

Bài giảng Quản lý bộ nhớ trình bày các nội dung chính sau: Phân cấp bộ nhớ, caches bộ nhớ, các vấn đề trong thiết kế Cache, phân cấp bộ nhớ, bài toán cấp phát bộ nhớ động, kiến trúc phân đoạn,... Mời các bạn cùng tham khảo để nắm nội dung chi tiết.

TH 106: Hệ điều hành Khoa CNTT ĐH KHTN CuuDuongThanCong.com https://fb.com/tailieudientucntt Memory Cache Khái niệm cache Các đặc điểm chung Truy suất nhanh Giảm tần xuất truy cập nhớ Tăng dung lượng phục vụ xử lí Tăng kích thước đơn vị liệu Registers ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Ở gần processor nhớ Nhỏ nhanh nhớ Như “bộ nhớ tạm”: chứa giá trị vùng nhớ nhớ nơi vừa truy cập Chuyển đổi liệu cache nhớ tính theo đơn vị: blocks/lines Caches chứa giá trị ô nhớ gần với ô nhớ vừa truy xuất Ánh xạ nhớ cache ánh xạ tĩnh (hầu hết) Xử lí nhanh xảy lỗi trang Thơng thường có cache nhiều caches phụ (L1, L2, L3, ) ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Memory Cache Registers word transfer block transfer Kích thước cache kích thước cache block Ánh xạ: physical/virtual caches Thuật toán thay ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Memory Cache Registers Câu hỏi: Phải làm ta muốn thực thi chương trình mà yêu cầu nhớ lớn nhớ ta có sẳn? ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Virtual Memory Memory Cache Registers Trả lời: Giả lập có nhớ lớn hơn: Bộ nhớ ảo ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Một trang đơn vị nhớ ảo (cache được) HĐH quản lý việc ánh xạ trang VM nhớ vật lý page frame Cache Memory VM Memory ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Nhìn từ phần cứng – chia sẻ nhớ vật lý Nhìn từ phần mềm – tiến trình “thấy”: khơng gian địa ảo Quản lý nhớ HĐH kết hợp hai cách nhìn Bền vững (Consistency): nhớ vật lý trông “giống nhau” Cấp phát địa (Relocation): tiến trình nạp lên địa vật lý Bảo vệ (Protection): tiến trình khơng thể truy cập vùng nhớ tiến trình khác Chia sẻ (Sharing): cho phép chia sẻ nhớ vật lý (phải cài đặt điều khiển) ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Vấn đề phân mảnh môi trường đa chương Tiến trình Bộ nhớ ĐH KHTN TpHCM Bộ nhớ TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Phân mảnh ngoại vi (External Fragmentation) – tổng nhớ trống thỏa yêu cầu, không liên tục Phân mảnh nội vi (Internal Fragmentation) – block cấp phát lớn yêu cầu nhớ Giải pháp phân mảnh ngoại vi: kết hợp Chuyển vùng trống thành khối nhớ liên tục Chỉ thực HĐH hỗ trợ biên dịch địa thời gian thực thi ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt working-set window Ví dụ: = 10,000 lệnh số trang gọi WSSi (working set tiến trình Pi) = tổng số trang gọi khoảng tgian đổi) vừa rồi(có thể thay if q nhỏ khơng đủ chứa tập trang thường trú if q lớn chứa nhiều tập trang thường trú if = chứa tập trang tồn chương trình WSSi tổng trang u cầu D= if D > m Trì trệ (Thrashing) Chính sách if D > m, dừng tiến trình ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Xấp xỉ khoảng thời gian + dùng reference bit Ví dụ: = 10,000 Đồng hồ ngắt sau 5000 đơn vị Dùng reference bít cho trang Mỗi lần đồng hồ ngắt, lưu lại gán lại giá trị cho reference bit Nếu bit = trang working set Tại không thật xác? Cải tiến = dùng 10 bits ngắt 1000 đơn vị ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Xác định tầng suất lỗi trang chấp nhận Nếu tỉ lệ lỗi trang nhỏ, tiến trình bỏ bớt frame Nếu tỉ lệ lỗi trang cao, tiến trình cấp thêm frame ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Một đếm cho trang để đếm “thời gian” lỗi trang(“thời gian” = số lần trang truy cập) Định nghĩa ngưỡng cho biến “thời gian” Nếu thời gian lỗi trang nhỏ ngưỡng trên, trang thêm vào tập thường trú Và cần ngưỡng để giảm bớt khung trang tiến trình ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Cấu trúc chương trình Mãng A[1024, 1024] số nguyên Mỗi dòng lưu trang Một frame Chương trình for j := to 1024 for i := to 1024 A[i,j] := 0; 1024 x 1024 lỗi trang Chương trình for i := to 1024 for j := to 1024 A[i,j] := 0; 1024 lỗi trang ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Lược đồ quản lý nhớ cho phép người dùng thấy nhớ Một chương trình tập đoạn Một đoạn đơn vị logic, là: main program, procedure, function, local variables, global variables, common block, stack, symbol table, arrays ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt 4 Không gian người dùng ĐH KHTN TpHCM Không gian vật lý TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Địa logic bao gồm tham số: Segment table – ánh xạ địa vật lý; mục tin bảng lưu: base – lưu địa vật lý bắt đầu nhớ limit – xác định chiều dài đoạn Segment-table base register (STBR) lưu vị trí segment table nhớ Segment-table length register (STLR) lưu số segment sử dụng người dùng; segment s hợp lệ s < STLR ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Chia lại vùng nhớ Động Thông qua segment table Chia sẻ Chia sẻ đoạn Cùng số segment Cấp phát first fit/best fit Phân mảnh ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Bảo vệ Mỗi mục tin segment table có thêm: validation bit = segment không hợp lệ Quyền read/write/execute Các bit bảo vệ gán với segments Bởi đoạn độ dài khác nhau, cấp phát nhớ toán cấp phát vùng nhớ động Một ví dụ phân đoạn ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt The MULTICS giải tốn phân mảnh ngoại vi tìm kiếm đoạn cách phân trang đoạn Giải pháp là: mẫu tin segment-table không lưu địa base segment, mà lưu địa base page table cho segment ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt Bộ nhớ ảo tạo thành lớp riêng biệt mơ hình nhớ đa cấp chúng ta, để biểu diễn dung lượng nhớ thật hệ thống Điều quan trọng “dễ dàng để lập trình” Hình dung tốn phải kiểm tra cụ thể kích thước vật lý nhớ quản lý cho chương trình cụ thể thực thi Hữu dụng cho việc ngăn chặn phân mảnh mơi trường đa chương Có thể cài đặt phân trang (phân đoạn, hai) Lỗi trang chi phí lớn, Cần có sách thay trang thật tốt Phải cẩn thận vấn đề trì trệ hệ thống (thrashing)!! ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt ... nhanh nhớ Như ? ?bộ nhớ tạm”: chứa giá trị vùng nhớ nhớ nơi vừa truy cập Chuyển đổi liệu cache nhớ tính theo đơn vị: blocks/lines Caches chứa giá trị ô nhớ gần với ô nhớ vừa truy xuất Ánh xạ nhớ. .. đâu? ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt ? ?Điều thú vị sử dụng nhớ để mở rộng địa nhớ, kích thước nhớ Trong nhớ … vật lý giảm OS •Trade-off (thay... https://fb.com/tailieudientucntt Một trang đơn vị nhớ ảo (cache được) HĐH quản lý việc ánh xạ trang VM nhớ vật lý page frame Cache Memory VM Memory ĐH KHTN TpHCM TH 106: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt

Ngày đăng: 07/05/2021, 13:07

TỪ KHÓA LIÊN QUAN

w