Báo cáo nguyên lý hệ điều hành chủ đề quản lý tiến trình, luồng và các thuật toán điều độ tiến trình

34 11 0
Báo cáo nguyên lý hệ điều hành chủ đề quản lý tiến trình, luồng và các thuật toán điều độ 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

Ưu điểm của đa tiến trình Đồng thời và đáp ứng nhanh hơn: Các tiểu tiến trình chạy song song, giúp ứng dụng phản hồi nhanh hơn khi một tiến trình gặp trở ngại, các tiến trình khác vẫn h

TRƯỜNG ĐẠI HỌC THỦY LỢI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO NGUYÊN LÝ HỆ ĐIỀU HÀNH Chủ đề: Quản lý tiến trình, luồng thuật tốn điều độ tiến trình Nhóm thực hiện: Nhóm - 63HTTT2 Thành viên nhóm: Nguyễn Thị Thu Hằng – MSV: 2151163688 Hồ Thị Khánh – MSV: 2151163698 Bùi Thị Phương Anh – MSV: 2151160507 Trần Văn Hải – MSV: 2151163686 Giảng viên hướng dẫn: Thầy Vũ Thành Vinh Hà Nội, tháng 11 năm 2023 MỤC LỤC CHƯƠNG 1: QUẢN LÝ TIẾN TRÌNH Định nghĩa Ưu điểm đa tiến trình Ví dụ minh họa đa tiến trình Lưu đồ thuật toán 5 Mã nguồn chương trình .6 CHƯƠNG 2: LUỒNG Khái niệm Mơ hình luồng Chương trình minh họa .9 Lưu đồ .9 Mã nguồn CHƯƠNG 3: CÁC THUẬT TỐN ĐIỀU ĐỘ TIẾN TRÌNH Thuật toán First – come First Served 1.1 Tìm hiểu thuật tốn 1.2 Chương trình mơ tả thuật tốn .11 1.3 Lưu đồ thuật toán .13 1.4 Mã nguồn chương trình 14 Thuật toán Round Robin 16 2.1 Tìm hiểu thuật tốn 16 2.2 Chương trình mơ tả thuật tốn .17 2.3 Lưu đồ thuật toán .19 2.4 Mã nguồn chương trình .19 Thuật toán Shortest Job First 23 3.1 Tìm hiểu thuật toán 23 3.2 Chương trình mơ tả thuật tốn .23 3.3 Lưu đồ thuật toán .25 3.4 Mã nguồn 25 Thuật toán Shortest Remaining Time Next (SRTN) 28 4.1 Tìm hiểu thuật toán 28 4.2 Chương trình mơ tả thuật toán .29 4.3 Lưu đồ mơ tả thuật tốn 30 4.4 Mã nguồn 31 TÀI LIỆU THAM KHẢO 33 CHƯƠNG 1: QUẢN LÝ TIẾN TRÌNH Định nghĩa Đa tiến trình khả hệ thống máy tính thực nhiều nhiệm vụ quy trình lúc, bao gồm phần cứng, phần mềm thiết bị khác Điều cho phép máy tính xử lý đồng thời nhiều công việc mà không gây ảnh hưởng đáng kể đến hiệu suất tổng thể không làm giảm khả hoạt động công việc riêng biệt Đa tiến trình giúp tối ưu hóa sử dụng tài nguyên cải thiện khả hoạt động hệ thống Ưu điểm đa tiến trình  Đồng thời đáp ứng nhanh hơn: Các tiểu tiến trình chạy song song, giúp ứng dụng phản hồi nhanh tiến trình gặp trở ngại, tiến trình khác hoạt động bình thường  Chia sẻ tài nguyên dễ dàng hơn: Đa tiến trình cho phép tiểu tiến trình chia sẻ liệu tài nguyên cách dễ dàng so với việc sử dụng nhiều quy trình (processes) riêng biệt  Giúp giảm lãng phí tăng hiệu suất tổng thể hệ thống  Thực song song: Tận dụng hiệu CPU core có sẵn, giúp máy tính thực nhiều tác vụ mà không làm gián đoạn đáng kể hiệu suất  Quản lý linh hoạt dễ dàng: Quản lý tiến trình dễ so với quy trình độc lập, việc tạo kết thúc tiến trình nhanh chóng hơn, mang lại linh hoạt quản lý hệ thống  Tận dụng nhiều tác vụ khác nhau: Đa tiến trình cho phép ứng dụng thực đa dạng tác vụ lúc mà khơng gây trễ làm đóng ứng dụng Ví dụ: cập nhật giao diện người dùng, tải liệu từ mạng, xử lý liệu, vv., lúc mà khơng gây trễ đóng ứng dụng Ví dụ minh họa đa tiến trình Quản lý thơng tin tiến trình có Lưu đồ thuật tốn 5 Mã nguồn chương trình CHƯƠNG 2: LUỒNG Khái niệm - Luồng: Chương trình thực ngữ cảnh tiến trình  Nhiều tiến trình -> nhiều luồng, luồng vi xử lý  Hệ điều hành trước đây, tiến trình tương với ứng với đơn vị xử lý  Các lệnh thực cách  Mỗi tiến trình thực cơng việc thời điểm  Hệ điều hành đại, tiến trình có nhiều đơn vị xử lý:  Mỗi đơn vị thực tiến trình chuỗi lệnh cấp  phát CPU để thực độc lập (song song), gọi luồng  Luồng đơn vị sử dụng CPU , gồm:  Định danh luồng( ID Thread)  Bộ đếm chương trình (Program Computer)  Tập ghi (Rigisters)  Khơng gian stack Mơ hình luồng - Mơ hình đơn luồng (MS-DOS, UNIX):  Tiến trình có luồng điều khiển  Tiến trình có khối quản lý PCB chứa đầy đủ thông tin trạng thái tiến trình, giá trị ghi  Ngăn xếp chứa tham số, trạng thái hàm/ thủ tục/ chương trình  Khi tiến trình thực hiện, làm chủ nội dung ghi trỏ lệnh - Mơ hình đa luồng (Windows, Linux):  Tiến trình có nhiều luồng, thực nhiệm vụ nhiều thời điểm  Mỗi luồng cần có khả quản lý trỏ lệnh, nội dung ghi  Luồng có trạng thái riêng  chứa khối quản lý luồng  Luồng cần có ngăn xếp riêng  Tất luồng tiến trình chia sẻ khơng gian nhớ tài ngun  Các luồng có khơng gian địa truy cập tới liệu tiến trình Chương trình minh họa Mã nguồn 10 2.3 Lưu đồ thuật toán Bắt đầu Hiển thị giao diện Nhập Number of processes, Time slice ấn Create Hiển thị số tiến trình cần nhập Nhập thời gian xuất thời gian sử dụng CPU tiến trình ấn Calculate Hiển thị kết Kết thúc 2.4 Mã nguồn chương trình 20 21 22 23 Thuật tốn Shortest Job First 3.1 Tìm hiểu thuật toán - Shortest Job First (SJF) thuật toán lập lịch CPU hệ thống máy tính - Thuật tốn lựa chọn hàng đợi tiến trình có thời gian sử dụng CPU (CPU burst) ngắn để phân phối CPU - Nếu nhiều tiến trình với chu kỳ CPU nhau, tiến trình đứng trước chọn - - 3.2 - Ưu điểm:  Giải thuật xem tối ưu, thời gian chờ đợi trung bình giảm  Tận dụng hết lực CPU Nhược điểm:  Cài đặt phức tạp, tốn nhiều xử lý để quản lý trình  Mặc dù SJF tối ưu mặt thời gian chờ đợi, khơng thể cài đặt cấp định thời CPU ngắn khơng có cách để biết trước độ dài chu kỳ CPU  Giải thuật SJF triển khai theo nhiều cách (trưng dụng không trưng dụng CPU), nên lựa chọn cách ảnh hưởng đến hiệu suất giải thuật Chương trình mơ tả thuật tốn Chương trình code giúp bạn hiểu vấn đề điều phối tiến trình CPU thuật tốn SJF Input: Thời gian xuất hiện, thời gian sử dụng CPU tiến trình Output: Thời gian chờ trung bình thời gian lưu lại hệ thống trung bình Giao diện ban đầu: 24 - Sau nhập number of processes: - Hiển thị kết 25 3.3 Lưu đồ thuật toán 3.4 Mã nguồn 26 27 28 Thuật toán Shortest Remaining Time Next (SRTN) 4.1 Tìm hiểu thuật toán - Shortest Remainning Time Next (SRTN) thuật toán lập lịch CPU sử dụng hệ thống máy tính để quản lý việc chia sẻ thời gian CPU tiến trình - Ưu tiên tiến trình có thời gian cịn lại ngắn - Khi tiến trình xuất hiện, thời gian thực so sánh với thời gian thực cịn lại tiến trình chạy Nếu tiến trình có thời gian thực ngắn hơn, chọn để chạy, cịn tiến trình chạy bị treo - Ưu điểm:  Tối ưu thời gian chờ đợi: SRTN ưu tiên thực tiến trình có thời gian thực thi lại ngắn Điều giúp giảm thời gian chờ đợi tiến trình, làm tăng hiệu suất tổng thể hệ thống  Đảm bảo tối thiểu thời gian thực hiện: Với SRTN, tiến trình có thời gian thực thi ngắn thực trước Điều đảm bảo tiến trình ngắn hồn thành nhanh chóng khơng bị chặn tiến trình dài  Ưu tiên tiến trình quan trọng: SRTN ưu tiên tiến trình quan trọng có thời gian thực thi ngắn Điều đặc biệt hữu ích hệ thống thời gian thực ứng dụng yêu cầu độ tin cậy cao - Nhược điểm:  Độ phức tạp: SRTN yêu cầu hệ điều hành phải theo dõi so sánh thời gian thực thi lại tất tiến trình Điều địi hỏi khối lượng tính tốn đáng kể gây tốn tài nguyên hệ thống  Rủi ro đói tài nguyên (starvation): Tiến trình có thời gian thực thi dài bị đối xử không công không chạy ln có tiến trình ngắn xuất ready queue  Địi hỏi tính tốn chi tiết: SRTN địi hỏi tính tốn thời gian thực thi cịn lại cho tất tiến trình phải thường xuyên cập nhật thông tin Điều gây tăng tải CPU độ phức tạp việc quản lý lịch trình  Khơng phù hợp cho hệ thống thời gian thực: SRTN gây biến đổi lớn thời gian đáp ứng, điều không phù hợp cho hệ thống thời gian thực yêu cầu độ tin cậy đáp ứng dự đốn 29 4.2 - Chương trình mơ tả thuật tốn Chương trình code giúp bạn hiểu vấn đề điều phối tiến trình CPU thuật toán SJF Input: Thời gian xuất hiện, thời gian sử dụng CPU tiến trình Output: Thời gian chờ trung bình thời gian lưu lại hệ thống trung bình Giao diện ban đầu: - Sau nhập number of processes: - Hiển thị kết sau nhập thời gian tiến trình ấn calculate: 30 4.3 Lưu đồ mơ tả thuật tốn 31 4.4 Mã nguồn 32 33 - TÀI LIỆU THAM KHẢO Slide giáo trình tham khảo thầy Vũ Thành Vinh Bài viết thuật toán First come – First Served: https://coccoc.com/search? query=thu%E1%BA%ADt+to%C3%A1n+first+come+first+serve&spos=1 Bài viết thuật toán Round Robin: https://tenten.vn/tin-tuc/round-robinla-gi/ Bài viết thuật toán SJF: https://sinhvientot.net/giai-thuat-dieu-phoishortest-job-first-scheduling-sjf/ 34

Ngày đăng: 03/01/2024, 15:10