Phương pháp lập trình lập lịch CPU theo kiểu round-robin

15.5743

Trả lời :

Vấn đề bạn hỏi thuộc kiến thức về HĐH (hệ điều hành). Thật vậy, HĐH có module tên là "Process Scheduler" với nhiệm vụ lập lịch chạy n ứng dụng đồng thời. Có nhiều giải thuật lập lịch chạy các ứng dụng, mỗi giải thuật giải quyết được một số tiêu chí nhất định. Thí dụ giải thuật lập lịch "round-robin" là giải thuật đơn giản, dễ hiểu và đạt được tiêu chí là chạy các ứng dụng rất bình đẳng. Ý tưởng của giải thuật round-robin là dùng danh sách FIFO (First-in First-out) để chứa các ứng dụng cần chạy, ứng dụng nào đến trước được xếp vào hàng trước, ứng dụng nào đến sau được xếp vào hàng sau. Mỗi khi CPU rảnh, trình lập lịch sẽ chọn ứng dụng ở đầu danh sách FIFO và giao CPU cho nó chạy. Mỗi lần, ứng dụng chỉ được chạy một khoảng thời gian rất nhỏ (1 quantum), sau khi chạy hết thời gian được giao, nếu ứng dụng chưa hoàn thành (thường là như vậy), nó phải quay lại xếp ở cuối hàng đợi để chờ đến lượt chạy kế tiếp của mình. Để biết chi tiết về các giải thuật lập lịch chạy các ứng dụng, bạn có thể đọc giáo trình môn HĐH nào đó (thí dụ cuốn Modern Operating Systems của tác giả A.S. Tanenbaumn).

 Sau khi đã nắm vững giải thuật, bạn miêu tả giải thuật bằng danh sách lệnh của ngôn ngữ lập trình nào đó. Tuy nhiên, như đã nói trên, module lập lịch các ứng dụng đã được HĐH xây dựng và luôn chạy kể từ lúc HĐH được nạp vào máy.
 

0--1

Liên hệ xóa tin: [email protected]