Tugas ganda

Tugas ganda adalah istilah teknologi informasi yang mengacu kepada sebuah metode di mana banyak pekerjaan atau dikenal juga sebagai proses diolah dengan menggunakan sumber daya CPU yang sama. Dalam kasus sebuah komputer dengan prosesor tunggal, hanya satu instruksi yang dapat bekerja dalam satu waktu, berarti bahwa CPU tersebut secara aktif mengolah instruksi untuk satu pekerjaan tersebut. Tugas ganda memecahkan masalah ini dengan menjadwalkan pekerjaan mana yang dapat berjalan dalam satu waktu, dan kapan pekerjaan yang lain menunggu untuk diolah dapat dikerjakan. Kondisi mengalokasikan CPU dari pekerjaan satu ke pekerjaan yang lain disebut alih konteks. Ketika alih konteks terjadi dengan sangat cepat, kondisi ini cukup untuk memberikan ilusi komputasi paralel. Bahkan dalam komputer yang memiliki lebih dari satu CPU, tugas ganda memperbolehkan lebih banyak pekerjaan dijalankan dibanding jumlah CPU yang tersedia. Sistem operasi komputer dapat juga mengadopsi berbagai macam strategi penjadwalan, yang secara garis besar dapat dikategorikan sebagai berikut: Dalam sistem program ganda (multi-program), pekerjaan yang sedang diolah terus berjalan hingga membutuhkan suatu operasi yang memerlukan interaksi dari luar.. Sistem program ganda dirancang untuk memaksimalkan penggunaan CPU.
Dalam sistem bagi waktu (time-sharing), pekerjaan yang sedang diolah diharuskan melepaskan kerja CPU, baik secara sukarela atau dari interaksi luar, seperti interupsi-perangkat-keras. Sistem bagi waktu dirancang untuk memperbolehkan beberapa program seolah diproses secara bersamaan.
Dalam sistem waktu nyata (real-time), beberapa program yang sedang menunggu dijamin untuk mendapatkan pengolahan dari CPU ketika interaksi luar terjadi. Sistem waktu nyata dirancang untuk melakukan kontrol mekanik seperti robot-robot industri, yang memerlukan ketepatan pemrosesan. Dewasa ini, penggunaan istilah time-sharing jarang digunakan, dan digantikan dengan istilah multitasking.