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