1. Trang chủ
  2. » Giáo án - Bài giảng

hệ điều hành nguyễn văn hiệp bài 4 1 lập lịch chạy các process (thread) sinhvienzone com

6 286 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 152,84 KB

Nội dung

MÔN : HỆ ĐIỀU HÀNH Bài thực hành số 4.1 : LẬP LỊCH CHẠY CÁC PROCESS (THREAD) I Mục tiêu : ƒ Giúp SV củng cố kiến thức số giải thuật lập lịch ₫ã học II Nội dung : ƒ Xây dựng biểu ₫ồ kịch chạy hệ thống theo giải thuật lập lịch khác III Chuẩn ₫ầu : ƒ Sinh viên nắm vững số giải thuật lập lịch ₫ã học IV Qui trình : Nhắc lại lý thuyết Giải thuật lập lịch cho phép chọn process danh sách process ₫ang ready ₫ể giao CPU chạy tiếp Giải thuật lập lịch hay hồn tồn không dùng thông tin quyền ưu tiên process Với giải thuật lập lịch không cho phép ngắt, process ₫ược chọn giữ CPU cho ₫ến kết thúc, khơng thể bị ngắt lý (do process xuất hiện, timeout timer ₫ếm giờ) Thí dụ giải thuật lập lịch SJN (Shortest Job Next) hay FCFS (First Come First Serve) Với giải thuật trưng dụng lại CPU không cho phép tuần hoàn, process với quyền ưu tiên cao process ₫ang chiếm CPU ngắt process hành ₫ể chiếm CPU, lúc process bị dừng quay ₫ầu hàng chờ ₫ể ₫ược chạy tiếp process với quyền ưu tiên cao chạy xong Thí dụ giải thuật lập lịch PSJN (Pre-emptive shortest job next) Trong hệ thống phân chia thời gian, process chạy tối ₫a khe nhỏ thời gian (quantum) phải dừng chờ ₫ể ₫ược chọn sau ₫ó Một giải thuật lập lịch tốt cần phải tránh ₫ược nạn ₫ói (starvation), nghĩa khơng ₫ể process bị chờ vơ hạn khơng ₫ược chọn ₫ể chạy, khơng hồn thành cơng việc Lập lịch chế ₫ộ lô (batch) Ta xét thời ₫iểm kích hoạt thời gian cần chạy process sau ₫ây : process A B C D E Thời ₫iểm kích hoạt 0 Thời gian chạy 3 2.1 Nếu dùng giải thuật lập lịch SJN (), miêu tả việc thi hành process dạng biểu ₫ồ Hãy tính thời gian ₫áp ứng tỉ lệ phạt process Có nguy xuất nạn ₫ói process khơng ? Giải thích SinhVienZone.com https://fb.com/sinhvienzonevn E D C B A temps 10 12 17 attente exécution Thời gian ₫áp ứng = lúc kết thúc - lúc ₫ược kích hoạt chạy A : 17 B:4 C:4 D:4 E:5 Lưu ý : thời gian ₫áp ứng không thiết ₫ộ ₫o tốt hiệu làm việc hệ thống khơng ₫ể ý tới nhu cầu dùng CPU process Thí dụ với thông số trên, process B, C, D có thời gian ₫áp ứng chúng khơng mức ₫ộ thỏa mãn chúng yêu cầu thời gian chạy khác (4, 3, 2) Tỉ lệ phạt = thời gian ₫áp ứng/thời gian ₫ược phục vụ A : 3.4 B:1 C : 1.33 D:2 E : 1.66 Với giải thuật lập lịch SJN (hay PSJN), nạn ₫ói xảy CPU bận 100% liên tục theo thời gian Cụ thể process ngắn ₫ược kích hoạt ₫ều ₫ều, process dài khơng có may ₫ược chạy Tuy nhiên trình trạng xảy thực tế 2.2 Nếu dùng giải thuật lập lịch PSJN (), miêu tả việc thi hành process dạng biểu ₫ồ Hãy tính thời gian ₫áp ứng tỉ lệ phạt process Có nguy xuất nạn ₫ói process khơng ? Giải thích E D C B A temps 10 12 17 attente exécution Trong giải thuật lập lịch này, process ngắt process khác có quyền ưu tiên cao (tức có thời gian chạy ngắn hơn) Thời gian ₫áp ứng : A : 17 Tỉ lệ phạt : A : 3.4 B : 12 B:3 C:3 C:1 D:2 D:1 E:6 E:2 Lập lịch chế ₫ộ phân chia thời gian (time sharing) Giải thuật Round-robin Trong giải thuật lập lịch xoay vòng (round-robin), process ₫ược xếp hàng chờ nhất, tới trước trước, tới sau sau Khi CPU rảnh, trình lập lịch cho CPU SinhVienZone.com https://fb.com/sinhvienzonevn chạy process ₫ầu danh sách Khi bị tước CPU (chờ I/O, hết khe chạy, thực down sephamore, ), process ₫ược xếp vào cuối hàng chờ ₫ể ₫ược phục vụ sau Trình lập lịch cho CPU chạy process ₫ầu danh sách với ₫iều kiện khơng bị blocked chờ I/O, khơng trình lập lịch duyệt xem xét process cho ₫ến tìm ₫ược process ready ₫ể giao CPU cho chạy Trong thực hành này, ta giải sử máy có CPU thiết bị I/O Hãy xét process sau : Times CPU I/O T1 300 ms Khơng có T2 30 ms Sau 10 ms T3 200 ms Không có T4 40 ms Sau 20 ms Thời gian I/O 250 ms 180 ms Lưu ý T2 có lần I/O, T4 có lần I/O 3.1 Miêu tả xác tiến triển hệ thống : thời ₫iểm, kiện xảy (chuyển ngữ cảnh - CNC, yêu cầu I/O, xong I/O), process ₫ược chọn, trạng thái hàng chờ Với process, xác ₫ịnh thời ₫iểm kết thúc chạy Giả sử quantum = 100ms, process lúc ₫ầu ₫ều ready ₫ược xếp theo số chúng, card ₫iều khiển ₫ĩa ₫iều khiển ₫ĩa, process T2 T4 thực I/O ₫ĩa khác Trong bảng ₫ây, ký hiệu 1p nghĩa process ready, 2b nghĩa process blocked Time Sự kiện Process ₫ược chọn Trạng thái hàng chờ Nạp chạy T1 T1 1p 2p 3p 4p 100 Chuyển ngữ cảnh T2 2p 3p 4p 1p 110 I/O T2, CNC T3 3p 4p 1p 2b 210 Chuyển ngữ cảnh T4 4p 1p 2b 3p 230 I/O T4, CNC T1 1p 2b 3p 4b 330 Chuyển ngữ cảnh T3 2b 3p 4b 1p 360 I/O T2 T3 2p 3p 4b 1p 410 I/O T4 T3 2p 3p 4p 1p 430 Chuyển ngữ cảnh T2 2p 4p 1p 440 I/O T2, CNC T4 4p 1p 2b 460 I/O T4, CNC T1 1p 2b 4b 560 Chuyển ngữ cảnh Khơng có 2b 4b T1 xong 640 xong I/O T4 Khơng có 2b T4 xong 690 xong I/O T2 T2 2p 700 I/O T2, CNC Khơng có 2b 950 xong I/O T2 Khơng có Trống SinhVienZone.com https://fb.com/sinhvienzonevn Chú thích T3 xong T2 xong 3.2 Hãy nêu ưu khuyết ₫iểm giải thuật lập lịch round-robin Nạn ₫ói xảy khơng ? Vì ? Ưu : ₫ơn giản Khuyết : không ₫ể ý tới process cần khẩn cấp (ưu tiên hơn) process khác Nguy nạn ₫ói : Khơng, sau process vào hàng chờ, ₫ược chạy sau khoàng thời gian hữu hạn Cụ thể, có process xếp trước chạy tối ₫a khe thới gian trước ₫ược chạy Giải thuật round-robin khơng cho phép ₫ể ý tới process cần khẩn cấp (ưu tiên hơn) process khác Do ₫ó ta cần giải thuật lập biểu khác mà xử lý quyền ưu tiên process Lập lịch với quyền ưu tiên cố ₫ịnh Trong giải thuật này, process ₫ược cấp quyền ưu tiên xác ₫ịnh lúc bắt ₫ầu chạy giữ quyền cho ₫ến thi hành xong toàn Giả sử có mức quyền ưu tiên, ₫ánh số từ - (0 ưu tiến thấp nhất) Xét process sau ₫ây : Time CPU I/O T1 300 ms Khơng có T2 30 ms Sau 10 ms T3 200 ms Khơng có T4 40 ms Sau 20 ms T5 300 ms Khơng có Thời gian I/O Mức ưu tiên 250 ms 180 ms 3.3 Miêu tả xác tiến triển hệ thống : thời ₫iểm, kiện xảy (chuyển ngữ cảnh - CNC, yêu cầu I/O, xong I/O), process ₫ược chọn, trạng thái hàng chờ Với process, xác ₫ịnh thời ₫iểm kết thúc chạy Giả sử quantum = 100ms, process lúc ₫ầu ₫ều ready ₫ược xếp theo số chúng, card ₫iều khiển ₫ĩa ₫iều khiển ₫ĩa, process T2 T4 thực I/O ₫ĩa khác Ứng với mức quyền ưu tiên, có hàng chờ process quyền ưu tiên mức Ta dùng giải thuật round-robin ₫ể chọn process chạy hàng chờ Trong bàng ₫ây, ta dùng dấu / ₫ể ngăn hàng chờ mức ưu tiên khác Time Sự kiện Process ₫ược chọn Nạp chạy T2 T2 2p 4p / / 3p 5p / 1p 10 I/O T2, CNC T4 4p 2b / / 3p 5p / 1p 30 I/O T4, CNC T3 2b 4b / / 3p 5p / 1p 130 CNC T5 2b 4b / / 5p 3p / 1p 210 Xong I/O T4 T5 2b 4p / / 5p 3p / 1p 230 CNC T4 4p 2b / / 3p 5p / 1p 250 I/O T4, CNC T3 2b 4b / / 3p 5p / 1p SinhVienZone.com Trạng thái hàng chờ https://fb.com/sinhvienzonevn Chú thích 260 Xong I/O T2 T3 2p 4b / / 3p 5p / 1p 350 CNC T2 2p 4b / / 5p 3p / 1p 360 I/O T2, CNC T5 4b 2b / / 5p / 1p 430 Xong I/O T4 T5 2b / / 5p / 1p 460 CNC T5 2b / / 5p / 1p 560 CNC T1 2b / / / 1p 610 Xong I/O T2 T1 2p / / 5p / 1p 660 CNC T2 2p / / / 1p 670 I/O T2, CNC T1 2b / / / 1p 770 CNC T1 2b / / / 1p 870 CNC Khơng có 2b / / / T1 xong 920 Xong I/O T2 Không có Trống T2 xong T3 xong T4 xong T5 xong 3.4 Hãy nêu ưu khuyết ₫iểm giải thuật lập lịch round-robin Nạn ₫ói xảy khơng ? Vì ? Ưu : giải khuyết ₫iểm giải thuật round-robin Khuyết : cách giải dở gây nạn ₫ói Cụ thể, process có quyền thấp phải chờ (vơ tận) process có quyền cao ₫ược kích hoạt ₫ều ₫ều theo thời gian Lập lịch với quyền ưu tiên ₫ộng (thay ₫ổi theo thời gian tính cách chạy process) Trong giải thuật này, process ₫ược cấp quyền ưu tiên xác ₫ịnh lúc bắt ₫ầu chạy, bị thay ₫ổi theo thời gian tùy tính cách chạy Giả sử ta dùng chiến lược giảm quyền ưu tiên cho process dài Khi process ₫ược kích hoạt, có quyền cao nhất, chạy ₫ược lần, bị giảm mức ưu tiên Số mức ưu tiên không hạn chế 3.5 Miêu tả chi tiết khoảng thời gian 900ms ₫ầu tiên hệ thống dùng giải thuật lập lịch dùng quyền ưu tiên ₫ộng ₫ược miêu tả với process sau : Time CPU Chu kỳ kích hoạt T1 15 ms Sau 150 ms T2 200 ms Sau 300 ms T3 1000 ms - Ta giả sử lúc ₫ầu, hàng chờ có process T1, T2, T3, chu kỳ 300ms process loại T1 kích hoạt trước process loại T2 Quantum = 100ms Time Sự kiện Process ₫ược chọn Nạp chạy 1.0 1.0 1.0 2.0 3.0 15 CNC 2.0 2.0 3.0 115 CNC 3.0 3.0 / 2.0 150 Process 1.1 chạy 3.0 1.1 / 2.0 SinhVienZone.com Trạng thái hàng chờ https://fb.com/sinhvienzonevn SinhVienZone.com 215 CNC 1.1 1.1 / 2.0 3.0 230 CNC 2.0 / 2.0 3.0 300 1.2 & 2.1 chạy 2.0 1.2 2.1 / 2.0 3.0 330 CNC 1.2 1.2 2.1 / 3.0 345 CNC 2.1 2.1 / 3.0 445 CNC 3.0 / 3.0 2.1 450 1.3 chạy 3.0 1.3 / 3.0 2.1 545 CNC 1.3 1.3 / 2.1 / 3.0 560 CNC 2.1 / 2.1 / 3.0 600 1.4 & 2.2 chạy 2.1 1.4 2.2 / 2.1 / 3.0 660 CNC 1.4 1.4 2.2 / / 3.0 675 CNC 2.2 2.2 / / 3.0 750 1.5 chạy 2.2 2.2 1.5 / / 3.0 775 CNC 1.5 1.5 / 2.2 / 3.0 790 CNC 2.2 / 2.2 / 3.0 890 CNC 3.0 / / 3.0 https://fb.com/sinhvienzonevn ... 2 .1 / 2.0 3.0 330 CNC 1. 2 1. 2 2 .1 / 3.0 345 CNC 2 .1 2 .1 / 3.0 44 5 CNC 3.0 / 3.0 2 .1 45 0 1. 3 chạy 3.0 1. 3 / 3.0 2 .1 545 CNC 1. 3 1. 3 / 2 .1 / 3.0 560 CNC 2 .1 / 2 .1 / 3.0 600 1 .4 & 2.2 chạy 2 .1 1 .4. .. 4p 1p 11 0 I/O T2, CNC T3 3p 4p 1p 2b 210 Chuyển ngữ cảnh T4 4p 1p 2b 3p 230 I/O T4, CNC T1 1p 2b 3p 4b 330 Chuyển ngữ cảnh T3 2b 3p 4b 1p 360 I/O T2 T3 2p 3p 4b 1p 41 0 I/O T4 T3 2p 3p 4p 1p 43 0... 15 0 Process 1. 1 chạy 3.0 1. 1 / 2.0 SinhVienZone. com Trạng thái hàng chờ https://fb .com/ sinhvienzonevn SinhVienZone. com 215 CNC 1. 1 1. 1 / 2.0 3.0 230 CNC 2.0 / 2.0 3.0 300 1. 2 & 2 .1 chạy 2.0 1. 2

Ngày đăng: 28/01/2020, 22:29

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN