Bài giảng Hệ điều hành - Chương 7: Bộ nhớ ảo
lượt xem 65
download
Bài giảng Hệ điều hành Chương 7: Bộ nhớ ảo trình bày về các nội dung chính vấn đề về Real Memory, ý tưởng Virtual Memory, thực hiện Virtual Memory, các chiến lược của Virtual Memory như chiến lược nạp, chiến lược thay thết trang, chiến lược cấp phát khung trang, hiện tượng thrashing.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Hệ điều hành - Chương 7: Bộ nhớ ảo
- Baøi giaûng 7 : Boä nhôù AÛo VaÁn ñeà vôùi Real Memory YÙ töôûng Virtual Memory Thöïc hieän Virtual Memory Caùc chieán löôïc cuûa Virtual Memory Chieán löôïc naïp Chieán löôïc thay theá trang Chieán löôïc caáp phaùt khung trang Hieän töôïng thrashing Nguyeân nhaân Giaûi phaùp 12/2/2005 Trần Hạnh Nhi 1
- Caùc caáp boä nhôù Cho ñeán nay : Naïp toaøn boä tieán trình vaøo boä nhôù roài thöïc hieän noù... Neáu kích thöôùc tieán trình lôùn hôn dung löông boä nhôù chính ? Memory Cache Registers 12/2/2005 Trần Hạnh Nhi 2
- Giaûi phaùp Taïi moät thôøi ñieåm chæ coù 1 chæ thò ñöôïc thi haønh Taïi sao phaûi naïp taát caû tieán trình vaøo BNC cuøng 1 luùc ? YÙ töôûng Cho pheùp naïp vaø thi haønh töøng phaàn tieán trình Ai ñieàu khieån vieäc thay ñoåi caùc phaàn ñöôïc naïp vaø thi haønh ? Taïi moät thôøi ñieåm chæ giöõ trong BNC caùc chæ thò vaø döõ lieäu caàn thieát taïi thôøi ñieåm ñoù Caùc phaàn khaùc cuûa tieán trình naèm ôû ñaâu ? Giaûi phaùp Boä nhôù aûo (virtual memory) 12/2/2005 Trần Hạnh Nhi 3
- Virtual Memory Neáu coù moät Virtual Memory vôùi dung löôïng raát raát lôùn cho LTV laøm vieäc... Hoan hoâ ! Virtual Memory Memory Cache Registers 12/2/2005 Trần Hạnh Nhi 4
- YÙ töôûng Taùch bieät KGÑC vaø KGVL LTV : moãi tieán trình laøm vieäc vôùi KGÑC 2m cuûa mình (ñòa chæ töø 0 – (2m -1)) HÑH : chòu traùch nhieäm naïp caùc KGÑC vaøo moät KGVL chung Giaûi phaùp cuûa HÑH : Naïp töøng phaàn tieán trình Phaân chia KGÑC thaønh caùc phaàn ? Paging/Segmentation Môû roäng BNC ñeå löu tröõ caùc phaàn cuûa tieán trình chöa ñöôïc naïp Duøng BNP(disk) ñeå môû roäng BNC Nhaän bieát phaàn naøo cuûa KGÑC chöa ñöôïc naïp ? Boå sung bit côø hieäu ñeå nhaän daïng tình traïng cuûa moät page/segment laø ñaõ ñöôïc naïp vaøo BNC hay chöa Cô cheá chuyeån ñoåi qua laïi caùc phaàn cuûa tieán trình giöõa BNC vaø BNP Swapping... 12/2/2005 Trần Hạnh Nhi 5
- Virtual Memory vôùi cô cheá phaân trang (Paging) Phaân chia KGÑC thaønh caùc page Duøng BNP(disk) ñeå môû roäng BNC, löu tröõ caùc phaàn cuûa tieán trình chöa ñöôïc naïp Boå sung bit côø hieäu trong Page Table ñeå nhaän daïng tình traïng moät page ñaõ ñöôïc naïp vaøo BNC hay chöa . Caáu truùc moät phaàn töû trong Page Tables 12/2/2005 Trần Hạnh Nhi 6
- Löu tröõ KGÑC ôû ñaâu ? Söû duïng boä nhôù phuï ñeå löu tröõ taïm thôøi caùc trang chöa söû duïng DISK P RAM 12/2/2005 Trần Hạnh Nhi 7
- Virtual Memory virtual address space 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 physical memory 7 1 5 4 13 2 18 3 3 12/2/2005 Trần Hạnh Nhi 8
- Memory Lookup present Outgoing physical address bit 15 000 0 1 1 0 Page table 14 000 0 13 000 0 (0x6004, 24580) 12 000 0 11 111 1 10 000 0 9 101 1 8 000 0 7 000 0 6 000 0 5 011 1 4 100 1 3 000 1 2 110 1 1 001 1 4-bit index 0 010 1 into page table virtual page = 0x0010 = 2 12-bit offset Incoming virtual address 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 (0x2004, 8196) 12/2/2005 Trần Hạnh Nhi 9
- Memory Lookup present Outgoing physical address bit 15 000 0 Page table 14 000 0 13 000 0 12 000 0 11 111 1 10 000 0 9 101 1 8 000 0 7 000 0 6 000 0 5 4 011 100 1 1 PAGE FAULT 3 000 1 2 110 0 1 001 1 4-bit index 0 010 1 into page table virtual page = 0x0010 = 2 12-bit offset Incoming virtual address 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 (0x2004, 8196) 12/2/2005 Trần Hạnh Nhi 10
- Demand Paging int i,j; i main () emacs { j i = 5; i j j = 2; i=5 } j=2 gcc KGDC code Khi naïp moät tieán trình môùi, chæ naïp vaøo BNC page chöùa entry code Khi truy xuaát ñeán moät chæ thò hay döõ lieäu, KGVL page töông öùng môùi ñöôïc naïp vaøo BNC 12/2/2005 Trần Hạnh Nhi 11
- Swapping 12/2/2005 Trần Hạnh Nhi 12
- Demand Paging + Swapping int i,j; main () { i i = 5; j = 2; emacs j } i j i=5 j=2 gcc KGDC code 12/2/2005 Trần Hạnh Nhi KGVL 13
- Thöïc hieän Boä nhôù aûo Baûng trang : theâm 1 bit valid/invalid ñeå nhaän dieän trang ñaõ hay chöa ñöôïc naïp vaøo RAM Frame valid/invalid 17 1 Disk 4183 0 177 1 5721 0 Mem Truy xuaát ñeán moät trang chöa ñöôïc naïp vaøo boä nhôù : loãi trang (page fault) 12/2/2005 Trần Hạnh Nhi 14
- Page Tables
- Xöû lyù loãi trang 3 xaùc ñònh vò trí löu trang treân ñóa OS loãi trang 2 3’ truy xuaát M swap out 1 trang naïn nhaân naïp M i 6 taùi kích hoaït Page Table frame troáng tieán trình 5 mang trang Boä nhôù aûo 4 caäp nhaät caàn truy xuaát baûng trang vaøo boä nhôù Boä nhôù vaät lyù 12/2/2005 Trần Hạnh Nhi 16
- Caùc böôùc xöû lyù loãi trang 1. Kieåm tra truy xuaát ñeán boä nhôù laø hôïp leä hay baát hôïp leä 2. Neáu truy xuaát baát hôïp leä : keát thuùc tieán trình Ngöôïc laïi : ñeán böôùc 3 3. Tìm vò trí chöùa trang muoán truy xuaát treân ñóa. 4. Tìm moät khung trang troáng trong boä nhôù chính : a. Neáu tìm thaáy : ñeán böôùc 5 b. Neáu khoâng coøn khung trang troáng, choïn moät khung trang naïn nhaân ñeå swap out, caäp nhaät baûng trang töông öùng roài ñeán böôùc 5 5. Chuyeån trang muoán truy xuaát töø boä nhôù phuï vaøo boä nhôù chính : naïp trang caàn truy xuaát vaøo khung trang troáng ñaõ choïn (hay vöøa môùi laøm troáng ) ; caäp nhaät noäi dung baûng trang, baûng khung trang töông öùng. 6. Taùi kích hoaït tieán trình ngöôøi söû duïng. 12/2/2005 Trần Hạnh Nhi 17
- Caùc caâu hoûi 1. Choïn trang naøo ñeå naïp ? => Chieán löôïc naïp Demand Paging / Prepageing 2. Choïn trang naïn nhaân ? => Chieán löôïc thay theá trang FIFO / OPTIMAL/LRU 3. Caáp phaùt khung trang => Chieán löôïc caáp phaùt khung trang Coâng baèng/ Tyû leä... 12/2/2005 Trần Hạnh Nhi 18
- Chieán löôïc naïp Quyeát ñònh thôøi ñieåm naïp moät/nhieàu page vaøo BNC Naïp tröôùc : laøm sao bieát ? =>prepaging Naïp sau : taàn suaát loãi trang cao ? => pure demand paging Prepaging : Naïp saün moät soá trang caàn thieát vaøo BNC tröôùc khi truy xuaát chuùng Demand paging : Chæ naïp trang khi ñöôïc yeâu caàu truy xuaát ñeán trang ñoù ld init pages ld page ld page ... ld page init pages = ? 12/2/2005 Trần Hạnh Nhi 19
- Chieán löôïc thay theá trang (Page Replacement) Muïc tieâu : thay theá trang sao cho taàn suaát xaûy ra loãi trang thaáp nhaát Ñaùnh giaù Söû duïng soá frame cuï theå Giaû söû coù moät chuoãi truy xuaát cuï theå adresse : 0100, 0432, 0101, 0612, 0102, 0103, 0104, 0611 # page : 1, 4, 1, 6, 1, 1, 1, 6, Thöïc hieän moät thuaät toaùn thay theá trang treân chuoãi truy xuaát naøy Ñeám soá loãi trang phaùt sinh Chuoãi truy xuaát 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 3 frames 12/2/2005 Trần Hạnh Nhi 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ điều hành: Chương 1 - Phạm Đăng Hải
113 p | 382 | 86
-
Bài giảng Hệ điều hành: Chương 1 - ThS. Hà Lê Hoài Thương
39 p | 182 | 33
-
Bài giảng Hệ điều hành Unix: Chương IV - Giới thiệu hệ điều hành Unix
57 p | 244 | 21
-
Bài giảng Hệ điều hành - Bài 1: Tổng quan Hệ điều hành
77 p | 139 | 16
-
Bài giảng Hệ điều hành nâng cao - Chapter 19: Real - Time Systems
24 p | 101 | 13
-
Bài giảng Hệ điều hành Linux - Bài 1: Tổng quan
29 p | 166 | 13
-
Bài giảng Hệ điều hành: Chương 9 - ĐH Bách khoa TP HCM
56 p | 116 | 13
-
Bài giảng Hệ điều hành: Chương 2 - Trần Công Án (ĐH Cần Thơ)
39 p | 136 | 11
-
Bài giảng Hệ điều hành: Tổng quan về hệ điều hành
67 p | 170 | 10
-
Bài giảng Hệ điều hành: Chương 1C - Cấu trúc hệ điều hành
22 p | 133 | 9
-
Bài giảng Hệ điều hành: Chương 1 - Nguyễn Phan Trung
43 p | 122 | 9
-
Bài giảng Hệ điều hành: Chương 1 - Phan Xuân Huy
25 p | 143 | 9
-
Bài giảng Hệ điều hành nâng cao - Chapter 2: Operating - System Structures
54 p | 174 | 9
-
Bài giảng Hệ điều hành: Chương 2 - ThS. Hà Lê Hoài Trung
20 p | 123 | 9
-
Bài giảng Hệ điều hành Unix-Linux: Chương 1 - Đặng Thu Hiền
20 p | 133 | 8
-
Bài giảng Hệ điều hành: Chương 1 - TS. Ngô Hữu Dũng
60 p | 122 | 7
-
Bài giảng Hệ điều hành: Chương 1 - ĐH Bách khoa TP Hồ Chí Minh
26 p | 118 | 5
-
Bài giảng Hệ điều hành - Chương 1: Tổng quan hệ điều hành (Lương Minh Huấn)
109 p | 46 | 5
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn