Mereka kurang lebih identik. Multiprogramming lebih digunakan ketika satu CPU terlibat, yang sedang beralih dari satu proses ke yang lain, proses yang resiging dalam memori secara bersamaan. Seiring datang utas, dan itu tidak beralih di antara program lagi ...
Prosesor, khususnya jalur intel, memiliki mekanisme untuk multitasking sejati (interupsi timer, instruksi istimewa) sejak setidaknya 80286. M68000 yang digunakan pada Mac pertama adalah prosesor dengan kapasitas multitaking penuh. Ini bukan perkembangan terbaru dalam arsitektur. Perhatikan bahwa sistem berbagi pertama kali menukar program pengguna masuk dan keluar, dan dengan demikian tidak benar-benar multiprogram dalam arti memiliki beberapa program dalam memori pada saat yang sama.
Idenya adalah untuk memiliki beberapa program yang berada di memori secara bersamaan, sehingga ketika seseorang menghasilkan CPU (dengan menyelesaikan atau menunggu) ada yang lain siap untuk menggunakan CPU, sehingga meningkatkan pemanfaatan CPU (dan seperti yang dapat Anda pertimbangkan setiap CPU meledak menjadi mempersiapkan penggunaan I / O, tingkatkan penggunaan secara keseluruhan). Ini memberikan hasil yang lebih baik (penting dalam sistem batch).
Seiring waktu berbagi, beberapa pengguna interaktif terhubung ke mesin. Gagasan yang sama, simpan program mereka di sekitar tetapi beralih di antara mereka cukup cepat sehingga mereka memiliki ilusi "memiliki komputer untuk diri mereka sendiri". Membutuhkan pengatur waktu yang mengganggu CPU untuk menghindari monopoli.
Pada mesin pribadi tidak ada banyak insentif untuk menjalankan beberapa program sekaligus, setidaknya pada awalnya (satu pengguna di depan mesin sangat terbatas tidak berharap banyak). Ketika mesin tumbuh, cara untuk mengatasi ini dan memungkinkan beberapa program sekaligus tanpa mengubah sistem operasi banyakadalah "multitasking kooperatif", di mana setiap program seharusnya menghasilkan secara berkala ke sistem operasi untuk memilih yang lain untuk dijalankan. Karena program yang melakukan ini dalam kontrol penuh, ia dapat memilih untuk melakukan ini ketika tidak ada yang bisa dikacaukan oleh orang lain. Tak perlu dikatakan, sebuah program "lupa" untuk memenuhi tugasnya untuk menghasilkan mendapat dorongan yang menarik dalam kinerja ... sistem Mac awal bekerja dengan cara ini, dan untuk alasan di atas ini tidak bertahan terlalu lama. Pada embedded system tanpa atau hanya sistem operasi yang belum sempurna, dan serangkaian program yang dikontrol ketat berjalan, ini tentu saja merupakan opsi yang ataktif.