Bài giảng Hệ điều hành - Chương 8: Bộ nhớ ảo - Trần Thị Như Nguyệt

Chương 8: Bộ nhớ ảo  
Câu hỏi ôn tập chương 7  
Bộ nhớ luận lý là gì? Bảng phân trang dùng để làm gì?  
Bảng trang được lưu trữ ở đâu? Các thanh ghi cần sử  
dụng trong cơ chế phân trang?  
TLB là gì? Dùng để làm gì?  
Thế nào là phân trang đa cấp? Cho ví dụ?  
Tại sao phải phân đoạn? Các đoạn được phân chia do  
cái gì?  
Các thanh ghi được sử dụng trong phân đoạn?  
Bộ nhớ ảo  
2
Câu hỏi ôn tập chương 7  
Xét một không gian địa chỉ có 14 trang, mỗi trang có kích  
thước 1MB. ánh xạ vào bộ nhớ vật lý có 38 khung trang  
a) Địa chỉ logic gồm bao nhiêu bit ?  
b) Địa chỉ physic gồm bao nhiêu bit ?  
c) Bꢀng trang có bao nhiêu mꢁc? Mỗi mꢁc trong bꢀng  
trang cꢂn bao nhiêu bit?  
Bộ nhớ ảo  
3
Câu hỏi ôn tập chương 7  
Xét một hệ thống sử dꢁng kỹ thuật phân trang, với bꢀng  
trang được lưu trữ trong bộ nhớ chính.  
a) Nếu thời gian cho một lꢂn truy xuất bộ nhớ bình thường  
là 124 nanoseconds, thì mất bao nhiêu thời gian cho một  
thao tác truy xunày ?  
b) Nếu sử dꢁng TLBs với hit-ratio ( tỉ lệ tìm thấy) là 95%,  
thời gian để tìm trong TLBs bằng 34, tính thời gian cho  
một thao tác truy xuất bộ nhớ trong hệ thống ( effective  
memory reference time)  
Bộ nhớ ảo  
4
Câu hỏi ôn tập chương 7  
Địa chỉ vật lý 6568 sẽ được chuyển thành địa chỉ ꢀo bao  
nhiêu? Biết rằng kích thước mỗi frame là 1K bytes  
Địa chỉ ꢀo 3254 sẽ được chuyển thành địa chỉ vật lý bao  
nhiêu? Biết rằng kích thước mỗi frame là 2K bytes  
Bộ nhớ ảo  
5
Câu hỏi ôn tập chương 7  
Xét một hệ thống sử dꢁng kỹ thuật phân trang, với bꢀng  
trang được lưu trữ trong bộ nhớ chính. Nếu sử dꢁng TLBs  
với hit-ratio ( tỉ lệ tìm thấy) là 87%, thời gian để tìm trong  
TLBs là 24 nanosecond. Thời gian truy xuất bộ nhớ trong  
hệ thống ( effective memory reference time) là 175. Tính  
thời gian cho một lꢂn truy xuất bộ nhớ bình thường?  
Bộ nhớ ảo  
6
Câu hỏi ôn tập chương 7  
Biết thời gian truy xuất trong bộ nhớ thường không sử  
dꢁng TLB là 250ns. Thời gian tìm kiếm trong bꢀng TLB là  
26ns. Hỏi sác xuất bằng bao nhiêu nếu thời gian truy xuất  
trong bộ nhớ chính là 182ns.  
Bộ nhớ ảo  
7
Câu hỏi ôn tập chương 7  
Xét bꢀng phân đoạn sau đây :  
Cho biết địa chỉ vật lý tương ứng với các địa chỉ logic sau đây :  
a. 0,430  
b. 1,100  
c. 2,500  
d. 3,400  
e. 4,112  
Bộ nhớ ảo  
8
Mục tiêu  
Hiểu được các khái niệm tổng quan về bộ nhớ ảo  
Hiểu và vận dụng các kỹ thuật cài đặt được bộ nhớ  
ảo:  
Demand Paging  
Page Replacement  
Demand Segmentation  
Hiểu được một số vấn đề trong bộ nhở ảo  
Frames  
Thrashing  
Bộ nhớ ảo  
9
Nội dung  
Tổng quan về bộ nhớ ảo  
Cꢀi đặt bộ nhớ ảo: Demand Paging  
Cꢀi đặt bộ nhớ ảo: Page Replacement  
Cꢁc gie  
Replacement Algorithms)  
Vấn đề cấp phꢁt Frames  
Vấn đề Thrashing  
Cꢀi đặt bộ bộ nhớ ảo: Demand Segmentation  
Bộ nhớ ảo  
10  
Tổng quan bộ nhớ ảo  
Nhận xꢂt: không phải tất cả cꢁc phần cꢃa một process cần  
thiết phải được nạp vꢀo bộ nhớ chꢄnh tại cꢅng một thꢆi điểm  
Vꢄ dụ:  
Đoạn mꢇ điều khiển cꢁc lꢈi hiếm khi xảy ra  
Cꢁc arraysbộ nhớ (cấp phꢁt  
tꢉnh) nhiều hơn yêu cầu thꢊc sꢊ  
Một số tꢄnh năng ꢄt khi được dꢅng cꢃa một chương trꢋnh  
Cả chương trꢋnh thꢋ cꢌng cꢍ đoạn code chưa cần dꢅng  
Bộ nhớ ảo (vimột kỹ thuật cho  
phꢂp xử lꢎ một tiến trꢋnh không được nạp toꢀn bộ vꢀo bộ  
nhớ vật lꢎ  
Bộ nhớ ảo  
11  
Logical  
memory có 8  
pages, nhưng  
chỉ đang có 3  
pages đang  
trong physical  
memory  
Disk  
Bộ nhớ ảo  
Bộ nhớ ảo (tt)  
Ưu điểm cꢃa bộ nhớ ảo  
Số lượng process trong bộ nhớ nhiều hơn  
Một process cꢍ thể thꢊc thi ngay cả khi kꢄch  
thước cꢃa nꢍ lớn hơn bộ nhớ thꢊc  
Giảm nhꢏ công việc cꢃa lập trꢋnh viên (lập  
trình viên không phải lo về giới hạn memory  
khi lập trình)  
Không gian trꢁo đổi giữa bộ nhớ chꢄnh vꢀ bộ nhớ  
phụ (swap space).  
Vꢄ dụ:  
swap partition trong Linux  
file pagefile.sys trong Windows  
Bộ nhớ ảo  
13  
Cài đặt bộ nhớ ảo  
Cꢍ hai kỹ thuật:  
Phân trang theo yêu cầu (Demand Paging)  
Phân đoạn theo yêu cầu (Segmentation Paging)  
Phần cꢐng memory management phải hꢈ trợ  
paging vꢀ/
OS phải quản lꢎ sꢊ di chuyển cꢃa trang/đoạn giữa  
bộ nhớ chꢄnh vꢀ bộ nhớ thꢐ cấp  
Trong chương nꢀy,  
Chỉ qua
Phần cꢐng hꢈ trợ hiện thꢊc bộ nhớ ảo  
Cꢁc giải thuật cꢃa hệ điều hꢀnh  
Bộ nhớ ảo  
14  
Phân trang theo yêu cầu  
Demand paging: cꢁc trang cꢃa quꢁ trꢋnh chỉ được  
nạp vꢀo bộ nhớ chꢄnh khi được yêu cầu.  
Khi cꢍ một tham chiếu đến một trang mꢀ không cꢍ  
trong bộ nhớ chꢄnh (valid bit) thꢋ phần cꢐng sꢑ gây  
ra một ngꢒt (gꢓi lꢀ page-fault trap) kꢄch khởi page-  
fault service routine (PFSR) cꢃa hệ điều hꢀnh.  
PFSR:  
Chuyển process về trạng thꢁi blocked  
Phꢁt ra một yêu cầu đꢓc đꢉa để nạp trang được  
tham chiếu vꢀo một frame trống; trong khi đợi  
I/O, một process khꢁc được cấp CPU để thꢊc thi  
Sau khi I/O hoꢀn tất, đꢉa gây ra một ngꢒt đến hệ  
điều hꢀnh; PFSR cập nhật page table vꢀ chuyển  
process về trạng thꢁi ready.  
Bộ nhớ ảo  
15  
Lỗi trang và các bước xử lý  
Bộ nhớ ảo  
16  
Thay thế trang nhớ  
Bước 2 cꢃa PFSR giả sử phải thay trang vꢋ không tꢋm  
được frame trống, PFSR được bổ sung như sau:  
Xꢁc đꢔnh vꢔ trꢄ trên đꢉa cꢃa trang đang cần  
Tꢋm một frame trống:  
Nếu cꢍ frame trống thꢋ dꢅng nꢍ  
Nếu không cꢍ frame trống thꢋ dꢅng một giải thuật  
thay trang để chꢓn một trang hy sinh (victim page)  
Ghi victim page lên đꢉa; cập nhật page table vꢀ  
frame table tương ꢐng  
Đꢓc trang đang cần vꢀo frame trống (đꢇ cꢍ được tꢕ  
bước 2); cập nhật page table vꢀ frame table tương  
ꢐng.  
Bộ nhớ ảo  
17  
Thay thế trang nhớ (tt)  
o  
Các giải thuật thay thế trang  
Hai vấn đề chꢃ yếu:  
Frame-allocation algorithm  
Cấp phꢁt cho process bao nhiêu frame cꢃa bộ nhớ thꢊc?  
Page-replacement algorithm  
Chꢓn frame cꢃa process sꢑ được thay thế trang nhớ  
Mục tiêu: số lượng page-fault nhꢖ nhất  
Được đꢁnh giꢁ bꢗng cꢁch thꢊc thi giải thuật đối với một chuỗi  
tham chiếu bộ nhớ (memory reference string) vꢀ xꢁc đꢔnh số lần  
xảy ra page fault  
Ba giải thuật thay thế trang sẽ được xem xét:  
FIFO  
OPT  
LRU  
Bộ nhớ ảo  
19  
Các giải thuật thay thế trang  
Chuỗi tham chiếu là gì?  
Vꢄ dụ: Xét một process với các đꢔa chỉ luận lý như sau:  
0100, 0432, 0101, 0612, 0102, 0103, 0104, 0101, 0611, 0102,  
0103, 0104, 0101, 0610, 0102, 0103, 0104, 0101, 0609, 0102,  
0105  
Biết page-size = 100  
Các đꢔa chỉ trên sꢑ lần lượt ở các trang nhớ:  
1, 4, 1, 6, 1, 1, 1, 1, 6, 1, 1, 1, 1, 6, 1, 1, 1, 1, 6, 1, 1  
Như vậy, các trang nhớ mà process sꢑ tham chiếu đến (làm gꢓn)  
là:  
1, 4, 1, 6, 1, 6, 1, 6, 1, 6, 1  
Chuꢈi này gꢓi là chuỗi tham chiếu cꢃa process.  
Bộ nhớ ảo  
20  
Tải về để xem bản đầy đủ
pdf 37 trang yennguyen 12880 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành - Chương 8: Bộ nhớ ảo - Trần Thị Như Nguyệt", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_he_dieu_hanh_chuong_8_bo_nho_ao_tran_thi_nhu_nguye.pdf