CHƯƠNG 2 : QUẢN LÝ TIẾN TRÌNH
2.3. ĐIỀU ĐỘ TIẾN TRÌNH
2.3.1. Khái niệm điều độ
Trong hệ thống cho phép đa chương trình, nhiều tiến trình có thể tồn tại và thực hiện cùng một lúc. Kỹ thuật đa chương trình có nhiều ưu điểm do cho phép sử dụng CPU hiệu quả, đồng thời đáp ứng tốt hơn yêu cầu tính tốn của người dùng. Bên cạnh đó, đa chương trình cũng đặt ra nhiều vấn đề phức tạp hơn đối với hệ điều hành. Một trong những vấn đềcơ bản khi thực hiện đa chương trình là vấn đềđiều độ.
Điều độ (scheduling) hay lập lịch là quyết định tiến trình nào được sử dụng tài nguyên phần cứng khi nào, trong thời gian bao lâu. Bài toán điều độ được đặt ra với mọi dạng tài nguyên khác nhau, chẳng hạn thiết bị vào ra, CPU, bộ nhớ…, kể cảtrong trường hợp có chia sẻ thời gian hay không. Trong phần này, chúng ta sẽ tập trung vào vấn đề điều độ đối với CPU, gọi là điều độ CPU, hay là điều độ tiến trình.
Đối với hệ thống bao gồm một CPU duy nhất, tại mỗi thời điểm chỉ một tiến trình được cấp CPU để thực hiện. Hệđiều hành có thể chờ cho tới khi tiến trình khơng sử dụng CPU nữa hoặc chủ động điều độ lại để chuyển CPU sang thực hiện tiến trình khác, tùy thuộc vào
phương pháp điều độ cụ thể. Như vậy điều độ tiến trình là quyết định thứ tự và thời gian sử
dụng CPU. Đối với hệ thống nhiều CPU, việc điều độthường phức tạp hơn, và sẽkhông được
đề cập tới ởđây.
Điều độ tiến trình và điều độ luồng. Trong những hệ thống trước đây, tiến trình là đơn
vị thực hiện chính, là đối tượng được cấp CPU, và việc điều độ được thực hiện đối với tiến trình. Hệ thống hiện nay thường hỗ trợ luồng. Trong trường hợp này, luồng mức nhân là đơn
vị thực hiện được hệđiều hành cấp phát CPU chứ khơng phải tiến trình, và do vậy việc điều
độ được hệ điều hành thực hiện trực tiếp với luồng. Tuy nhiên, thuật ngữ điều độ tiến trình
vẫn được sử dụng rộng rãi và được hiểu tương đương với điều độ luồng, trừ khi có giải thích cụ thể.
2.3.2. Các dạng điều độĐiều độ dài hạn và ngắn hạn