Bài giảng Hệ điều hành - Chương: Quản lý bộ nhớ

TH 106: Hệ điều hành  
Khoa CNTT  
ĐH KHTN  
Khái niệm cache  
Memory  
Các đặc điểm chung  
Cache  
Truy suất nhanh  
Registers  
Giảm tần xuất truy cập  
Tăng dung lượng phục  
vụ của bộ xử lí chính  
Tăng kích thước đơn vị  
dữ liệu  
ĐH KHTN  
TpHCM  
TH 106: Hệ điều hành  
Ở gần processor hơn là bộ nhớ chính  
Nhỏ và nhanh hơn bộ nhớ chính  
Như là “bộ nhớ tạm”: chứa giá trị vùng nhớ trên bộ nhớ  
chính nơi mới vừa truy cập.  
Chuyển đổi được tính  
theo đơn vị: blocks/lines  
Caches cũng chứa giá trị ô nhớ ở gần với ô nhớ vừa được truy xuất  
Ánh xạ giữa bộ nhớ và cache là ánh xạ tĩnh (hầu hết)  
Xử lí nhanh khi xảy ra lỗi trang  
Thông thườches phụ  
(L1, L2, L3, ...)  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
Memory  
Cache  
Registers  
word transfer  
block transfer  
Kích thước
Ánh xạ: physical/virtual caches  
Thuật toán thay thế  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
Memory  
Cache  
Registers  
Câu hỏi: Phải làm gì nếu ta muốn thực thi chương  
trình mà yêu cầu bộ nhớ lớn hơn bộ nhớ ta đang  
có sẳn?  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
Virtual Memory  
Memory  
Cache  
Registers  
Trả lời: Giả lập như chúng ta có bộ nhớ lớn hơn:  
Bộ nhớ ảo  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
Một trang là một đơn vị của bộ nhớ ảo (cache được)  
HĐH quản lý việc ánh xạ giữa các trang của VM và bộ nhớ  
vật lý  
page  
frame  
Cache  
VM  
Memory  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
Nhìn từ phần cứng – chia sẻ bộ nhớ vật lý  
Nhìn từ phần mềm – một tiến trình sẽ chỉ “thấy”: không gian địa  
chỉ ảo của nó  
Quản lý bộ nhớ của HĐH là kết hợp hai cách nhìn trên  
Bền vững (Consistency): các bộ nhớ vật lý trông “giống nhau”  
Cấp phát địa chỉ (Relocation): tiến trình có thể được nạp lên tại  
bất kì địa chỉ vật lý nào  
Bảo vệ (Protection): một tiến trình không thể truy cập vùng nhớ  
của tiế
Chia sẻ (Sharing): cho phép chia sẻ bộ nhớ vật lý (phải cài đặt điều  
khiển)  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
Vấn đề phân mảnh trong môi trường đa chương  
Tiến trình mới  
Bộ nhớ  
Bộ nhớ  
ĐH KHTN  
TpHCM  
TH 106: Hệ điều hành  
Phân mảnh ngoại vi (External Fragmentation)  
– tổng bộ nhớ trống thỏa yêu cầu, nhưng không liên  
tục  
Phân mảnh nội vi (Internal Fragmentation) –  
mỗi block được cấp phát lớn hơn yêu cầu bộ nhớ  
một ít  
Giải pháp phân mảnh ngoại vi: kết hợp  
Chuyển các vùng trống thành một khối bộ nhớ liên tục  
Chỉ thựhỉ trong  
thời gian thực thi  
ĐH KHTN  
TpHCM  
TH 106: Hệ điều hành  
Cấp phát bộ nhớ kích thước X được thực hiện như  
thế nào?  
First-fit: cấp phát vùng trống đầu tiên đủ cho yêu cầu.  
Best-fit: cấp phát vùng trống nhỏ nhất vừa đủ yêu cầu;  
phải duyệt toàn danh sách, nếu không sắp theo thứ  
tự. Sẽ tạo ra vùng nhớ trống dư ra nhỏ nhất.  
Worst-fit: cấp phát vùng trống lớn nhất; phải duyệt  
toàn danh sách. Sẽ tạo những ô trống dư ra lớn  
nhất.  
First-fit và best-fit tốt hơn worst-fit về mặt tốc độ và  
việc tận dụng bộ nhớ.  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
Bộ nhớ ảo là sự trừu tượng hóa của HĐH, nó cung cấp người lập  
trình một không gian địa chỉ lớn hơn không gian địa chỉ vật lý  
thật sự  
Bộ nhớ ảo có thể được triển khai bằng cách phân trang hoặc  
phân đoạn, hiện tại phân trang thông dụng hơn  
Mô hình kết hợp cũng thường được dùng, phân đoạn thường khá  
đơn giản (v.d., một số lượng xác định các đoạn cùng kích thước)  
Hữu ích của bộ nhớ ảo:  
Lập trình viên không lo lắng với việc các máy tính khác nhau có  
kích th
Phân mảnh trong môi trường đa chương  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
Physical  
memory  
translation  
box (MMU)  
Processor  
MMU: memory management unit  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
offset  
địa chỉ vật lý  
+
địa chỉ logic  
segment table  
ĐH KHTN  
TpHCM  
TH 106: Hệ điều hành  
Các đoạn có kích thước khác nhau  
Biên dịch địa chỉ dựa vào các thanh ghi (base, size, state) –  
bảng phân đoạn  
Trạng thái (state): valid/invalid, access permission,  
reference bit, modified bit  
Các đoạn có thể trực quan với lập trình viên và để tiện lợi,  
chia ra hai loại đoạn, dùng cho mã chương trình hay dữ  
liệu (nghĩa là code segment hoặc là data segments)  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
ĐH KHTN  
TH 106: Hệ điều hành  
TpHCM  
Tải về để xem bản đầy đủ
pdf 98 trang yennguyen 08/04/2022 4460
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành - Chương: Quản lý bộ nhớ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_quan_ly_bo_nho_moi_nhat.pdf