Tải bản đầy đủ (.pdf) (86 trang)

Bài giảng Hệ thống máy tính: Chương 7 - TS. Trần Thị Minh Khoa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.21 MB, 86 trang )

Chap7: QUẢN LÝ BỘ NHỚ
(memory management)
GV: TS. Trần Thị Minh Khoa


(part3 WilliamStalling+Silberschatz)(4t)
Memory Management

1.
1.
2.
3.
4.
5.

Memory Hierarchical
Memory Management Requirements
Memory Partitioning
Paging
//Segmentation

Virtual Memory

2.
1.
2.
3.
4.

Hardware and Control Structures
OS Software


Window Memory Management
Linux Memory Management


Memory Hierarchical (1)
Memory
Cache
Registers

Cache??
- Fast access
- Reduce


Memory Hierarchical (2)
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?


Memory Management Requirements







Relocation
Protection
Sharing
Logical organization
Physical organization


Memory Management Requirements






Relocation
Protection
Sharing
Logical organization
Physical organization


Memory Management Requirements






Relocation (more…SWAPPING)

Protection
Sharing
Logical organization
Physical organization


Memory Management Requirements






Relocation
Protection
Sharing
Logical organization
Physical organization

 Mỗi tiến trình cần được bảo vệ chống
lại sự can thiệp của các tiến trình
khác
 Do đó, các tiến trình khác khơng được
can thiệp vào vùng nhớ mà 1 tiến
trình đang đọc hoặc ghi mà không cos
sự cho phép


Memory Management Requirements







Relocation
Protection (more…)
Sharing
Logical organization
Physical organization


Memory Management Requirements






Relocation
Protection
Sharing
Logical organization
Physical organization

 Bất kì cơ chế bảo vệ nào cũng phải nên linh
động cho một số tiến trình truy cập vào một
cùng một phần của vùng nhớ chính
 Các tiến trình đang hợp tác trong một số
nhiệm vụ phải truy cập vào cùng một cấu trúc

dữ liệu
  Hệ thống quản lý bộ nhớ kiểm soát cho
phép các tiến trình truy cập và chia sẻ vùng
nhớ


Memory Management Requirements






Relocation
Protection
Sharing
Logical organization
Physical organization

- Là địa chỉ ảo (Virtual address)
- Quản lý bởi processor


Memory Management Requirements







Relocation
Protection
Sharing
Logical organization
Physical organization

- Là địa chỉ thực (Real address)
- Logical address  Physical address at:
 Compile time, load time, execution time


Memory Partitioning
Fixed Partitioning

1.
1.
2.

Partition Sizes
Placement Algorithm

Dynamic Partitioning

2.
1.
2.

Placement Algorithm
Replacement Algorithm



Memory Partitioning
Fixed Partitioning

1.
1.
2.

Partition Sizes
Placement Algorithm

Có 2 loại partition :
Kích thước bằng nhau
Không bằng nhau


Memory Partitioning
Fixed Partitioning

1.
1.
2.

Partition Sizes
Placement Algorithm

Chiến lược cấp phát
• Sử dụng hàng đợi
 Nhiều hàng đợi
 1 hàng đợi



Memory Partitioning
Fixed Partitioning – Nhận xét

1.



Phân mảnh nội (internal fragmentation)
Mức độ đa chương phụ thuộc bởi số partition


Memory Partitioning
2.

Dynamic Partitioning

• BNC khơng được phân chia trước, các partition có kích thước tuỳ ý hình
thành trong q trình nạp các tiến trình vào hệ thống
• Mỗi tiến trình sẽ được cấp phát đúng theo kích thước yêu cầu  ko còn hiện
tượng phân mảnh nội


Memory Partitioning
Dynamic Partitioning

2.
1.
2.


Cấp phát bộ nhớ kích thước X được
Placement Algorithm thực hiện như thế nào?
First-fit: cấp phát vùng trống đầu
Replacement Algorithm
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 tồn danh sách.
Sẽ tạo những ơ trống dư ra lớn
nhất


Memory Partitioning
Dynamic Partitioning

2.
1.
2.

Placement Algorithm
Replacement Algorithm





Bài tập 1

Trong mơ hình cấp phát bộ nhớ liên tục, có bốn phân mảnh bộ nhớ
theo thứ tự với kích thước là 600KB, 500KB, 200KB, 300KB.
Giả sử có 4 tiến trình đang chờ cấp phát bộ nhớ theo thứ tự P1  P2
 P3  P4.
Kích thước tương ứng của các tiến trình trên là: 212 KB, 417 KB, 112
KB, 426 KB.
Hãy cấp phát bộ nhớ cho các tiến trình trên theo thuật tốn First-fit,
Best-fit, Worst-fit.


Memory Partitioning
Dynamic Partitioning

2.
1.
2.

Placement Algorithm
Replacement Algorithm

Buddy system!!!!!


Bộ nhớ ảo





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
(paging) hoặc phân đoạn (segmentation), 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ước bộ nhớ vật lý khác nhau
Phân mảnh trong môi trường đa chương


Chuyển đổi địa chỉ

Processor

translation
box (MMU)

MMU: memory management unit


Physical
memory


Địa chỉ và chuyển đổi địa chỉ (1)


Địa chỉ





Logic
Vật lý

=> không gian địa chỉ logic
=> không gian đia chỉ vật lý

Chuyển đổi địa chỉ logic => vật lý




3 thời điểm chuyển đổi
Được thực hiện bởi ai?
Ưu nhược điểm ?



Địa chỉ và chuyển đổi địa chỉ (2)

Test.cpp

Bộ nhớ chính


×