FCFS là gì ?• FCFS là một thuật toán lập lịch đơn giản, trong đó các tác vụ được thực thi theo thứ tự đến trước đến trước.• Điều này có nghĩa là tác vụ đầu tiên được đến sẽ được thực thi
Trang 1NGUYÊN LÝ
HỆ ĐIỀU
HÀNH
Hà NỘI, 12/2023
Trang 2THÀNH VIÊN NHÓM 5
Nguyễn Hoàng Anh Nguyễn Thành Hưng
Vũ Hà Lâm Nguyễn Minh Hiếu Nguyễn Đắc Sơn
Trang 4I QUẢN LÝ TIẾN TRÌNH
Trang 51 Đơn tiến trình
Số lượng tiến trình con cần tạo
Lấy ID tiến trình cha
Tạo và bắt đầu các tiến trình con
In thông tin về các tiến trình con
Đợi tất cả các tiến trình con kết thúc
Trang 62 Đa tiến trình
Số lượng tiến trình cần tạo
Tạo danh sách để lưu trữ các đối tượng tiến trình
Tạo và bắt đầu các quy trình công nhân với độ trễ khác nhau
Đợi tất cả các tiến trình kết thúc
Trang 73 Khởi tạo tiến trình
Chức năng mở Notepad và cập nhật liên tục thông tin tiến trình
Truy xuất thông tin quy trình ban đầu
Truy xuất trạng thái quy trình hiện tại
Ngủ trong 1 giây
Mở Notepad và cập nhật liên tục thông tin tiến trình
Trang 8II LUỒNG
Trang 102 Chia sẻ dữ liệu dữ các luồng
Biến chia sẻ
Khóa để đồng bộ hóa
Tạo và khởi động các thread công nhân
Đợi cả hai luồng kết thúc
In giá trị cuối cùng của biến chia sẻ
Trang 11III CÁC THUẬT TOÁN ĐIỀU ĐỘ TIẾN TRÌNH
Trang 12Shortest Job First
•Shortest Job First (SJF) là một thuật toán lập lịch CPU trong hệ thống máy tính Thuật toán này sắp xếp các quá trình theo thời gian thực hiện (execution time)
từ thấp đến cao và lựa chọn quá trình có thời gian thực hiện ngắn nhất để thực thi trước.
Trang 14Đề bài:
Giải:
Trang 15Thuật Toán FCFS
(First-Come, First-Served)
Trang 16FCFS là gì ?
• FCFS là một thuật toán lập lịch đơn giản, trong đó các tác vụ được thực thi theo thứ tự đến trước đến trước
• Điều này có nghĩa là tác vụ đầu tiên được đến sẽ được thực thi đầu tiên và sau đó
là các tác vụ tiếp theo theo thứ tự đến
Trang 17Thuật toán Roud Robin
Trang 18Khái niệm
Round Robin được xuất phát từ nguyên tắc vòng tròn Mỗi người lận lượt sẽ nhận được một phần bằng nhau của một thứ gì đó Giải thuật này có khả năng thực thi các quy trình miễn phí
Thuật toán lập trình Round Robin
là giải thuật định thời CPU Mỗi tiến trình sẽ được gán một thời gian giữa CPU nhất định
Thuật toán Round Robin là gì ?
Trang 19Khái niệm
Giải thuật được phát triển theo
mô hình Hybrid và điều khiển bằng đồng hồ trong tự nhiên.
Trong giải thuật Round-Robin, khoảng thời gian phải đặt ở mức tối thiểu gán cho một tác vụ cụ thể cần được xử lý Tuy nhiên có thể khác nhau về các hệ điều hành.
Round Robin được đánh giá là một trong những giải thuật đơn giản nhất, tồn tại lâu đời nhất và tiêu thức tính toán công bằng nhất.
Đặc điểm của thuật toán
Trang 20xử lý tiếp, phần dư của nó cũng
sẽ được chuyển về phía sau trong danh sách hàng đợi
• Căn cứ vào danh sách Ready list đã nạp trước đó, CPU sẽ lấy tiếp tiến trình kế cận để đưa vào xử lý, với mức quantum là như nhau cho tất cả các tiến trình.
• Nếu gọi n là số tiến trình có trong Ready list, thời gian quantum là q, như vậy mỗi tiến trình sẽ có một khoảng thời
gian là để sử dụng CPU.
Trang 21Nếu bạn cảm thấy vẫn khó
hiểu ???
Trang 22Tính thời gian trung bình của các tiến trình ?
q = 4
Trang 23Khái niệm
Thời gian chờ : Dùng để phân biệt giữa thời gian quay vòng và thời gian liên tục Sử dụng công thức: [Thời gian chờ = Thời gian quay vòng – Thời gian nổ].
Thời gian quay vòng: Dùng để phân biệt giữa thời gian hoàn thành và thời gian đến Sử dụng công thức: [Thời gian quay vòng
= Thời gian hoàn thành – Thời gian đến].
Các điều kiện quan trọng được sử dụng trong giải thuật Round-Robin
Trang 24Ưu – nhược điểm của giải thuật
Round-Robin
• Với sự hỗ trợ của Round Robin giúp các công
việc phân bổ cho CPU được phân bổ hợp lý
• Tất cả các quy trình đều được xử lý mà
không có bất kỳ ưu tiên nào
• Giải thuật mang lại hiệu suất tốt cho thời
gian phản hồi trung bình
• Trong giải thuật không gặp phải các vấn đề
thiếu hụt hay hiệu ứng bảo vệ
• Round Robin không mang tính chu kỳ
• Thêm các quy trình mới tạo vào cuối hàng
đợi
• Khi thực hiện, một lượng tử thời gian cụ thể
được phân bổ cho các công việc khác nhau
• Mỗi quá trình sẽ có cơ hội lên lịch lại sau một
thời gian lượng tử cụ thể
• Một bộ lập lịch vòng tròn thường sử dụng
tính năng chia sẻ thời gian Điều này có
nghĩa là cung cấp cho mỗi công việc một
khe thời gian hoặc lượng tử
• Nếu thời gian ngắt của hệ điều hành thấp, đầu ra của bộ xử lý sẽ bị giảm
• Hiệu suất bị phụ thuộc nhiều vào lượng tử thời gian
• Không ưu tiên cho những việc quan trọng khi lập lịch vòng tròn
• Phương pháp này mất nhiều thời gian cho việc chuyển đổi ngữ cảnh
• Lượng tử thời gian thấp nên dẫn đến quá trình chuyển đổi ngữ cảnh trong hệ thống cao hơn
• Trở ngại trong việc tìm một lượng tử thời gian chính xác
• Không đặt được mức độ ưu tiên
• Khả năng hiểu suy giảm
Trang 25Một số điểm cần lưu ý về
giải thuật Round-Robin
Tăng giá trị của lượng tử thời gian
Với giá trị ngày càng tăng của lượng tử
thời gian, khiến cho số lượng chuyển
đổi ngữ cảnh giảm, thời gian phản hồi
sẽ tăng lên và tỷ lệ thiếu hụt sẽ tăng
trong trường hợp này
Giảm giá trị của lượng tử thời gian
Với giá trị giảm dần của lượng tử thời gian, khiến cho số lượng chuyển đổi ngữ cảnh tăng, thời gian phản hồi sẽ giảm và tỷ lệ thiếu hụt sẽ giảm trong
trường hợp này Hiệu suất của Round Robin
Hiệu suất của lập lịch Round Robin chủ yếu phụ thuộc vào giá trị của lượng tử thời gian
Giá trị lượng tử thời gian phải cân chỉnh để không quá lớn và cũng không quá nhỏ
Trang 26Một số thuật toán trong
Bản chất giống như thuật toán Round Robin, tuy nhiên chúng ta
có thể cấu hình cho một máy chủ nào đó thường xuyên được sử dụng hơn
Bản chất giống thuật toán Least Connection, nhưng chúng ta có thể cấu hình ưu tiên cho một máy chủ trong cụm máy chủ hoạt động
Là thuật toán sử dụng phương pháp thời gian đáp ứng ít nhất, lựa chọn dịch vụ trên máy chủ với thời gian đáp ứng là thấp nhất
Là thuật toán dựa trên tính toán số lượng kết nối để thực hiện cân bằng tải cho máy chủ, nó sẽ tự động lựa chọn máy chủ với
số lượng kết nối đang hoạt động là nhỏ nhất
Trang 27Cảm ơn thầy và các bạn
đã theo dõi!