-1-
Bài giảng môn hệ điều hành Vũ Lê Hùng Khoa CNTT – ĐHBK TP.
HCM
Chương 6
BỘ NHỚ THỰC
-2-
-2-
Bài giảng môn hệ điều hành Vũ Lê Hùng Khoa CNTT – ĐHBK TP.
HCM
CHƯƠNG 6 : BỘ NHỚ THỰC
Phân cấp bộ nhớ & các vấn đề quan tâm
Các chiến lược quản lý bộ nhớ
– Chiến lược nạp
– Chiến lược sắp đặt
– Chiến lược thay thế
Tổ chức bộ nhớ thực
– Đơn lập trình
– Đa lập trình phân đoạn cố định / thay đổi
– Đa lập trình có thay thế vùng nhớ
-3-
-3-
Bài giảng môn hệ điều hành Vũ Lê Hùng Khoa CNTT – ĐHBK TP.
HCM
PHÂN CẤP BỘ NHỚ
CACHE
PRIMARY STORAGE
SECONDARY STORAGE
Từ trên xuống
- Tốc độ giảm
- Dung lượng tăng
- Giá thành giảm
Các vấn đề quan tâm
- Bộ nhớ chính chứa 1 hay nhiều q trình ?
- Các qt dùng vùng nhớ như nhau / khác nhau ?
- Bảo vệ vùng nhớ của OS và của từng qt ?
- Vùng nhớ của qt là liên tục / gián đoạn ?
-4-
-4-
Bài giảng môn hệ điều hành Vũ Lê Hùng Khoa CNTT – ĐHBK TP.
HCM
CHIẾN LƯỢC
QUẢN LÝ BỘ NHỚ
Chiến lược nạp (fetch strategies)
– Nạp phần nào của q trình vào bộ nhớ và khi nào nạp
?
– Nạp theo u cầu & nạp tiên đốn
Chiến lược sắp đặt (placement strategies)
- Nạp q trình mới vào đâu ?
Chiến lược thay thế (replacement strategies)
- Đưa q trình nào ra bộ nhớ phụ ?
-5-
-5-
Bài giảng môn hệ điều hành Vũ Lê Hùng Khoa CNTT – ĐHBK TP.
HCM
TỔ CHỨC BỘ NHỚ THỰC
Cấp phát bộ nhớ liên tục
– Đơn lập trình
– Đa lập trình phân đoạn cố định
– Đa lập trình phân đoạn thay đổi
– Đa lập trình có thay thế vùng nhớ
Cấp phát bộ nhớ khơng liên tục
-6-
-6-
Bài giảng môn hệ điều hành Vũ Lê Hùng Khoa CNTT – ĐHBK TP.
HCM
HỆ THỐNG PHÂN PHỐI LIÊN TỤC
MỘT NGƯỜI DÙNG
(Single User Continuous Storage Allocation)
OS
USER
UNUSED
CPU
Boundary
register
Phục vụ 1 qt, 1 user
Bảo vệ vùng nhớ ?
Khơng cần chiến lược
sắp đặt và thay thế
Kỹ thuật nap : overlay
-7-
-7-
Bài giảng môn hệ điều hành Vũ Lê Hùng Khoa CNTT – ĐHBK TP.
HCM
KỸ THUẬT OVERLAY
OS
FIXED AREA
OVERLAY AREA
UNUSED
PROGRAM
Dùng để chạy chương trình có kích thước lớn hơn kích
thước bộ nhớ thực
-8-
-8-
Bài giảng môn hệ điều hành Vũ Lê Hùng Khoa CNTT – ĐHBK TP.
HCM
Dịch và nạp cố định
HỆ THỐNG ĐA CHƯƠNG
PHÂN ĐOẠN CỐ ĐỊNH
(Fixed Partitioning Multiprogramming)
Process queue
P0P2 P1
OS
1
2
3
P0P2 P1
P5P7 P6
Process queue
OS
1
2
3
Dịch và nạp xác định lại
Chia bộ nhớ n phần bằng nhau, mỗi qt 1 phần
Khơng cần chiến lược sắp đặt
-9-
-9-
Bài giảng môn hệ điều hành Vũ Lê Hùng Khoa CNTT – ĐHBK TP.
HCM
OS
1
2
3
Low boundary
High boundary
CPU
HỆ THỐNG ĐA CHƯƠNG
PHÂN ĐOẠN CỐ ĐỊNH
Bảo vệ vùng nhớ
Vấn đề phân mảnh vùng nhớ (fragmentation)
-10-
-10-
Bài giảng môn hệ điều hành Vũ Lê Hùng Khoa CNTT – ĐHBK TP.
HCM
HỆ THỐNG ĐA CHƯƠNG
PHÂN ĐOẠN THAY ĐỔI
(Variable Partitioning Multiprogramming)
OS
User A 15KB
User B 25KB
User C 40KB
P0P2 P1
-11-
-11-
Bài giảng môn hệ điều hành Vũ Lê Hùng Khoa CNTT – ĐHBK TP.
HCM
HỆ THỐNG ĐA CHƯƠNG
PHÂN ĐOẠN THAY ĐỔI
OS
Free space 20KB
Free space 35KB
Free space 15KB
Free space 10KB
12KB
?
Best fit
First fit
Worst fit
Chiến lược sắp đặt
Vấn đề phân mảnh vùng nhớ (fragmentation)
-12-
-12-
Bài giảng môn hệ điều hành Vũ Lê Hùng Khoa CNTT – ĐHBK TP.
HCM
HỆ THỐNG ĐA CHƯƠNG
CĨ THAY THẾ VÙNG NHỚ
(Multiprogramming With Storage Swapping)
OS
SWAPPING
AREA
Programs on Secondary
storage
swap in
swap out