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
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
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 đủ
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:
bai_giang_he_dieu_hanh_chuong_8_bo_nho_ao_tran_thi_nhu_nguye.pdf

