Multiprogramming
Multiprograming
Merupakan suatu metode yang memungkinkan dua buah program atau lebih dijalankan secara serentak dalam sebuah komputer. Bebagi sumber daya dalam waktu yang berlainan. Sebagai contoh,dalam satu waktu sebuah program sedang menggnakan CPU, sedangkan program yang lain menggunakan printer. Di dalam sistem Multiprograming, sebuah program dijalankan dalam CPU sampai terjadi suatu interupsi seperti permintaan masukan. Pada saat program meminta masukan, program berikutnya yang telah di muat dalam memory akan di jalankan sampai terjadi interupsi. Ketika pemrosesan interupsi telah berakhir, kontrol dikembalikkan ke program yang telah diinterupsi. Siklus seperti ini diulang sehingga program-program yang telah dimuat memory utamaakan diproses secara bergantian.
Konsep Multiprogramming dapat dianalogikan dengan pengacara yang tentu saja tidak hanya menangani satu klien. Ketika suatu kasus dari seorang klien sedang menunggu untuk proses pengadilan,.sang pengacara dapat menangani kasusu lain. Dengan cara seprti ini tidak ada waktu yang tersia-siakan (menganggur).
Mengingat pergantian satu program dan program lain berlangsung dengan cepat. Semua program tampak seperti dijalankan secara serentak.
Sebelum konsep Multiprogramming diterapkan, sistem operasi hanya menjalankan sebuah program pada satu waktu.
Kelemahan sistem Multiprogramming adalah tidak memugkinkan pemakai berinteraksi dengan proses. Segala masukan ditangani melalui kartu kontrol atau disebut juga kartu plong.
Atau dengan kata lain :
Dari namanya, multiprogramming berarti meletakan lebih dari sebuah program di main memory. Cara ini dilakukan dengan membagi main memory menjadi beberapa partisi. Tiap parisi akan menyimpan sebuah program. Foreground partitions akan berisi program dengan prioritas yang lebih tinggi sedang background partitions akan berisi program yang lebih rendah. Multiprograming akan melakukan intruksi-intruksi dari beberapa program secara bersamaan waktu, tetapi memproses sebagian intruksi dari suatu program kemudian memproses sebagian intruksi yang lain dan seterusnya. Tugas dari OS untuk menangani pemindahan (switch) pemrosesan dari program suatu ke program lainnya.
hal ini mirip dengan multiprocessing atau pum multitasking.