Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
1,01 MB
Nội dung
QUẢN LÝ TIẾN TRÌNH CuuDuongThanCong.com https://fb.com/tailieudientucntt MỤC TIÊU Mô hình Tiến trình Trạng thái tiến trình Thông tin quản lý tiến trình Quá trình điều phối tiến trình Các thuật toán điều phối CuuDuongThanCong.com https://fb.com/tailieudientucntt ĐA NHIỆM VÀ ĐA CHƯƠNG ??? Vì muốn xử lý đồng thời nhiều công việc máy tính ? Job CPU CPU IO CPU IO CPU IO CPU IO CPU IO CPU Job Job CPU Xử lý đồng thời để tăng hiệu suất sử dụng CPU CuuDuongThanCong.com https://fb.com/tailieudientucntt ĐA NHIỆM VÀ ĐA CHƯƠNG ??? Vì muốn xử lý đồng thời nhiều công việc máy tính ? Job : kq = a*b + c*d; Xửù lý đồng hành Xứ lý CPU #1 x=a*b CPU #1 x=a*b y = c *d kq = x+y kq = x+y CPU #2 y=c*d Xử lý đồng thời để tăng tốc độ xử lý CuuDuongThanCong.com https://fb.com/tailieudientucntt ĐA NHIỆM VÀ ĐA CHƯƠNG Multitasking (đa nhiệm): cho phép nhiều tác vụ/ công việc xử lý đồng thời Người dùng mong muốn HĐH đa nhiệm Nhưng: Máy tính thường có CPU? Multiprogramming (đa chương): kỹ thuật cho phép nhiều chương trình thực đồng thời (trên CPU) Giả lập nhiều CPU ảo từ CPU thật phép thi hành nhiều chương trình đồng thời Ảo hoá cách nào? Xây dựng thuật toán để luân chuyển CPU chương trình ứng dụng CuuDuongThanCong.com https://fb.com/tailieudientucntt XỬ LÝ ĐỒNG HÀNH, NHỮNG KHÓ KHĂN ? Excel Visual C++ CDplayer Winword - Tài nguyên giới hạn, ứng dụng “vô hạn” - Nhiều hoạt động đan xen ??? Phân chia tài nguyên ? ??? Chia sẻ tài nguyên ? ??? Bảo vệ? HĐH : “Giải nhiều công việc đồng thời, đâu có dễ6!” CuuDuongThanCong.com https://fb.com/tailieudientucntt GIẢI PHÁP Winword -“Chia để trị”, cô lập hoạt động - Mỗi thời điểm giải yêu cầu CDPlayer Excel - o hoá tài nguyên: biến thành nhiều Visual C ++ HĐH: “Ai có phần đến lượt mà!”7 CuuDuongThanCong.com https://fb.com/tailieudientucntt GIẢI PHÁP CPU CuuDuongThanCong.com https://fb.com/tailieudientucntt KHÁI NIỆM TIẾN TRÌNH (PROCESS) Tiến trình chương trình trình thực Mỗi tiến trình sở hữu Một CPU (ảo) riêng Một không gian nhớ riêng Chiếm giữ số tài nguyên hệ thống Vd: Một chương trình Word chạy lần tạo tiến trình khác nhau: Microsoft Word – [Bai tap1.doc] Microsoft Word – [Bai tap2.doc] CuuDuongThanCong.com https://fb.com/tailieudientucntt HAI PHẦN CỦA TIẾN TRÌNH Dòng xử lý int a; int a; Không gian địa 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt ĐIỀU PHỐI VỚI ĐỘ ƯU TIÊN Cách tính độ ưu tiên? Hệ thống gán: CPU times,… Người dùng gán tường minh Tính chất độ ưu tiên : Tónh Động 44 CuuDuongThanCong.com https://fb.com/tailieudientucntt VÍ DỤ: ĐỘ ƯU TIÊN CỦA HĐH WINNT WinNT gán cho tiến trình độ ưu tiên có giá trị & 31 (độ ưu tiên nhỏ nhất): dành riêng cho trạng thái system idle Độ ưu tiên phân theo nhóm: Realtime : (16 - 31) Thích hợp cho tiến trình thời gian thực Dành riêng cho tiến trình người quản trị hệ thống Dynamic : (0 - 15) Thích hợp cho tiến trình người dùng thường Chia thành mức : high (11 - 15) normal (6 - 10) idle (2 - 6) CuuDuongThanCong.com https://fb.com/tailieudientucntt 45 BIỂU ĐỒ PHÂN BỐ ĐỘ ƯU TIÊN CỦA realtime time-critical 31 highest (+2) above normal (+1) normal (0) below normal (-1) lowest (-2) realtime realtime 24 levels 16-31 realtime idle dynamic time-critical WINNT high 16 15 13 normal dynamic idle levels 1-15 dynamic idle system idle CuuDuongThanCong.com 46 https://fb.com/tailieudientucntt NGUYÊN TẮC ĐIỀU PHỐI Độc quyền Lượt sử dụng CPU kết thúc khi: tiến trình kết thúc, tiến trình bị khóa Không độc quyền Lượt sử dụng CPU kết thúc khi: tiến trình kết thúc, tiến trình bị khóa, cótiến trình với độ ưu tiên cao vào RL 47 CuuDuongThanCong.com https://fb.com/tailieudientucntt ĐỘ P ƯU TIÊN – TRL Priority KHÔNG ĐỘC QUYỀN CPU burst P TT WT P1 0 24 P1 30 0+(7-1) P2 P2 4-1 P3 P3 7-2 4-2 AvgWT = (6+0+2)/3 = 2.66 P1 P2 P2 P3 P1 0: P1 vào, P1 dùng CPU 1: P2 vào (độ ưu tiên cao P1) P2 dành quyền dùng CPU 2: P3 vào (độ ưu tiên thấp P2) 30 4: P2 kết thúc, P3 dùng CPU 7: P3 dừng, P1 dùng CPU 30: P1 dừng P3 không dành quyền dùng CPU CuuDuongThanCong.com https://fb.com/tailieudientucntt 48 ĐỘ ƯU TIÊN - KHÔNGĐỘC QUYỀN - NHẬN XÉT Số phận tiến trình có độ ưu tiên thấp? Chờ lâu, lâu, lâu Giải quyết: tăng độ ưu tiên cho tiến trình chờ lâu hệ thống (Aging) 49 CuuDuongThanCong.com https://fb.com/tailieudientucntt SHORTEST JOB FIRST (SJF) Ready List P2 (cần chu kỳ) P1 (cần chu kỳ) CPU P3 (cần chu kỳ) Là dạng độ ưu tiên đặc biệt với độ ưu tiên pi = thời_gian_cịn_lại(Processi) Có thể cài đặt độc quyền không độc quyền CuuDuongThanCong.com https://fb.com/tailieudientucntt 50 MINH HỌA SJF (ĐỘC QUYỀN)(1) P TarriveRL CPU burst P TT WT P1 24 P1 24 P2 P2 27-1 24-1 P3 P3 30-2 27-2 AvgWT = (23+25)/3 = 16 P1 P2 24 0:00 P1 vào, P1 dùng CPU P3 27 30 0:01 P2 vào RL 0:24 P1 kết thúc, P2 dùng CPU 0:27 P2 dừng, P3 dùng CPU 0:02 P3 vào RL 0:30 P3 dừng CuuDuongThanCong.com https://fb.com/tailieudientucntt 51 MINH HOÏA SJF (ĐỘC QUYỀN)(2) P TarriveRL CPU burst P TT WT P1 24 P1 24 P2 P2 29-1 26-1 P3 P3 26-1 24-1 AvgWT = (24+22)/3 = 15.33 P1 P3 24 0:00 P1 vào, P1 dùng CPU P2 26 29 0:01 P2 vào 0:24 P1 kết thúc, P3 dùng CPU 0:26 P3 dừng, P2 dùng CPU 0:01 P3 vào 0:29 P2 dừng CuuDuongThanCong.com https://fb.com/tailieudientucntt 52 MINH HỌA SJF (KHÔNGĐỘC QUYỀN) (1) P TarriveRL CPU burst P TT WT P1 24 P1 30 0+(7-1) P2 P2 4-1 P3 P3 7-2 4-2 AvgWT = (6+0+2)/3 = 2.66 P1 P2 P3 P1 0:00 P1 vào, P1 dùng CPU 0:01 P2 vào (độ ưu tiên cao P1) P2 dành quyền dùng CPU CuuDuongThanCong.com 30 0:4 P2 kết thúc, P3 dùng CPU 0:7 P3 dừng, P1 dùng CPU 0:30 P1 dừng https://fb.com/tailieudientucntt 53 MINH HỌA SJF (KHÔNGĐỘC QUYỀN) (2) P TarriveRL CPU burst P TT WT P1 24 P1 33 0+(10-1) P2 P2 P3 P3 6-3 AvgWT = (9+0+3)/3 = P1 P2 P2 P3 P1 10 0:00 P1 vào, P1 dùng CPU 0:01 P2 vào (độ ưu tiên cao P1) P2 dành quyền dùng CPU 0:03 P3 vào (độ ưu tiên < P2) 33 0:6 P2 kết thúc, P3 dùng CPU 0:10 P3 dừng, P1 dùng CPU 0:33 P1 dừng P2 dành quyền dùng CPU CuuDuongThanCong.com https://fb.com/tailieudientucntt 54 MINH HỌA SJF (NHIỀU CHU KỲ CPU) P TarriveRL CPU1 burst IO1 R IO1 T CPU2 burst IO2 R IO2 T P1 R1 2 R2 P2 R1 10 R1 P3 10 R2 Null CPU P1 P2 P1 P3 10 P2 13 P2 R1 P3 14 P1 15 P1 13 P3 17 21 P2 15 19 R2 P1 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt P3 55 19 21 22 ĐIỀU PHỐI VỚI NHIỀU MỨC ƯU TIÊN Tổ chức N RL ứng với nhiều mức ưu tiên Mỗi RLi áp dụng chiến lược điều phối thích hợp Giữa RL áp dụng điều phối theo độ ưu tiên : Độ ưu tiên CPU … n Kết hợp nhiều chiến lược CuuDuongThanCong.com RLi rỗng điều phối RLi +1 56 https://fb.com/tailieudientucntt KHUYẾT ĐIỂM CPU Starvation !!! Giải pháp Aging : Chờ lâu q Chờ lâu : chuyển lên RL với độ ưu tiên cao Chiếm CPU lâu : chuyển xuống RL với độ ưu tiên thấp Khi thực aging? Aging tiến trình nào? CuuDuongThanCong.com 57 https://fb.com/tailieudientucntt Bài tập: Hãy điều phối CPU: SJF khơng độc quyền R1,R2: FIFO Tiến trình Thời điểm vào Ready list CPU1 P1 P2 IO lần Thời gian Thiết bị R1 P3 10 P4 11 CuuDuongThanCong.com CPU2 IO lần Thời gian Thiết bị Null R2 R1 R1 R2 20 R2 0 Null https://fb.com/tailieudientucntt 58 ... https://fb.com/tailieudientucntt MINH HOÏA RR, Q=4 P TarriveRL CPU burst P TT WT P1 24 P1 30 0+(1 0-4 ) P2 P2 7-1 4-1 P3 P3 1 0-2 7-2 AvgWT = (6+3+5)/3 = 4.66 P1 P2 P3 P1 10 P1 14 P1 18 P1 22 P1 26 30 0:00 P1 vào,... (+1) normal (0) below normal (-1 ) lowest (-2 ) realtime realtime 24 levels 1 6-3 1 realtime idle dynamic time-critical WINNT high 16 15 13 normal dynamic idle levels 1-1 5 dynamic idle system idle... Chia thành mức : high (11 - 15) normal (6 - 10) idle (2 - 6) CuuDuongThanCong.com https://fb.com/tailieudientucntt 45 BIEÅU ĐỒ PHÂN BỐ ĐỘ ƯU TIÊN CỦA realtime time-critical 31 highest (+2)