round robin

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

round robin

Bài gửi  nguyentruongan03(HLT3) on 19/4/2014, 23:35

Round-robin (RR) là thuật toán lập chương trình (danh mục) cho các tiến trình trong hệ điều hành, được thiết kế đặc biệt cho hệ thống chia sẻ thời gian.
Tương tự như thuật giải FCFS (First-Come First-Served Scheduling) nhưng sự trưng dụng CPU được thêm vào để chuyển CPU giữa các tiến trình. Đơn vị thời gian nhỏ được gọi là định mức thời gian (time quantum) hay phần thời gian (time slice) được định nghĩa.
Định mức thời gian thường từ 10 đến 100 mili giây. Hàng đợi (ở trạng thái sẳn sàng) được xem như một hàng đợi vòng. Bộ định thời CPU di chuyển vòng quanh hàng đợi, cấp phát CPU tới mỗi tiến trình có khoảng thời gian tối đa bằng một định mức thời gian.
Để cài đặt RR, chúng ta quản lý hàng đợi sẳn sàng như một hàng đợi FIFO của các tiến trình. Các tiến trình mới được thêm vào đuôi hàng đợi. Bộ định thời CPU chọn tiến trình đầu tiên từ hàng đợi, đặt bộ đếm thời gian để ngắt sau 1 định mức thời gian và gởi tới tiến trình.
Sau đó, một trong hai trường hợp sẽ xảy ra. Tiến trình có 1 chu kỳ CPU ít hơn 1 định mức thời gian. Trong trường hợp này, tiến trình sẽ tự giải phóng. Sau đó, bộ định thời biểu sẽ xử lý tiến trình tiếp theo trong hàng đợi. Ngược lại, nếu chu kỳ CPU của tiến trình đang chạy dài hơn 1 định mức thời gian thì bộ đếm thời gian sẽ báo và gây ra một ngắt tới hệ điều hành. Chuyển đổi ngữ cảnh sẽ được thực thi và tiến trình được đặt trở lại tại đuôi của hàng đợi. Sau đó, bộ định thời biểu CPU sẽ chọn tiến trình tiếp theo trong hàng đợi.

nguyentruongan03(HLT3)

Tổng số bài gửi : 22
Join date : 23/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết