Mengenal Perbedaan Multiprogramming, Multitasking, Multiprocessing, dan Multithreading


Dalam artikel ilmu komputer kali ini akan mengulas hal dasar mengenai kemampuan suatu operating system dalam menjalankan suatu pekerjaan, baik secara multiprogramming, multitasking, multiprocessing, maupun multithreading.
Meski sepintas istilah-istilah tersebut terdengar sama, namun terdapat perbedaan mendasar, dan berikut ini penjabarannya.

Multiprogramming
Multiprogramming merupakan kemampuan dari sebuah operating system untuk menjalankan lebih dari satu program pada komputer dengan sebuah processor. Lebih dari satu pekerjaan (program atau process) dapat menempati memory utama pada satu waktu yang sama. Contoh dari multiprogramming ialah seperti sebuah komputer yang sedang menjalankan browser FireFox dan juga aplikasi Word.

Multitasking
Multitasking merupakan kemampuan dari sebuah operating system untuk menjalankan lebih dari satu pekerjaan secara simultan pada komputer dengan sebuah processor. Dimana CPU melakukan switch dari satu tugas ke tugas berikutnya dengan begitu cepat, yang mana bagi manusia biasa dianggap pekerjaan-pekerjaan tersebut dijalankan pada satu waktu yang bersamaan. Padahal kenyataannya pekerjaan tersebut dikerjakan secara bergantian, dalam waktu yang berbeda. Hanya ada satu pekerjaan (program atau process) yang berada di sebuah CPU pada satu waktu.

Multiprocessing
Multiprocessing merupakan kemampuan dari sebuah operating system untuk menjalankan lebih dari satu process secara simultan pada komputer dengan multiprocessor. Dalam hal ini, sebuah komputer menggunakan lebih dari satu CPU pada satu waktu.

Multithreading
Multithreading merupakan kemampuan dari sebuah operating system untuk menjalankan bagian-bagian program yang berbeda, yang disebut dengan istilah thread pada satu waktu yang sama. Dalam sistem multithreading, lebih dari satu thread dijalankan secara paralel pada sebuah CPU.