Multiprogramming (đa chương) là một khả năng của hệ thống máy tính cho phép thực thi chương trình hoặc nhiều tác vụ (có thể là tiến trình (Process) hoặc tiểu trình (Thread)) song song với nhau.
Các chương trình hoặc tác vụ này cùng chia sẻ các tài nguyên của hệ thống chẳng hạn như CPU, bộ nhớ và các thiết bị nhập xuất.
Hệ điều hành thực hiện điều này bằng cách điều phối (Scheduling) sao cho các tác vụ luân phiên sử dụng tài nguyên trong một khoảng thời gian nhất định nào đó.