Bài giảng Hệ điều hành: Chương 7 - Thoại Nam, Lê Ngọc Minh

29 104 0
Bài giảng Hệ điều hành: Chương 7 - Thoại Nam, Lê Ngọc Minh

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Hệ điều hành - Chương 7: Virtual memory cung cấp cho người học các kiến thức: Cơ chế phân trang và phân đoạn, cơ chế bộ nhớ ảo, các chiến lược quản lý, cấp phát frame cho process, Thrashing.

7.Virtual Memory ‰ Cơ chế phân trang phân đoạn ‰ Cơ chế nhớ ảo ‰ Các chiến lược quản lý – Fetch Policy – Placement policy – Page replacement policy ‰ Cấp phát frame cho process ‰ Thrashing Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.1- Cơ chế phân trang (paging) ‰ ‰ Cơ chế phân trang cho phép không gian đòa thực (physical address space) process không liên tục Bộ nhớ thực chia thành khối kích thước cố đònh gọi frame – Thông thường kích thước frame lũy thừa 2, từ khoảng 512 byte đến 16MB ‰ ‰ Bộ nhớ luận lý (logical memory) chia thành khối kích thước gọi trang nhớ (page) Hệ điều hành phải thiết lập bảng phân trang (page table) để ánh xạ đòa ảo, luận lý thành đòa thực (address translation scheme) – Mỗi process có bảng phân trang quản lý trỏ lưu giữ PCB Công việc nạp bảng phân trang vào hệ thống (do CPU dispatcher thực hiện) phần chuyển ngữ cảnh ‰ Cơ chế phân trang khiến nhớ bò phân mảnh nội, nhiên lại khắc phục phân mảnh ngoại Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.2- https://fb.com/tailieudientucntt Cơ chế phân trang (t.t) fram e num ber page 0 page 1 page 2 page 3 page page page page page table logicalm em ory physicalm em ory Khoa Coâng Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.3- Mô hình chuyển đổi đòa ‰ Đòa nhớ CPU tạo (logical address) gồm có: – Page number (p) – dùng làm mục dò tìm bảng phân trang Mỗi mục bảng phân trang chứa đòa sở (hay số frame) trang tương ứng nhớ thực – Page offset (d) – kết hợp với đòa sở (base address) để đònh vò đòa thực ‰ Nếu kích thước không gian đòa ảo 2m, kích thước trang 2n page num ber p m-n bits (đònh vò từ ÷ 2m-n -1) page offset d n bits (đònh vò từ ÷ 2n-1) Do đó, bảng phân trang có tổng cộng 2m/2n = 2m-n mục Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.4- https://fb.com/tailieudientucntt Paging Hardware physical address logical address C PU p f f000… 0000 d f d f111… 1111 p f Nếu kích thước không gian nhớ thực 2l bytes, mục bảng phân trang có l-n bits physical m em ory page table fram e num ber fram e offset f (l-n bits) d (n bits) Khoa Coâng Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.5- Chuyển đổi nhớ với paging Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.6- https://fb.com/tailieudientucntt Hiện thực bảng phân trang ‰ Bảng phân trang lưu giữ nhớ (kernel memory) – Mỗi process có bảng phân trang – Thanh ghi page-table base (PTBR) trỏ đến bảng phân trang – Thanh ghi page-table length (PTLR) biểu thi kích thước bảng phân trang (và dùng để bảo vệ nhớ) ‰ Mỗi tác vụ truy cập liệu/lệnh cần hai thao tác truy xuất vùng nhớ – Một thao tác truy xuất bảng phân trang (page number: p) thao tác truy xuất liệu/lệnh (page offset: d – displacement) – Thường dùng phận cache phần cứng có tốc độ truy xuất tìm kiếm cao, gọi ghi kết hợp (associative register) translation look-aside buffers (TLBs) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.7- Associative Register (hardware) ‰ Thanh ghi keát hợp (associative register): hỗ trợ tìm kiếm truy xuất liệu đồng thời với tốc độ cực nhanh Page # Fram e # Số mục TLB khoảng ÷ 2048 TLB “cache” bảng phân trang Khi có chuyển ngữ cảnh, TLB bò xóa Ánh xạ đòa ảo (A’, A’’) Khi TLB bò đầy, thay LRU –Nếu A’ nằm TLB (H IT)⇒ lấy số frame ⇒ tiết kiệm ~ 10% thời gian tìm kiếm –Ngược lại (M ISS), phải tìm số frame từ bảng phân trang bình thường Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.8- https://fb.com/tailieudientucntt Paging Hardware với TLB Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.9- Effective Access Time (EAT) ‰ ‰ ‰ Thời gian tìm kiếm (associative lookup): ε (đơn vò) Thời gian chu kỳ truy xuất nhớ: x (đơn vò) Hit Ratio – tỉ lệ phần trăm thời gian số trang tìm thấy (HIT) TLB; tỉ lệ với số ghi kết hợp TLB – Kí hiệu hit ratio = α ‰ Thời gian lấy trang – Khi trang coù TLB (HIT) – Khi trang TLB (MISS) ‰ ε+x ε + 2x Thời gian truy xuất hiệu dụng - Effective Access Time (EAT) EAT = (x + ε)α + (2x + ε)(1 – α) = (2–α) * x + ε Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.10- https://fb.com/tailieudientucntt Effective Access Time (t.t) ‰ Ví duï – – – – ‰ Associate lookup = 20 Memory access = 100 Hit ratio = 0.8 EAT = (100 + 20) * 0.8 + (200 + 20) * 0.2 = 1.2 * 100 + 20 = 140 40% slow in m em ory access tim e Ví duï – – – – Associate lookup = 20 Memory access = 100 Hit ratio = 0.98 EAT = (100 + 20) * 0.98 + (200 + 20) * 0.02 = 1.02 * 100 + 20 = 122 22% slow in m em ory access tim e Khoa Coâng Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.11- Bảo vệ nhớ ‰ Việc bảo vệ nhớ thực cách gắn với frame bit bảo vệ (protection bits) Các bit biểu thò thuộc tính sau – read-only, read-write, execute-only ‰ Ngoài ra, có valid/invalid bit gắn với mục bảng phân trang – “valid”: cho biết trang nhớ tương ứng nằm không gian nhớ đòa ảo process, trang hợp lệ – “invalid”: cho biết trang nhớ tương ứng không nằm không gian nhớ đòa ảo process, trang bất hợp lệ Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.12- https://fb.com/tailieudientucntt Bảo vệ Valid/Invalid bit 00000 page fram e num ber page v page page v page v page v v page page 10468 valid-invalid bit v page page 6 i page page 7 i page page 12287 ª Mỗi trang nhớ có kích thước 2K = 2048 ª Process có kích thước 10,468 ⇒ phân mảnh nội page ⇒ đòa > 12287 đòa invalid ª Dùng PTLR để kiểm tra kích thước bảng phân trang page n Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.13- Hierarchical Page Table ‰ Các hệ thống đại hỗ trợ không gian đòa ảo lớn (232 đến 264) – Kích thước trang nhớ 4KB (= 212) ⇒ bảng phân trang có ~ 232/212 = 220 = 1MB – Giả sử phần tử trỏ 32 bit process cần 4MB cho bảng phân trang / ‰ ‰ Một giải pháp đặt chia thành nhiều bảng phân trang quản lý vùng không gian nhớ ảo khác – bảng đa mức (multilevel paging table) Cơ chế tạo bảng phân trang 2-mức (two-level page table), hay gọi forward-mapped page table hệ thống Intel Pentium®-II Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.14- https://fb.com/tailieudientucntt Mô hình bảng 2-mức (two-level) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.15- Phân trang 2-mức ‰ Một đòa luận lý (trên hệ thống 32-bit với trang nhớ 4K) chia thành phần sau: – Page number: 20 bit ƒ Nếu mục byte ⇒ 220 * byte = MB – Page offset: 12 bit ‰ offset 20 bit 12 bit Bảng phân trang bò chia nhỏ nên page number chia nhỏ thành phần: – 10-bit page number – 10-bit page offset ‰ page # page num ber p1 10 bit p2 10 bit page offset d 12 bit Vì vậy,một đòa luận lý hình vẽ bên – p1: mục bảng (outer page table)-mức – p2 : độ dời (displacement) trang mức (xác đònh *p1) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.16- https://fb.com/tailieudientucntt Sơ đồ ánh xạ đòa ‰ Sơ đồ ánh xạ đòa (address-translation scheme) cho kiến trúc bảng phân trang mức, 32-bit đòa M em ory Address: A A Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.17- Phân trang đa mức (multilevel) ‰ Không gian đòa luận lý 64-bit với trang nhớ 4K – Trong sơ đồ phân trang 2-mức, số mục bảng phân trang = 252 (264/212 = 252) ⇒ lớn Thực tương tự mô hình mức, phân chia thành bảng 3, 4, , n-mức page num ber page offset 52 12 page num ber page offset 42 10 12 page num ber page offset 32 10 10 page num ber page offset 22 10 10 10 …… – Hệ thống SPARC 32-bit hỗ trợ chế 3-mức hệ thống Motorolla 68030 32 bit hỗ trợ chế 4-mức Hệ thống 64bit UltraSPARC dùng bảng phân trang 7-mức – Hiệu suất hệ thống phân trang đa mức ? Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.18- https://fb.com/tailieudientucntt Bảng băm (hashed page table) ‰ Dùng ý tưởng bảng băm để giảm bớt không gian bảng phân trang, tăng tốc độ tìm kiếm trang – Rất phổ biến hệ thống lớn 32 bit đòa ‰ Để giải đụng độ, phần tử bảng phân trang quản lý danh sách liên kết Mỗi phần tử danh sách chứa số trang ảo số frame tương ứng – Chỉ số trang ảo (virtual page number) biến đổi qua hàm băm thành hashed value Các thông tin số trang ảo số frame lưu vào danh sách liên kết vò trí ứng với hashed value ‰ Giải thuật dò tìm trang: – Chỉ số trang ảo biến đổi thành hashed value (với hàm băm trên) Hashed value dùng để tìm phần tử tương ứng bảng phân trang Sau đó, dò tìm danh sách liên kết với số trang ảo để trích rút frame tương ứng Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.19- Hashed Page Tables ‰ Các hệ thống 64-bit đòa thường dùng clustered page table, i.e mục hash table tham chiếu đến nhiều trang (~ 16 trang) thay trang Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.20- https://fb.com/tailieudientucntt 10 Chia sẻ phân đoạn lim it base 25286 43062 4425 68348 editor data segm ent0 editor segm ent1 segm enttable process P Logicaladdress space process P 68348 72773 editor lim it base 25286 43062 8850 90003 data segm ent0 43062 segm ent1 Logicaladdress space process P data 90003 data 98553 segm enttable process P physicalm em ory Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.29- Nhìn lại paging segmentation ‰ ‰ ‰ ‰ Các tham chiếu đến nhớ chuyển đổi động thành đòa thực lúc process thực thi Một process chi thành phần nhỏ (page hay segment); phần nạp vào vò trí không liên tục nhớ Nhận xét quan trọng: tất các phần processs cần thiết phải nạp vào nhớ thời điểm Ví dụ – Đoạn mã điều khiển lỗi xảy – Các arrays, list, tables cấp phát nhớ (cấp phát tónh) nhiều yêu cầu cần thiết – Một số tính dùng chương trình – Ngay toàn chương trình cần dùng … không cần dùng toàn lúc Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.30- https://fb.com/tailieudientucntt 15 Quá trình thực thi process ‰ ‰ ‰ ‰ ‰ ‰ OS nạp số phần chương trình vào nhớ Mỗi bảng phân trang/đoạn có thêm present bit cho biết phần tương ứng có nằm nhớ hay không Khi có tham chiếu nằm phần nhớ (present bit = 0) ngắt kích hoạt gọi memory fault Process chuyển trạng thái Blocking OS phát yêu cầu đọc đóa để nạp phần tham chiếu vào nhớ đó, process khác chiếm quyền thực thi Sau I/O hoàn tất, ngắt kích hoạt, báo cho OS chuyển process tương ứng trạng thái Ready Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.31- Ưu điểm nhớ ảo ‰ ‰ ‰ ‰ Số lượng process nhớ nhiều Một process thực thi kích thước lớn nhớ thực Bộ nhớ tham chiếu đòa luận lý gọi nhớ ảo (virtual memory) – Bao gồm nhớ thực + phần nhớ thứ cấp (đóa cứng, ) – Nhằm đạt hiệu cao, dòch vụ file system thường bỏ qua; đọc/ghi đóa trực tiếp với khối liệu lớn so với khối hệ thống file – Thông thường phần nhớ ảo lưu trữ vùng đặc biệt gọi không gian tráo đổi (swap space) Ví duï file system swap Unix/Linux, file pagefile.sys Windows2K Việc chuyển đổi từ đòa luận lý thành đòa thực thực với hỗ trợ phần cứng (memory management hardware) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.32- https://fb.com/tailieudientucntt 16 Yêu cầu nhớ ảo ‰ ‰ ‰ ‰ Phần cứng memory management phải hỗ trợ paging và/hoặc segmentation OS phải quản lý di chuyển trang/đoạn nhớ nhớ thứ cấp Trong phạm vi chương này, thảo luận hỗ trợ cấp phần cứng trước, sau giải thuật hệ điều hành Sự hỗ trợ phần cứng phân trang phân đoạn khảo sát chương Chỉ có điểm khác biệt mục (entry) bảng phân trang/đoạn có thêm bit trạng thái đặc biệt – Present bit = 1⇒ hợp lệ in-memory; = ⇒ not-in-memory không hợp lệ – Modified bit: trang/đoạn có thay đổi kể từ nạp vào hay không Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.33- Điều khiển page fault Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.34- https://fb.com/tailieudientucntt 17 Kết hợp trang đoạn ‰ Nhằm kết hợp ưu điểm đồng thời hạn chế khuyết điểm hai mô hình phân trang phân đoạn Có nhiều mô hình kết hợp Sau mô hình đơn giản ‰ Mỗi process có: ‰ – Một bảng phân đoạn – Nhiều bảng phân trang: phân đoạn có bảng phân trang ‰ Một đòa luận lý (đòa ảo) bao gồm: – segment number: mục phần tử bảng phân đoạn, phần tử chứa đòa sở (base address) bảng phân trang phân đoạn – page number: mục bảng phân trang, dùng để tính số frame nhớ thực tương ứng – offset: dùng để đònh vò vò trí nhớ frame nói Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.35- Sơ đồ chuyển đổi đòa Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.36- https://fb.com/tailieudientucntt 18 Mô hình kết hợp đơn giản ‰ ‰ ‰ Segment Base: đòa thực bảng phân trang Present bit modified bits tồn bảng phân trang Các thông tin bảo vệ chia sẻ vùng nhớ thường nằm bảng phân đoạn – Ví dụ: read-only/read-write bit, Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.37- Các giải thuật OS ‰ ‰ ‰ OS cung cấp thư viện quản lý nhớ ảo Các chương trình quản lý nhớ ảo OS phụ thuộc vào hỗ trợ phần cứng việc phân trang, phân đoạn kết hợp hai Rất hệ thống sử dụng chế phân đoạn túy mà thông thường sử dụng mô hình kết hợp segment áp dụng chế phân trang Như vậy, vấn đề cần giải giải thuật nạp, thay thế, chủ yếu hướng đến đối tượng trang nhớ – Fetch policy – Placement policy – Replacement policy ‰ Mục tiêu giải thuật giảm thiểu page fault Khoa Công Nghệ Thông Tin – Đại Học Baùch Khoa Tp.HCM CuuDuongThanCong.com -X.38- https://fb.com/tailieudientucntt 19 Fetch & placement policy ‰ Fetch Policy – Xác đònh thời điểm nên nạp trang nhớ vào nhớ Có hai chiến lược thông dụng – Demand paging: nạp trang vào nhớ có tham chiếu đến trang (i.e.: nạp theo yêu cầu mà thôi) ƒ Khi process thực thi có nhiều page fault sau số page fault giảm dần – Pre-paging nạp trước trang nhớ: dựa tính locality ‰ Placement policy – Xác đònh vò trí đặt trang nhớ process nhớ thực – Với hệ thống segmentation túy: first-fit, next fit – Với hệ thống paging kết hợp pagin/segmentation: ƒ Phần cứng quản lý nhớ đònh vò trí đặt trang, nhiên trang nhớ có kích thước nên không gặp phải khó khăn Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.39- Replacement Policy ‰ ‰ Giải vấn đề chọn lựa trang nhớ bò thay có trang cần nạp vào nhớ Tình xảy đầy (không frame trống nào) Không phải toàn trang nhớ thay, có số frames bò locked – Đa số kernel lưu giữ thông tin điều khiển cấu trúc liệu quan trọng hệ thống locked frames ‰ Các giải thuật thay trang – Least recently used (LRU) – First-in, first-out (FIFO) – Clock ‰ Các giải thuật thay trang phụ thuộc vào resident set (số frame cấp cho process) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.40- https://fb.com/tailieudientucntt 20 Hai vấn đề chủ yếu ‰ Frame-allocation algorithm ‰ – Cấp phát cho process frame nhớ thực? ‰ – 0100, 0432, 0101, 0612, 0102, 0103, 0104, 0101, 0611, 0102, 0103, 0104, 0101, 0610, 0102, 0103, 0104, 0101, 0609, 0102, 0105 Page-replacement algorithm – Chọn frame thay trang nhớ – Mong muốn có mức độ pagefault nhỏ – Lượng giá giải thuật cách thực thi giải thuật chuỗi tham chiếu nhớ (memory reference) tính số lần xảy page fault Thứ tự tham chiếu đòa nhớ (với page size = 100): ⇔ trang nhớ sau tham chiếu = chuỗi tham chiếu nhớ – 1, 4, 1, 6, 1, 1, 1, 1, 6, 1, 1, 1, 1, 6, 1, 1, 1, 1, 6, 1, Khoa Coâng Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.41- Quá trình thay trang nhớ Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.42- https://fb.com/tailieudientucntt 21 Least Recently Used (LRU) ‰ ‰ Thay theá trang nhớ không tham chiếu lâu Ví dụ: process có trang; resident set = ‰ Mỗi trang ghi nhận (trong bảng phân trang) thời điểm tham chiếu ⇒ trang LRU trang nhớ có giá trò thời gian tham chiếu nhỏ (cần chi phí tìm kiếm trang nhớ LRU có page fault) ‰ Do vậy, LRU cần hỗ trợ lớn phần cứng chi phí cao cho việc tìm kiếm Tuy nhiên, hệ thống máy tính cung cấp đủ hỗ trợ phần cứng cho chiến lược LRU Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.43- Giải thuật FIFO ‰ Xem frame cấp phát cho process circular buffer – Khi đệm đầy, trang nhớ cũ thay thế: first-in, first-out – Một trang nhớ hay dùng thông thường trang cũ ⇒ hay bò thay giải thuật FIFO – Hiện thực đơn giản: cần trỏ xoay vòng frame process ‰ So sánh FIFO LRU Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.44- https://fb.com/tailieudientucntt 22 Belady’s Anomaly 0Bất thường: số page-fault gia tăng resident set tăng Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.45- Giải thuật Clock (second-chance) ‰ ‰ ‰ Resident set cấp cho process xem đệm xoay vòng (circular buffer) Khi trang thay, trỏ đến frame buffer Mỗi frame có use bit Bit thiết lập trò – Một trang nạp lần đầu vào frame – Trang chứa frame tham chiếu ‰ Khi cần thay trang nhớ, trang nhớ nằm frame có use bit thay – Trong suốt trình tìm trang nhớ thay thế, tất use bit reset Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.46- https://fb.com/tailieudientucntt 23 Ví dụ giải thuật clock Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.47- So sánh Clock, FIFO LRU ‰ ‰ ‰ Dấu *: use bit tương ứng thiết lập trò Giải thuật Clock bảo vệ trang thường tham chiếu cách thiết lập use bit với lần tham chiếu Một số kết thực nghiệm cho thấy clock có hiệu suất gần với LRU Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.48- https://fb.com/tailieudientucntt 24 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.49- Kích thước Resident Set ‰ OS phải đònh cấp cho process frame nhớ – Nếu frame ⇒ nhiều page fault – Cấp nhiều frame ⇒ giảm mức độ multi-programming ‰ Chiến lược cấp phát tónh (fixed-allocation) – Số frame cấp cho process không đổi, xác đònh vào thời điểm loading tùy thuộc vào ứng dụng (kích thước, ) ‰ Chiến lược cấp phát động (variable-allocation) – Số frame cấp cho process thay đổi ƒ Nếu tỷ lệ page-fault cao ⇒ cấp thêm frame ƒ Nếu tỷ lệ page-fault thấp ⇒ giảm bớt – OS phí để ước đònh process Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.50- https://fb.com/tailieudientucntt 25 Thrashing ‰ ‰ ‰ Nếu process đủ số frame cần thiết tỉ suất page-fault cao Điều khiến giảm hiệu suất CPU nhiều Ví dụ vòng lặp N lần, lần tham chiếu đến đòa nằm trang nhớ process cấp frames Thrashing ≡ tượng process bò hoán chuyển vào/ra liên tục trang nhớ 123 423 413 412 312 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.51- Thrashing Diagram Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.52- https://fb.com/tailieudientucntt 26 Mô hình Locality ‰ Để hạn chế thrashing, phải cung cấp cho process “đủ” frame tốt? – Bao nhiêu frame đủ cho process thực thi hiệu quả? ⇒ dựa mô hình locality – Locality tập trang thường hay tham chiếu (chuỗi tham chiếu trang thường xuất hiện) ƒ Trong ví dụ trước, locality bao gồm trang – Một chương trình thường gồm nhiều locality trình thực thi, process chuyển từ locality sang locality khác ƒ Ví dụ thủ tục gọi có locality Trong locality này, tham chiếu nhớ bao gồm lệnh thủ tục, biến cục phần biến toàn cục Khi thủ tục kết thúc, process thoát khỏi locality (và quay lại sau này) ‰ Vì tượng thrashing xuất ? Σ size of locality > memory size Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.53- Mô hình Working Set ‰ ‰ ‰ ‰ Dựa giả thiết locality Xác đònh xem process thực sử dụng frame? Đònh nghóa ∆ ≡ working-set window ≡ số tham chiếu trang nhớ cố đònh Ví dụ: 10,000 lệnh WSSi (working set of Process Pi) = tổng số trang tham chiếu khoảng ∆ gần – ∆ nhỏ ⇒ không đủ bao phủ toàn locality – ∆ lớn ⇒ bao phủ nhiều locality – ∆ = ∞ ⇒ bao gồm toàn chương trình ‰ D = Σ WSSi ≡ tổng số frame yêu cầu – D > m (số frame hệ thống) ⇒ xảy thrashing – Nếu D > m ⇒ suspend process Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.54- https://fb.com/tailieudientucntt 27 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.55- Minh họa mô hình Working-Set Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.56- https://fb.com/tailieudientucntt 28 Theo dõi Working Set ‰ Dùng interval timer kết hợp với reference bit ‰ Ví dụ: ∆ = 10,000 – Timer interrupt đònh kỳ 5000 đơn vò thời gian – Giữ nhớ bit cho trang nhớ – Khi timer interrupt xảy ra, copy reset trò tất reference bits = – Nếu bit = ⇒ trang thuộc working set ‰ ‰ Cải tiến = 10 bit interrupt timer đònh kỳ 1000 đơn vò thời gian Tốn chi phí theo dõi working set xử lý timer đònh kỳ Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.57- Mô hình tần suất Page-Fault ™ Dùng tần suất page-fault frequency để điều chỉnh mức độ pagefault rate Tần suất thấp ⇔ process có nhiều frame, giảm bớt Tần suất cao ⇔ process cần thêm frame Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.58- https://fb.com/tailieudientucntt 29 ... offset 22 10 10 10 …… – Hệ thống SPARC 32-bit hỗ trợ chế 3-mức hệ thống Motorolla 68030 32 bit hỗ trợ chế 4-mức Hệ thống 64bit UltraSPARC dùng bảng phân trang 7- mức – Hiệu suất hệ thống phân trang... Tp.HCM CuuDuongThanCong.com -X.5 4- https://fb.com/tailieudientucntt 27 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -X.5 5- Minh họa mô hình Working-Set Khoa Công Nghệ Thông Tin – Đại Học Bách... phân trang 2-mức (two-level page table), hay gọi forward-mapped page table hệ thống Intel Pentium®-II Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -X.1 4- https://fb.com/tailieudientucntt

Ngày đăng: 11/01/2020, 18:06

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan