Tải bản đầy đủ (.ppt) (54 trang)

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

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 (512.55 KB, 54 trang )

Chương 6

Memory management

Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Mục đích và u cầu
Mục đích:
• Nắm được các khái niệm cơ sở về quản lý bộ
nhớ, các kiểu địa chỉ nhớ và cách chuyển đổi.
Yêu cầu:
• Hiểu được cơ chế Overlay và Swapping cũng
như mơ hình quản lý bộ nhớ thực

Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí
Minh


Nội dung

Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí
Minh


Khái niệm cơ sở
• chúng ta thấy rằng CPU có thể được dùng
chung bởi nhiều process. Do kết quả định thời
CPU, chúng ta có thể cải tiến hiệu suất của CPU
lẫn tốc độ đáp ứng của user. Để thực hiện việc


làm tăng hiệu quả này chúng ta phải lưu giữ vài
quá trình trong bộ nhớ; tức là chúng ta phải
dùng bộ nhớ dùng chung.
• bộ nhớ là trung tâm họat động của hệ thống máy
tính hiện đại. Bộ nhớ gồm một dãy lớn của các
words hoặc các byte, mỗi cái đó đều có địa chỉ
của riêng chúng.
Khoa Cơng Nghệ Thơng Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Khái niệm cơ sở

Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Khái niệm cơ sở
• Thơng thường, một chương trình cư trú trên đĩa như một
file thực thi nhị phân, Chương trình phải được mang vào
trong bộ nhớ và được đặt bên trong một q trình để
cho nó thực thi.Tùy thuộc vào sự quản lý bộ nhớ đang
dùng. Q trình có thể được duy trì giữa đĩa và bộ nhớ
trong khi thực thi. Một nhóm q trình trên đĩa đang chờ
để được mang vào trong bộ nhớ hình thành hàng
đợi(input queue).
• Thủ tục bình thường là chọn một quá trình trong hàng
đợi và nạp q trình đó vào trong bộ nhớ. Khi q trình
thực thi nó truy xuất lệnh và dữ liệu từ bộ nhớ. Cuối
cùng là quá trình kết thúc và khơng gian bộ nhớ của nó

được khai bào trả lại hệ thống.
Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Các kiểu địa chỉ nhớ

Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Nạp chương trình vào bộ nhớ (t.t)

Khoa Cơng Nghệ Thơng Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Cơ chế thực hiện Linking

Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Logical vs. Physical Address Space
• Tập hợp tất cả các địa chỉ luận lý (địa chỉ ảo vitual
address) tạo nên ko gian địa chỉ luận lý
• Tập hợp tất cả các địa chỉ vật lý (địa chỉ thực) tạo nên ko
gian địa chỉ vật lý
• Các địa chỉ logic (ảo) và vật lý là như nhau trong các giai
đoạn liên kết địa chỉ compiler time và load time; chúng

khác nhau trong execcution time.

Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Chuyển đổi địa chỉ nhớ

Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Chuyển đổi địa chỉ nhớ (t.t)

Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Chuyển đổi vào thời điểm dịch

Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Chuyển đổi vào thời điểm nạp

Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh



Chuyển đổi địa chỉ (t.t)

Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Memory-Management Unit (MMU)
• Là thiết bị phần cứng địa chỉ ảo tới địa chỉ vật lý.
• Trong lược đồ MMU, giá trị trong thanh ghi định
vị (relocation register) được cộng với tất cả địa
chỉ được sinh ra bởi process của user tại thời
điểm nó được gửi tới bộ nhớ.
• Chương trình của user làm việc với các địa chỉ
luân lý nó ko bao giờ nhận ra các địa chỉ vật lý
thực

Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí
Minh


Định vị động sử dụng thanh ghi định vi

Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí
Minh


Dynamic Loading
 Process chỉ được nạp vào bộ nhớ khi nó được gọi=> tăng độ hiệu
dụng cua hệ thống (memory utilization) bởi vì các process ít sử
dụng sẽ ko bao giờ chíếm chỗ trong hệ thống.

 Sử dụng ko gian bộ nhớ tốt hơn, process ko dùng đến thì ko bao
giờ được nạp
 Hữu ích trong trường hợp số lượng lớn mã cần xử lý nhưng hiếm
khi xuất hiện (ví dụ các thủ tục xử lý lô các thủ tục xử lý lỗi),
 Ko yêu cầu sự hỗ trợ đặc biệt từ Os. (Được thực hiện thông qua
thiết kế chương trình của user, Os chủ yếu cung cấp 1 số thủ tục hỗ
trợ tạo điều kiện dễ dàng cho user)

Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí
Minh


Dynamic Linking
• Việc liên kết hõan lại đến execution time
• Đọan mã nhỏ, stub được sử dụng để định vị thường
trình thư viện cư trú trong bộ nhớ (memory-resident
library routime) thích hợp.
• Khi được thực hiện, stub kiểm tra thường trình cần đến
có trong bộ nhớ. Của process chưa, nếu chưa thì
chương trình nạp thường trình vào bộ nhớ. Nếu rồi,
stub tự thay thế chính nó bởi địa chỉ của thường trình rồi
thực hiện thường trình đó.
• Liên kết động đặc biệt hữu dụng đối với các thư viện
chương trình, nhất là trong việc cập nhật thư viện (vd
sửa lỗi).
Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí
Minh


Cơ chế Overlays

• Cho phép một q trình có kích thước lớn hơn
bộ nhớ cấp cho nó được thực hiện.

Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí
Minh


Cơ chế Overlay

Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Cơ chế Overlay (t.t)

Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Swapping (hốn đổi)
 Một process có thể được swap(hốn đổi) ra khỏi bộ nhớ chính để
tới nơi lưu trữ phụ (backing store) và sau đó, được đưa trở lại bộ
nhớ để thực thi tiếp.
 Backing store - ổ đĩa đủ lớn để cung cấp bản sao của tất cả hình
ảnh bộ nhớ cho tất cả user, phải cung cấp sự truy nhập trực tiếp tới
các ảnh bộ nhớ này
 Roll out, roll in – biến thể hoán đổi được sử dụng cho thuật giải lập
lịch dựa trên mức ưu tiên (priority-based scheduling); process có
mức ưu tiên thấp bị thay ra để process có mức ưu tiên cao hơn
được nạp vào và thực hiện.

 Phần lớn thời gian swap là thời gian chuyển dữ liệu, tổng thời gian
chuyển tỉ lệ thuận với dung lượng bộ nhớ hoán đổi.
 Sự hoán đổi khác nhau ở các Os UNIX, Linux, Windows.

Khoa Công Nghệ Thơng Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Minh hoạ cơ chế Swapping

Khoa Công Nghệ Thông Tin – Đại Học Cơng Nghiệp TP Hồ Chí
Minh


Phân phối bộ nhớ liên tiếp
 Bộ nhớ chính được chia thành 2 phần:


Vùng nhớ thấp : chứa Os, bảng vecter ngắt.



Vùng nhớ cao: chứa các process của user

 Phân phối đơn partition (single-partition
allocation)
 Phân phối đa partition (Multiple-partition
allocation)

Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí

Minh


×