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 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ể.