Bài giảng Hệ điều hành - Chương 2: Quản lý tiến trình

85 9 0
Bài giảng Hệ điều hành - Chương 2: Quản lý tiến trình

Đ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

Nội dung chính của bài giảng Hệ điều hành Chương 2 Quản lý tiến trình nhằm trả lời cho câu hỏi Vì sao muốn xử lý đồng thời nhiều công việc trên máy tính? Việc chuyển trạng thái hệ thống tính toán phải dựa vào một sự kiện phát sinh trong hệ thống gọi là hiện tượng ngắt.

CHƯƠNG Quản lý tiến trình TỔNG QUAN VỀ TIẾN TRÌNH  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  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 CPU #2 CPU #1 x=a*b y=c*d y = c *d kq = x+y kq = x+y Xứ lý CPU #1 x=a*b  Xử lý đồng thời để tăng tốc độ xử lý Xử lý đồng hành, 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 !” 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à!” Tổng quan tiến trỡnh Trạng thái hệ thống tính toán thời điểm đ-ợc hiểu thông tin tất thành phần hệ thống tính toán Một dÃy chuyển trạng thái hệ thống tính toán ký hiệu S0, S1, Sn S0 trạng thái đầu, Sn trạng thái kết thúc ta gọi tiến trình A S0 S1 S2 S3 S4 S5 Sn-1 Sn Sn+1 B  Việc chuyển trạng thái hệ thống tính toán phải dựa vào kiện phát sinh hệ thống gọi t-ợng ngắt Khỏi nim tin trỡnh (process)  Tiến trình phận chương trình thực hiện, đơn vị thực tiến trình processor  Tiến trình sở hữu trỏ lệnh, trỏ stack, tập ghi, khơng gian địa nhớ tất thông tin cần thiết khác để tiến trình hoạt độ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]  Khái niệm khác   Saltzer: Tiến trình chương trình processor logic thực Horning & Rendell: Tiến trình trình chuyển từ trạng thái sang trạng thái khác tác động hàm hành động, xuất phát từ trạng thái ban đầu Các loại tiến trình  Có thể chia thành hai loại: tiến trình (MS_DOS) tiến trình multiprocessor) song song (uniprocessor  Tiến trình tiến trình mà điểm khởi tạo điểm kết thúc tiến trình trước  Tiến trình song song tiến trình mà điểm khởi tạo tiến trình nằm thân tiến trình khác: BEGIN A B Begin 10 END t NHẬN XÉT FCFS Đơn giản  Chịu đựng tượng tích lũy thời gian chờ  Tiến trình có thời gian xử lý ngắn đợi tiến trình có thời gian xử lý dài  Ưu tiên tiến trình cpu-bounded   Có thể xảy tình trạng độc chiếm CPU 71 ĐIỀU PHỐI xoay vịng ROUND ROBIN (RR)  Điều phối theo nguyên tắc FCFS  Mỗi tiến trình sử dụng lượng q cho lần sử dụng CPU Quantum/ Time slice Ready List C B A CPU B CPU B giao quyền sử dụng CPU q ms C CPU C giao quyền sử dụng CPU 72 q ms A chiếm CPU q ms Ready List A C Ready List B A MINH HOÏA RR, Q=4 P TarriveRL CPU burst P TT WT P1 24 P1 30 0+(10-4) P2 P2 7-1 4-1 P3 P3 10-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, P1 dùng CPU 0:07 P2 dừng, P3 dùng CPU 0:01 P2 vào (đợi) 0:10 P3 dừng, P1 dùng CPU 0:02 P3 vào (đợi) 0:14 P1 chiếm CPU … 0:04 P1 hết lượt, P2 dùng CPU 73 ROUND ROBIN  Khi kết thúc lượt sử dụng CPU Hết thời lượng q ms (quantum) cho phép  Tiến trình kết thúc  Tiến trình bị khóa  Chờ Rs  Chờ biến cố  74 ROUND ROBIN – NHẬN XÉT Sử dụng chế không độc quyền  Mỗi tiến trình đợi lâu  Loại bỏ tượng độc chiếm CPU  Hiệu ? Bao lâu ?   Phụ thuộc vào việc chọn lựa quantum q q quáù lớn ???  q nhỏ ???  Giảm tíùnh tương tác Tăng chi phí chuyển đổi ngữ cảnh 75 ĐIỀU PHỐI VỚI ĐỘ ƯU TIÊN Phân biệt tiến trình quan trọng >< tiến trình bình thường? WinAmp độ ưu tiên: cao (3) Độ ưu tiên WinWord độ ưu tiên: trung bình (0) Outlook độ ưu tiên: thấp (-3)  Tiến trình có độ ưu tiên cao chọn cấp CPU trước 76 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  77 ĐỘ ƯU TIÊN – KHÔNG ĐỘC QUYỀN P TRL Priority 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) P3 không dành quyền dùng CPU 30 4: P2 kết thúc, P3 dùng CPU 7: P3 dừng, P1 dùng CPU 30: P1 dừng 78 SHORTEST JOB FIRST (SJF) Ready List P2 (cần chu kỳ) P1 (cần chu kỳ) CPU P3 (cần chu kỳ)  Có thể cài đặt độc quyền không độc quyền 79  Chiến lược công việc ngắn (shortest job first - SJF):  Đây trường hợp đặc biệt giải thuật điều phối với độ ưu tiên  độ ưu tiên p gán cho tiến trình nghịch đảo thời gian xử lý t mà tiến trình yêu cầu : p = 1/t  CPU cấp phát cho tiến trình u cầu thời gian để kết thúc tiến trình  Giải thuật độc quyền khơng độc quyền 80 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 0:00 P1 vào, P1 dùng CPU P2 24 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 81 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 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 82 MINH HOÏ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) P2 dành quyền dùng CPU 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 83 Đ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 RLi rỗng điều phối RLi +1 84 KHUYẾT ĐIỂM       CPU Chờ lâu q Starvation !!!  Giải pháp Aging :    Khi thực aging? Aging tiến trình nào? 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 85 ... vật lý cần chọn tiến trình để phân phối processor vật lý? Các cách giải khác ba vấn đề nêu tạo chiến l-ợc điều độ tiến trình khác 17 Mơ hình tiến trình  Hệ điều hành chia chương trình thành tiến. .. khối quản lý tiến trình  Định danh tiến trình (1) : giúp phân biệt tiến trình  Trạng thái tiến trình (2): xác định hoạt động hành tiến trình  Ngữ cảnh tiến trình (3): mơ tả tài nguyên tiến trình. .. Khi tiến trình bị dừng, hệ điều hành loại bỏ tiến trình khỏi bảng tiến trình giải phóng tất tài nguyên tiến trình 45 2.3 Thao tác tiến trình  Tạo lập tiến trình (create)  Kết thúc tiến trình

Ngày đăng: 08/05/2021, 12:47

Từ khóa liên quan

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

Tài liệu liên quan