1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Hệ điều hành: Chương 2 - Phạm Đăng Hải

464 15 0

Đ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

Chương 2 Quản lý tiến trình thuộc bài giảng hệ điều hành, có cấu trúc nội dung cần tìm hiểu sau: Tiến trình, luồng (Thread), điều phối CPU, tài nguyên găng và điều độ tiến trình, bế tắc và xử lý bế tắc. Mời các bạn cùng tham khảo để nắm nội dung kiến thức trong chương học này và vận dụng vào học tập thật tốt.

Hệ điều hành HỆ ĐIỀU HÀNH Phạm Đăng Hải haipd-fit@mail.hut.edu.vn Bộ mơn Khoa học Máy tính Viện Cơng nghệ Thơng tin & Truyền Thông Ngày 13 tháng năm 2012 / 217 Chương 2: Quản lý tiến trình Chương Quản lý tiến trình / 217 Chương 2: Quản lý tiến trình Giới thiệu Khi chương trình thực Được cung cấp tài nguyên (CPU, nhớ, thiết bị vào/ra .) để hồn thành cơng việc Tài nguyên cấp bắt đầu chương trình hay chương trình thực Gọi tiến trình (process) Hệ thống bao gồm tập tiến trình thực đồng thời Tiến trình hệ điều hành Thực mã lệnh hệ thống Tiến trình người dùng Thực mã lệnh người dùng Tiến trình chứa nhiều luồng điều khiển Trách nhiệm Hệ điều hành: Đảm bảo họat động tiến trình tiểu trình (luồng ) Tạo/xóa tiến trình (người dùng, hệ thống) Điều phối tiến trình Cung cấp chế đồng bộ, truyền thơng ngăn ngừa tình trạng bế tắc tiến trình / 217 Chương 2: Quản lý tiến trình Nội dung Tiến trình Luồng (Thread) Điều phối CPU Tài nguyên găng điều độ tiến trình Bế tắc xử lý bế tắc / 217 Chương 2: Quản lý tiến trình Tiến trình Nội dung Tiến trình Luồng (Thread) Điều phối CPU Tài nguyên găng điều độ tiến trình Bế tắc xử lý bế tắc / 217 Chương 2: Quản lý tiến trình Tiến trình 1.1 Khái niệm tiến trình Tiến trình Khái niệm tiến trình Điều phối tiến trình (Process Scheduling) Thao tác tiến trình Hợp tác tiến trình Truyền thơng liên tiến trình / 217 Chương 2: Quản lý tiến trình Tiến trình 1.1 Khái niệm tiến trình Tiến trình Trạng thái hệ thống Vi xử lý: Giá trị ghi Bộ nhớ: Nội dung ô nhớ Thiết bị ngoại vi: Trạng thái thiết bị / 217 Chương 2: Quản lý tiến trình Tiến trình 1.1 Khái niệm tiến trình Tiến trình Trạng thái hệ thống Vi xử lý: Giá trị ghi Bộ nhớ: Nội dung ô nhớ Thiết bị ngoại vi: Trạng thái thiết bị Thực chương trình ⇒Trạng thái hệ thống thay đổi Thay đổi rời rạc, theo câu lệnh thực q0 / 217 q1 q2 qn Chương 2: Quản lý tiến trình Tiến trình 1.1 Khái niệm tiến trình Tiến trình Trạng thái hệ thống Vi xử lý: Giá trị ghi Bộ nhớ: Nội dung ô nhớ Thiết bị ngoại vi: Trạng thái thiết bị Thực chương trình ⇒Trạng thái hệ thống thay đổi Thay đổi rời rạc, theo câu lệnh thực q0 q1 q2 qn Tiến trình dãy thay đổi trạng thái hệ thống Chuyển từ trạng thái sang trạng thái khác thực theo yêu cầu nằm chương trình người sử dụng Xuất phát từ trạng thái ban đầu / 217 Chương 2: Quản lý tiến trình Tiến trình 1.1 Khái niệm tiến trình Tiến trình Trạng thái hệ thống Vi xử lý: Giá trị ghi Bộ nhớ: Nội dung ô nhớ Thiết bị ngoại vi: Trạng thái thiết bị Thực chương trình ⇒Trạng thái hệ thống thay đổi Thay đổi rời rạc, theo câu lệnh thực q0 q1 q2 qn Tiến trình dãy thay đổi trạng thái hệ thống Chuyển từ trạng thái sang trạng thái khác thực theo yêu cầu nằm chương trình người sử dụng Xuất phát từ trạng thái ban đầu ✞ Tiến trình thực chương trình ✝ / 217 ☎ ✆ Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc 5.6 Nhận biết khắc phục Ví dụ minh họa (tiếp) P2 yêu cầu thêm đơn vị tài nguyên R2 Trạng thái cung cấp tài nguyên thời điểm t1 P0 P1 P2 P3 P4 R0 R1 0 Allocation R2 0 P0 P1 P2 P3 P4 R0 R1 0 0 Request Thực thuật tốn bế tắc Tiến trình P0 P1 P2 P3 Finish T F F F Work (0, 1, 0) 213 / 217 R2 2 P4 F Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc 5.6 Nhận biết khắc phục Ví dụ minh họa (tiếp) P2 yêu cầu thêm đơn vị tài nguyên R2 Trạng thái cung cấp tài nguyên thời điểm t1 P0 P1 P2 P3 P4 R0 R1 0 Allocation R2 0 P0 P1 P2 P3 P4 R0 R1 0 0 Request Thực thuật toán bế tắc Tiến trình P0 P1 P2 P3 Finish T F F F Work (0, 1, 0) 213 / 217 R2 2 P4 F Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc 5.6 Nhận biết khắc phục Ví dụ minh họa (tiếp) P2 yêu cầu thêm đơn vị tài nguyên R2 Trạng thái cung cấp tài nguyên thời điểm t1 P0 P1 P2 P3 P4 R0 R1 0 Allocation R2 0 P0 P1 P2 P3 P4 R0 R1 0 0 Request Thực thuật toán bế tắc Tiến trình P0 P1 P2 P3 Finish T F F F Work (0, 1, 0) 213 / 217 R2 2 P4 F Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc 5.6 Nhận biết khắc phục Ví dụ minh họa (tiếp) P2 yêu cầu thêm đơn vị tài nguyên R2 Trạng thái cung cấp tài nguyên thời điểm t1 P0 P1 P2 P3 P4 R0 R1 0 Allocation R2 0 P0 P1 P2 P3 P4 R0 R1 0 0 Request Thực thuật toán bế tắc Tiến trình P0 P1 P2 P3 Finish T F F F Work (0, 1, 0) 213 / 217 R2 2 P4 F Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc 5.6 Nhận biết khắc phục Ví dụ minh họa (tiếp) P2 yêu cầu thêm đơn vị tài nguyên R2 Trạng thái cung cấp tài nguyên thời điểm t1 P0 P1 P2 P3 P4 R0 R1 0 Allocation R2 0 P0 P1 P2 P3 P4 R0 R1 0 0 Request R2 2 Thực thuật tốn bế tắc Tiến trình P0 P1 P2 P3 P4 Finish T F F F F Work (0, 1, 0) P0 kết thúc hệ thống bế tắc Các tiến trình chờ đợi lẫn (P1 , P2 , P3 , P4 ) 213 / 217 Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc 5.6 Nhận biết khắc phục Khắc phục bế tắc: Phương pháp kết thúc tiến trình Nguyên tắc: Hủy bỏ tiến trình tình trạng bế tắc lấy lại tài nguyên cấp cho tiến trình bị hủy bỏ 214 / 217 Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc 5.6 Nhận biết khắc phục Khắc phục bế tắc: Phương pháp kết thúc tiến trình Nguyên tắc: Hủy bỏ tiến trình tình trạng bế tắc lấy lại tài nguyên cấp cho tiến trình bị hủy bỏ Hủy bỏ tất tiến trình Nhanh chóng hủy bỏ bế tắc Quá tốn Các tiến trình bị hủy bỏ gần kết thúc 214 / 217 Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc 5.6 Nhận biết khắc phục Khắc phục bế tắc: Phương pháp kết thúc tiến trình Nguyên tắc: Hủy bỏ tiến trình tình trạng bế tắc lấy lại tài nguyên cấp cho tiến trình bị hủy bỏ Hủy bỏ tất tiến trình Nhanh chóng hủy bỏ bế tắc Q tốn Các tiến trình bị hủy bỏ gần kết thúc Hủy bỏ tiến trình bế tắc không xảy Sau hủy bỏ, phải kiểm tra xem bế tắc tồn khơng Thuật tốn kiểm tra bế tắc có độ phức tạp m ∗ n2 Cần thứ tự tiến trình bị hủy bỏ để phá vỡ bế tắc Độ ưu tiên tiến trình Tiến trình tồn bao lâu, cịn kết thúc Tài ngun tiến trình chiếm giữ, cịn cần để kết thúc 214 / 217 Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc 5.6 Nhận biết khắc phục Khắc phục bế tắc: Phương pháp kết thúc tiến trình Nguyên tắc: Hủy bỏ tiến trình tình trạng bế tắc lấy lại tài nguyên cấp cho tiến trình bị hủy bỏ Hủy bỏ tất tiến trình Nhanh chóng hủy bỏ bế tắc Quá tốn Các tiến trình bị hủy bỏ gần kết thúc Hủy bỏ tiến trình bế tắc khơng xảy Sau hủy bỏ, phải kiểm tra xem bế tắc cịn tồn khơng Thuật tốn kiểm tra bế tắc có độ phức tạp m ∗ n2 Cần thứ tự tiến trình bị hủy bỏ để phá vỡ bế tắc Độ ưu tiên tiến trình Tiến trình tồn bao lâu, cịn kết thúc Tài nguyên tiến trình chiếm giữ, cần để kết thúc Vấn đề hủy bỏ tiến trình Tiến trình cập nhật file ⇒ File khơng hồn chỉnh Tiến trình sử dụng máy in ⇒ Reset trạng thái máy in 214 / 217 Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc 5.6 Nhận biết khắc phục Khắc phục bế tắc: Phương pháp trưng dụng tài nguyên Nguyên tắc: Trưng dụng liên tục vài tài nguyên từ số tiến trình bế tắc cho tiến trình khác đến bế tắc hủy bỏ Các vấn đề cần quan tâm 215 / 217 Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc 5.6 Nhận biết khắc phục Khắc phục bế tắc: Phương pháp trưng dụng tài nguyên Nguyên tắc: Trưng dụng liên tục vài tài nguyên từ số tiến trình bế tắc cho tiến trình khác đến bế tắc hủy bỏ Các vấn đề cần quan tâm Lựa chọn nạn nhân (victim) Tài nguyên tiến trình chọn? Trật tự trưng dụng để chi phí nhỏ nhất? Lượng tài nguyên nắm giữ, thời gian sử dụng 215 / 217 Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc 5.6 Nhận biết khắc phục Khắc phục bế tắc: Phương pháp trưng dụng tài nguyên Nguyên tắc: Trưng dụng liên tục vài tài nguyên từ số tiến trình bế tắc cho tiến trình khác đến bế tắc hủy bỏ Các vấn đề cần quan tâm Lựa chọn nạn nhân (victim) Tài nguyên tiến trình chọn? Trật tự trưng dụng để chi phí nhỏ nhất? Lượng tài nguyên nắm giữ, thời gian sử dụng Quay lui (Rollback) Quay lui tới trạng thái an tồn trước bắt đầu lại Yêu cầu lưu giữ thông tin trạng thái t/trình thực 215 / 217 Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc 5.6 Nhận biết khắc phục Khắc phục bế tắc: Phương pháp trưng dụng tài nguyên Nguyên tắc: Trưng dụng liên tục vài tài nguyên từ số tiến trình bế tắc cho tiến trình khác đến bế tắc hủy bỏ Các vấn đề cần quan tâm Lựa chọn nạn nhân (victim) Tài nguyên tiến trình chọn? Trật tự trưng dụng để chi phí nhỏ nhất? Lượng tài nguyên nắm giữ, thời gian sử dụng Quay lui (Rollback) Quay lui tới trạng thái an toàn trước bắt đầu lại Yêu cầu lưu giữ thơng tin trạng thái t/trình thực Đói tài ngun (Starvation) Một tiến trình bị trưng dụng nhiều lần ⇒chờ đợi vô hạn Giải pháp: ghi lại số lần bị trưng dụng 215 / 217 Chương 2: Quản lý tiến trình Bế tắc xử lý bế tắc Tổng kết Bế tắc tình trạng hay nhiều tiến trình chờ đợi độc lập kiện xảy hoạt động tiến trình đợi Bế tắc xảy hội đủ điều kiện Tồn tài nguyên găng Phải chờ đợi trước vào đoạn găng Không tồn hệ thống phân phối lại tài nguyên Tồn tượng chờ đợi vòng tròn Để xử lý bế tắc có lớp thuật tốn Phịng ngừa bế tắc Tác động vào điều kiện xảy bế tắc Dự báo phòng tránh Ngăn ngừa hệ thống rơi vào tình trạng dẫn đến bế tắc Nhận biết khắc phục Cho phép bế tắc xảy ra, bế tắc khắc phục sau 216 / 217 Chương 2: Quản lý tiến trình Kết luận Tiến trình Khái niệm tiến trình Điều phối tiến trình (Process Scheduling) Thao tác tiến trình Hợp tác tiến trình Truyền thơng liên tiến trình Luồng (Thread) Giới thiệu Mơ hình đa luồng Cài đặt luồng với Windows Vấn đề đa luồng Điều phối CPU Các khái niệm Tiêu chuẩn điều phối Các thuật toán điều phối CPU Điều phối đa xử lý 217 / 217 Tài nguyên găng điều độ tiến trình Khái niệm tài ngun găng Phương pháp khóa Phương pháp kiểm tra xác lập Kỹ thuật đèn báo Ví dụ đồng tiến trình Cơng cụ điều độ cấp cao Bế tắc xử lý bế tắc Khái niệm bế tắc Điều kiện xảy bế tắc Các phương pháp xử lý bế tắc Phòng ngừa bế tắc Phòng tránh bế tắc Nhận biết khắc phục ... phóng 20 / 21 7 Chương 2: Quản lý tiến trình Tiến trình 1 .2 Điều phối tiến trình Bộ điều phối (Scheduler) Lựa chọn tiến trình hàng đợi Điều phối công việc (Job scheduler; Long-term scheduler ) Điều. .. hoạt động tiến trình 11 / 21 7 Chương 2: Quản lý tiến trình Tiến trình 1.1 Khái niệm tiến trình Lưu đồ thay đổi trạng thái tiến trình (Silberschatz 20 02) 12 / 21 7 Chương 2: Quản lý tiến trình Tiến... hiên chương trình / 21 7 Chương 2: Quản lý tiến trình Tiến trình 1.1 Khái niệm tiến trình Thực chương trình 10 / 21 7 Chương 2: Quản lý tiến trình Tiến trình 1.1 Khái niệm tiến trình Thực chương

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

Xem thêm:

Mục lục

    Khái nim tin trình

    Ðiu phi tin trình (Process Scheduling)

    Thao tác trên tin trình

    Hp tác tin trình

    Truyn thông liên tin trình

    Mô hình a lung

    Cài t lung vi Windows

    Các khái nim c ban

    Tiêu chun iu phi

    Các thut toán iu phi CPU

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

TÀI LIỆU LIÊN QUAN