Minggu, 06 Mei 2012

MULTIPROGRAMMING AND MULTITASKING

MULTIPROGRAMMING
     
      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.




MULTITASKING

Multitasking adalah istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada sebuah metode dimana banyak pekerjaan atau dikenal juga sebagai proses diolah dengan menggunakan sumberdaya 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.
Multitasking 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 context switch.
Ketika context switch terjadi dengan sangat cepat -- kondisi ini cukup untuk memberikan ilusi pengolahan-paralel. Bahkan dalam komputer yang memiliki lebih dari satu CPU (disebut multi-prosesor), Multitasking memperbolehkan lebih banyak pekerjaan dijalankan dibanding dengan jumlah CPU yang tersedia.

Sistem operasi komputer dapat juga mengadopsi berbagai macam strategi penjadwalan, yang secara garis besar dapat dikategorikan sebagai berikut:
·         Dalam sistem multi-program, pekerjaan yang sedang diolah terus berjalan hingga membutuhkan suatu operasi yang memerlukan interaksi dari luar. (e.g. membaca dari tape). Sistem multi-program didesain untuk memaksimalkan penggunaan CPU.
·         Dalam sistem time-sharing , pekerjaan yang sedang diolah diharuskan melepaskan kerja CPU, baik secara sukarela atau dari interaksi luar, seperti interupsi-perangkat-keras. Sistem Time-sharing didesain untuk memperbolehkan beberapa program seolah diproses secara bersamaan.
·         Dalam sistem real-time, beberapa program yang sedang menunggu dijamin untuk mendapatkan pengolahan dari CPU ketika interaksi luar terjadi. Sistem real-time didesain untuk melakukan kontrol mekanik seperti robot-robot industri, yang memerlukan ketepatan pemrosesan.

Dewasa ini, penggunaan time-sharing jarang digunakan, dan digantikan dengan multitasking.
Contoh sistem operasi jenis ini antara lain adalah linux. Linux adalah sistem operasi yang multitasking dan multiuser seperti kebanyakan SO yang ada pada saat ini. Multitasking pada linux artinya linux bisa atau mampu menjalankan beberapa proses dalam waktu yang bersamaan.
Seperti contoh pada saat kita menjalan kan aplikasi web browser kita juga bisa menjalankan aplikasi kompresi file. Sedangkan multiuser pada linux adalah user bisa login ke dalam sistem secara bersamaan, dengan artinya user bisa menggunakan satu sistem secara bersamaan dalam satu waktu. Multitasking dan multiuser pada sistem operasi merupakan satu keharusan dalam masa ini.



Keuntungan sistem ini adalah :
·    Suatu perintah dapat dilaksanakan secara tuntas sampai berakhir dengan prioritas tertinggi.
·   Mampu memproses lebih dari satu perintah dalam waktu yang bersamaan.hal ini dapat terjadi karena kemampuan membagi sumber daya yang tersedia. Jika suati perintah datang membutuhkan sumber daya media simpan menyelesaikan perintah/pekerjaan yang telah ditentukan, apabila datang perintah lain yang membutuhkan sumber daya memori misalnnya, perintah tersebut dapat langsung dikerjakan tanpa menunggu perintah sebelumnya selesai dierjakan.

Kelemahan dari sistem ini adalah jika terdapat banyak perintah, maka akan terjadi antian perintah yang cukup panjang. Pengguna harus menunggu perintah selesai dilaksanakan untuk memasukkan perintah selanjutnya.
Manfaat metode ini akan terasa ketika banyak terdapat perintah yang menggunakan sumber daya yang berbeda, sehingga rangkaina perintah dapat diselesaikan dengan lebih cepat.


Tidak ada komentar:

Posting Komentar