MULTIPROGRAMMING DAN TIME SHARING OS
MULTIPROGRAMMING
Multi-program adalah salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya. Multiprogramming adalah suatu metode yang memungkinkan dua buah program atau lebih dijalankan secara serentak dalam sebuah komputer dan berbagai sumber daya dalam waktu yang berlainan.Konsep multiprogramming bisa diibaratkan sebagai pekerja yang tak hanya menangani satu pekerjaan,tetapi juga menangani pekerjaan lain,sehingga tak ada waktu yang terbuang. Sistem operasi yang yang menggunakan multi-program sebagai scheduler-nya bertujuan untuk memaksimalkan penggunaan CPU. Pada sistem multiprogramming, sistem operasi harus menyediakan mekanisme untuk manajemen memori, penjadwalan CPU dan manajemen disk. Sistem operasi multiprogram menyediakan supply untuk I/O routine. Sistem harus dapat mengalokasikan memory untuk beberapa job. Beberapa job yang sudah siap dieksekusi akan dipilih oleh system, job mana yang akan dieksekusi oleh CPU. Perangkat apa saja yang diperlukan oleh setiap job juga harus dialokasikan oleh sistem.
Sistem single program bekerja.
- Dalam sistem single program, Begitu satu pekerjaan meninggalkan CPU dan menjalankan tugas lain (misalnya I / O), CPU menjadi tidak aktif. CPU terus menunggu dan menunggu hingga pekerjaan ini (yang dijalankan sebelumnya) kembali dan melanjutkan eksekusinya dengan CPU.
- Sistem single program memiliki kekurangan yaitu CPU tetap diam untuk jangka waktu yang sangat lama. Selain itu, pekerjaan lain yang menunggu untuk dieksekusi mungkin tidak mendapat kesempatan untuk dieksekusi karena CPU masih dialokasikan ke pekerjaan sebelumnya.
Hal ini menimbulkan masalah yang sangat serius meskipun pekerjaan lain siap untuk dieksekusi, CPU tidak dialokasikan kepadanya karena CPU dialokasikan ke pekerjaan yang bahkan tidak menggunakannya (karena sibuk dalam tugas I / O). - Tidak mungkin terjadi bahwa satu pekerjaan menggunakan CPU selama 1 jam sementara yang lain menunggu dalam antrian selama 5 jam. Untuk menghindari situasi seperti ini dan menghasilkan pemanfaatan CPU yang efisien, konsep multi-pemrograman muncul.
- Dalam sistem multi-program, segera setelah satu pekerjaan menjalankan tugas I / O, Sistem Operasi akan menghentikan pekerjaan itu, memilih pekerjaan lain dari kumpulan pekerjaan (antrian tunggu), memberikan CPU ke pekerjaan baru ini dan memulai eksekusinya. Pekerjaan sebelumnya tetap melakukan operasi I / O-nya sementara pekerjaan baru ini melakukan tugas terikat CPU. Sekarang katakanlah pekerjaan kedua juga berlaku untuk tugas I / O, CPU memilih pekerjaan ketiga dan mulai menjalankannya. Segera setelah pekerjaan menyelesaikan operasi I / O-nya dan kembali untuk tugas CPU, CPU dialokasikan untuk itu.
- Dengan cara ini, tidak ada waktu CPU yang terbuang oleh sistem menunggu tugas I / O diselesaikan. Oleh karena itu, tujuan akhir dari multi programming adalah untuk membuat CPU tetap sibuk selama ada proses yang siap untuk dijalankan. Dengan cara ini, beberapa program dapat dieksekusi pada satu prosesor dengan mengeksekusi sebagian program pada satu waktu, sebagian dari program lain setelah ini, kemudian sebagian dari program lain dan seterusnya, sehingga menjalankan banyak program. Karenanya, CPU tidak pernah diam.
Comments
Post a Comment