Bài giảng Hệ điều hành - Nguyễn Thị Ngọc Vinh - Chương 3: Quản lý bộ nhớ

1. Địa chỉ và các vấn đề liên quan

2. Một số cách tổ chức chƣơng trình

3. Các yêu cầu quản lý bộ nhớ

4. Phân chƣơng bộ nhớ

5. Phân trang bộ nhớ

6. Phân đoạn bộ nhớ

7. Bộ nhớ ảo

pdf80 trang | Chuyên mục: Hệ Điều Hành | Chia sẻ: dkS00TYs | Lượt xem: 2007 | Lượt tải: 4download
Tóm tắt nội dung Bài giảng Hệ điều hành - Nguyễn Thị Ngọc Vinh - Chương 3: Quản lý bộ nhớ, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
U=0 và M=0 sẽ bị đổi
 Chỉ kiểm tra mà không thay đổi nội dung bit U, bit M
 Bƣớc 2:
 Nếu quay hết 1 vòng mà không tìm đƣợc trang có U và M bằng 0 thì quét lại 
danh sách lần 2
 Trang đầu tiên có U=0, M=1 sẽ bị đổi
 Đặt bit U của những trang đã quét đến nhƣng đƣợc bỏ qua là 0
 Nếu chƣa tìm đƣợc thì lặp lại bƣớc 1 và cả bƣớc 2 nếu cần
V. BỘ NHỚ ẢO 
3.2 Các chiến lƣợc đổi trang
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 64
 HDH dành ra một số khung trống đƣợc kết nối thành danh 
sách liên kết gọi là các trang đệm
 Trang bị đổi nhƣ bình thƣờng nhƣng nội dung trang này 
không bị xóa ngay khỏi bộ nhớ
 Khung chứa trang đƣợc đánh dấu là khung trống và thêm 
vào cuối danh sách trang đệm
 Trang mới sẽ đƣợc nạp vào khung đứng đầu trong danh 
sách trang đệm
 Tới thời điểm thích hợp, hệ thống sẽ ghi nội dung các trang 
trong danh sách đệm ra đĩa
V. BỘ NHỚ ẢO 
3.3 Sử dụng đệm trang
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 65
 Kỹ thuật đệm trang cho phép cải tiến tốc độ:
 Nếu trang bị đổi có nội dung cần ghi ra đĩa, HDH vẫn có nạp trang 
mới vào ngay
 Việc ghi ra đĩa sẽ đƣợc lùi lại tới một thời điểm sau
 Thao tác ghi ra đĩa có thể thực hiện đồng thời với nhiều trang nằm trong 
danh sách đƣợc đánh dấu trống.
 Trang bị đổi vẫn đƣợc giữ trong bộ nhớ một thời gian:
 Nếu có yêu cầu truy cập trong thời gian này, trang sẽ đƣợc lấy ra từ danh 
sách đệm và sử dụng ngay mà không cần nạp lại từ đĩa
 => Vùng đệm đóng vai trò giống nhƣ bộ nhớ cache
V. BỘ NHỚ ẢO 
3.3 Sử dụng đệm trang
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 66
 HDH cấp phát bao nhiêu khung cho mỗi tiến trình?
 Khi số lƣợng khung tối đa cấp cho tiến trình giảm tới mức 
nào đó, lỗi thiếu trang diễn ra thƣờng xuyên
=> Đặt giới hạn tối thiểu các khung cấp phát cho tiến trình
 Khi số lƣợng khung cấp cho tiến trình giảm tới mức nào đó 
thì việc tăng thêm khung cho tiến trình không làm giảm 
đáng kể tần suất thiếu trang nữa
 => Cấp phát số lƣợng khung cố định và số lƣợng khung 
thay đổi
VI. CẤP PHÁT KHUNG TRANG
1. Giới hạn khung
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 67
 Cấp cho tiến trình một số lƣợng cố định khung để chứa các 
trang nhớ
 Số lƣợng đƣợc xác định vào thời điểm tạo mới tiến trình và 
không thay đổi trong quá trình tiến trình tồn tại
 Cấp phát bằng nhau:
 Các tiến trình đƣợc cấp số khung tối đa bằng nhau
 Số lƣợng đƣợc xác định dựa vào kích thƣớc MEM và mức độ đa 
chƣơng trình mong muốn
 Cấp phát không bằng nhau:
 Các tiến trình đƣợc cấp số khung tối đa khác nhau
 Cấp số khung tỉ lệ thuận với kích thƣớc tiến trình
 Có mức ƣu tiên
VI. CẤP PHÁT KHUNG TRANG 
1.1. Cấp phát số lƣợng khung cố định
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 68
 Số lƣợng khung tối đa cấp cho mỗi tiến trình có thể thay đổi 
trong quá trình thực hiện
 Việc thay đổi phụ thuộc vào tình hình thực hiện của tiến 
trình
 Cho phép sử dụng bộ nhớ hiệu quả hơn phƣơng pháp cố 
định
 => Cần theo dõi và xử lý thông tin về tình hình sử dụng bộ 
nhớ của tiến trình
VI. CẤP PHÁT KHUNG TRANG 
1.2. Cấp phát số lƣợng khung thay đổi
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 69
 Cấp phát toàn thể:
 Cho phép tiến trình đổi trang mới vào bất cứ khung nào (không bị 
khóa), kể cả khung đã đƣợc cấp phát cho tiến trình khác
 Cấp phát cục bộ:
 Trang chỉ đƣợc đổi vào khung đang đƣợc cấp cho chính tiến trình
đó
 Phạm vi cấp phát có quan hệ mật thiết với số lƣợng khung 
tối đa:
 Số lƣợng khung cố định tƣơng ứng với phạm vi cấp phát cục bộ
 Số lƣợng khung thay đổi tƣơng ứng với phạm vi cấp phát toàn thể
VI. CẤP PHÁT KHUNG TRANG 
2. Phạm vi cấp phát khung
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 70
 Là tình trạng đổi trang liên tục do không đủ bộ nhớ
 Thời gian đổi trang của tiến trình lớn hơn thời gian thực 
hiện
 Xảy ra khi:
 Kích thƣớc bộ nhớ hạn chế
 Tiến trình đòi hỏi truy cập đồng thời nhiều trang nhớ 
 Hệ thống có mức độ đa chƣơng trình cao
VII. TÌNH TRẠNG TRÌ TRỆ (thrashing)
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 71
 Khi tiến trình rơi vào tình trạng trì trệ, tần suất thiếu trang 
tăng đáng kể
 => sử dụng để phát hiện và giải quyết vấn đề trì trệ
 Theo dõi và ghi lại tần suất thiếu trang
 Có thể đặt ra giới hạn trên và giới hạn dƣới cho tần suất 
thiếu trang của tiến trình
 Tần suất vƣợt giới hạn trên: 
 Cấp thêm cho tiến trình khung mới
 Nếu không thể tìm khung để cấp thêm, tiến trình sẽ bị treo hoặc bị kết thúc
 Tần suất thiếu trang thấp hơn giới hạn dƣới: thu hồi một số khung 
của tiến trình
VII. TÌNH TRẠNG TRÌ TRỆ (thrashing)
Kiểm soát tần suất thiếu trang
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 72
 Hỗ trợ cơ chế quản lý bộ nhớ: phân đoạn đƣợc kết hợp với 
phân trang
 Không gian nhớ của tiến trình bao gồm nhiều đoạn, mỗi 
đoạn có thể có kích thƣớc khác nhau và đƣợc phân trang 
trƣớc khi đặt vào bộ nhớ
 Ánh xạ địa chỉ: 2 giai đoạn
VIII. QUẢN LÝ BỘ NHỚ TRONG INTEL PENTIUM
Địa chỉ 
lô gic
Khối 
phân đoạn
Địa chỉ tuyến tính Khối 
phân trang
Địa chỉ vật lý
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 73
 Cho phép tiến trình có tối đa 16KB (hơn 16000) đoạn, mỗi 
đoạn có kích thƣớc tối đa 4GB
 Không gian nhớ lô gic đƣợc chia thành hai phần:
 Phần 1: dành riêng cho tiến trình, bao gồm tối đa 8KB đoạn
 Phần 2: dùng chung cho tất cả tiến trình, bao gồm cả HDH, và 
cũng gồm tối đa 8KB đoạn
 LDT(Local Descriptor Table) & GDT (Global Descriptor 
Table): chứa thông tin quản lý :
 Mỗi ô có kích thƣớc 8 byte: chứa địa chỉ cơ sở và giới hạn của 
đoạn tƣơng ứng
VIII. QUẢN LÝ BỘ NHỚ TRONG INTEL PENTIUM 
Phân đoạn
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 74
 Có 6 thanh ghi đoạn: cho phép tiến trình truy cập đồng thời 
6 đoạn
 Thông tin về đoạn đƣợc chứa trong 6 thanh ghi 8 byte
 Địa chỉ logic gồm (selector, offset):
 Selector: chọn ô tƣơng ứng từ hai bảng mô tả LDT, GDT
 S: là số thứ tự đoạn
 G: cho biết đoạn thuộc GDT (g=0) hay LDT(g=1)
 P: cho biết chế độ bảo vệ (p=0 là chế độ nhân, p=3 là chế độ ngƣời dùng)
 Offset: độ dịch trong đoạn, kích thƣớc 32bit
VIII. QUẢN LÝ BỘ NHỚ TRONG INTEL PENTIUM 
Phân đoạn
s g p
13 bit 1 bit 2 bit
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 75
 Biến đổi địa chỉ logic thành địa chỉ tuyến tính:
VIII. QUẢN LÝ BỘ NHỚ TRONG INTEL PENTIUM 
Phân đoạn
S=0 S=1
S
GDT LDT
Giới hạn
Địa chỉ cơ sở
Thanh ghi GDTR
Giới hạn
Địa chỉ cơ sở
Đoạn ...
Thanh ghi LDTR
0
8
1
6
5
6
0
8
1
6
5
6
Selector
Selector
Địa chỉ cơ sở
Giới hạn
Các trường khác
+
Offset
32-Bit địa chỉ tuyến tính
Bảng mô tả
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 76
 Hỗ trợ kích thƣớc trang 4KB hoặc 4MB, tùy thuộc vào giá 
trị cờ kích thƣớc trang
 Trang kích thƣớc 4KB: tổ chức bảng trang thành 2 mức
 Địa chỉ tuyến tính có kích thƣớc 32 bit
 P1: cho phép tìm bảng trang mức hai
 P2: tìm ô tƣơng ứng trong bảng trang mức 2 kết hợp với độ dịch o 
tạo ra địa chỉ vật lý
 Trang kích thƣớc 4MB: Bảng trang chỉ có một mức
 P :10bit 
 O: độ dịch, kích thƣớc 22bit cho phép trỏ tới vị trí cụ thể trong trang nhớ 4MB
VIII. QUẢN LÝ BỘ NHỚ TRONG INTEL PENTIUM 
Phân trang
p1 p1 o
10 bit 10 bit 12 bit
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 77
 Biến đổi địa chỉ tuyến tính thành địa chỉ vật lý với kích 
thƣớc trang 4KB
VIII. QUẢN LÝ BỘ NHỚ TRONG INTEL PENTIUM 
Phân trang
P1 P2 O
31 22 21 12 11 0
Địa chỉ tuyến tính
Khoản mục
Khoản mục 
Địa chỉ vật lý
CR3 (PDBR)
10
12
10
32
Bảng trang mức 1
Bảng trang mức 2
Trang 4KB
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 78
VIII. QUẢN LÝ BỘ NHỚ TRONG INTEL PENTIUM 
Ánh xạ địa chỉ
P1 P2 O
Segment
Selector
Offset
Không gian địa 
chỉ tuyến tính
Bảng mô tả toàn 
thể (GDT)
Segment Descriptor
Địa chỉ tuyến tính
Khoản mục
Khoản mục
Địa chỉ vật lý
Địa chỉ cơ sở 
đoạn Trang
Đoạn
Không gian 
địa chỉ vật lý
Địa chỉ tuyến tính
Địa chỉ logic
Bảng trang mức 1
Bảng trang mức 2
Phân đoạn Phân trang
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 79
 Cho phép tiến trình sử dụng bộ nhớ ảo tới 4GB
 2GB đƣợc dùng riêng cho tiến trình 
 2GB sau đƣợc dùng chung cho hệ thống
 Bộ nhớ ảo thực hiện bằng kỹ thuật nạp trang theo nhu cầu 
và đổi trang
 Kích thƣớc trang nhớ 4KB
 Tổ chức bảng trang 2 mức
 Nạp trang theo cụm: khi xảy ra thiếu trang, nạp cả cụm gồm 1 số 
trang nằm sau trang bị thiếu
IX. QUẢN LÝ BỘ NHỚ TRONG WINDOWS XP
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 80
 Kiểm soát số lƣợng trang: gán cho mỗi tiến trình số lƣợng trang 
tối đa và tối thiểu
 Số lƣợng trang tối đa và tối thiểu cấp cho tiến trình đƣợc 
thay đổi tùy vào tình trạng bộ nhớ trống
 HDH lƣu danh sách khung trống, và sử dụng một ngƣỡng 
an toàn
 Số khung trống ít hơn ngƣỡng: HDH xem xét các tiến trình đang 
thực hiện. 
 Tiến trình có số trang lớn hơn số lƣợng tối thiểu sẽ bị giảm số 
trang cho tới khi đạt tới số lƣợng tối thiểu của mình.
 Tùy vào vi xử lý, Windows XP sử dụng thuật toán đổi trang 
khác nhau
IX. QUẢN LÝ BỘ NHỚ TRONG WINDOWS XP

File đính kèm:

  • pdfBài giảng Hệ điều hành - Nguyễn Thị Ngọc Vinh - Chương 3 Quản lý bộ nhớ.PDF