HỆ ĐIỀU HÀNH
Giảng viên: Ths Phạm Thanh Bình
Bộ môn Kỹ thuật máy tính & mạng
/>
Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT
Hệ điều hành 4 1
Chương 4:
QUẢN LÝ BỘ NHỚ
Bộ nhớ và chương trình
Các phương thức quản lý bộ nhớ
Quản lý bộ nhớ trên IBM PC
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 2
Bài 4.1 – Bộ nhớ và chương
trình
Bộ nhớ là tài nguyên quan trọng để thi
hành chương trình
Muốn thi hành một chương trình thì mã
lệnh và dữ liệu của nó phải được nạp vào
bộ nhớ.
Cách thức tổ chức và quản lý bộ nhớ sẽ
ảnh hưởng tới tốc độ và hiệu quả thi
hành chương trình
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 3
Các bước thực hiện chương
trình
Bước 1: Dịch
Bước 2: Biên tập
Bước 3: Thi hành
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 4
Bước 1: Dịch
Dịch các modul chương trình (từ ngôn ngữ
thuật toán) sang ngôn ngữ máy (nhị phân),
bao gồm:
Chuyển đổi các tên biến sang địa chỉ ô
nhớ logic (tức là địa chỉ tương đối của ô
nhớ trong đoạn dữ liệu của chương trình)
Chuyển đổi các câu lệnh sang mã máy
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 5
Bước 2: Biên tập
Liên kết các modul đã dịch để tạo thành
một chương trình hoàn chỉnh
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 6
Bước 3: Thi hành
Nạp chương trình vào bộ nhớ vật lý cụ
thể, chuyển đổi các địa chỉ logic sang địa
chỉ vật lý
Quyền điều khiển được trao cho câu lệnh
đầu tiên của chương trình
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 7
Cấu trúc chương trình
Một chương trình thường gồm các đoạn:
Mã lệnh, dữ liệu, ngăn xếp
Khi thi hành chương trình thì mã lệnh, dữ
liệu, ngăn xếp thường được nạp vào các
đoạn nhớ riêng (không nhất thiết liền
nhau)
Việc tổ chức, sắp xếp các đoạn chương
trình trong bộ nhớ có ảnh hưởng rất lớn
tới tốc độ thi hành chương trình và hiệu
quả sỹử thu
dụ
ng bộ nhớ ạng –
Bộ môn K
ật máy tính & m
Khoa CNTT
Hệ điều hành 4 8
Bài 4.2 – Các phương thức quản lý bộ
nhớ
Phân khu cố định
Phân khu động
Phân đoạn
Phân trang
Kết hợp phân trang đoạn
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 9
Phân khu cố định
Bộ nhớ được chia thành N phần (không
nhất thiết bằng nhau)
Môi phần có thể dùng để nạp và chạy
một chương trình
Có thể chạy đồng thời nhiều chương
trình
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 10
Phân khu động
Bộ nhớ được phân phối tuỳ theo kích
thước chương trình
Chương trình nào thực hiện xong thì bộ
nhớ của nó sẽ được giải phóng, dành chỗ
cho chương trình khác
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 11
Nhận xét:
Cả hai phương thức phân khu cố định và
phân khu động đều có chung đặc điểm:
Mỗi chương trình khi thi hành đều chiếm
dụng một vùng nhớ tương ứng với kích
thước của nó
Do đó không thể thi hành được các
chương trình có kích thước lớn hơn bộ
nhớ vật lý
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 12
Phân đoạn
Khi có yêu cầu cung cấp bộ nhớ từ phía
chương trình, hệ thống sẽ cấp phát một
đoạn nhớ có kích thước đúng bằng modul
cần nạp của chương trình
Để quản lý các đoạn nhớ, người ta sử
dụng bảng quản lý đoạn SCB (Segments
control block), mỗi phần tử của bảng sẽ
ứng với một modul của chương trình
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 13
Bảng SCB:
D
A
L
...
...
...
...
...
...
...
...
...
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 14
Phân trang
Chương trình ở bộ nhớ ngoài được chia
thành nhiều phần bằng nhau, mỗi phần
gọi là một trang (logic)
Bộ nhớ vật lý cũng được chia thành các
trang có cùng kích thước với trang ở bộ
nhớ ngoài
Các trang của chương trình sẽ được nạp
vào các trang trong bộ nhớ vật lý
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 15
Để quản lý các trang của chương trình,
người ta sử dụng bảng quản lý trang
PCB (Pages control block), mỗi phần tử
của bảng sẽ ứng với một trang logic
D
AP
...
...
...
...
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 16
Các phương pháp nạp trang và đổi
trang
Chiến lược phân trang thường xuyên phải
thực hiện việc nạp lại trang, đưa trang ra
bộ nhớ ngoài...
Làm tăng hao phí thời gian và chậm tốc
độ hệ thống
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 17
Cần có các biện pháp nạp trang và đổi
trang sao cho thích hợp nhất, tiết kiệm
thời gian nhất!
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 18
Các chiến lược nạp trang
Nạp đơn giản
Nạp trước
Nạp theo yêu cầu
...
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 19
Các chiến lược đổi trang
Đổi ngẫu nhiên
Nạp trước thì thay trước (FIFO)
Thay trang có lần sử dụng cuối cùng cách
đây lâu nhất (LRULast Recently Used)
...
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 20
Kết hợp phân trang đoạn
Chương trình được biên tập theo kiểu
phân đoạn, các đoạn được quản lý bằng
bảng SCB
Mỗi đoạn (mỗi modul chương trình) lại
được chia thành từng trang Mỗi đoạn
sẽ có bảng PCB của riêng nó
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 21
Bộ nhớ vật lý được chia thành các trang
có kích thước bằng nhau.
Khi thi hành, mỗi đoạn chương trình sẽ
được cấp một số lượng trang vật lý nhất
định
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 22
Bài 4.3 – Quản lý bộ nhớ trên IBM
PC
Quản lý bộ nhớ trên hệ thống 8086
Quản lý bộ nhớ trên hệ thống 80286
Quản lý bộ nhớ trên hệ thống 80386
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 23
Quản lý bộ nhớ trên hệ thống 8086
Địa chỉ vật lý dài 20 bít
Chỉ quản lý được 1MB bộ nhớ
Bộ nhớ được chia thành các đoạn có kích
thước tối đa 64 KB (xếp chồng lên nhau)
Địa chỉ logic có dạng segment:offset, trong
đó segment dài 16 bít, offset dài 16 bit
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 24
Quản lý bộ nhớ trên hệ thống
80286
Có hai chế độ:
Chế độ thực (Real mode)
Chế độ bảo vệ (Protected mode)
Bộ môn Kỹ thuật máy tính & mạng –
Khoa CNTT
Hệ điều hành 4 25