v
MULTI TASKING
(Multitasking) adalah istilah teknologi informasi
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 memjadwalkan 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 istilah time-sharing
jarang digunakan, dan digantikan dengan istilah multitasking.
(Multiprogramming) Melayani
banyak program yang tidak ada hubungannya satu sama lain dan dijalankan
sekaligus dalam satu komputer yang sama.
Melayani banyak program yang tidak ada hubungannya satu sama lain dan dijalankan
sekaligus dalam satu komputer yang sama.
Pelaksanaan instruksi yang diterapkan
adalah:
- program dimuat ke dalam memori,
- program dijalankan sampai mengakses perangkat I/O,
- berpindah (switch) ke pekerjaan lain,
- langkah tersebut berulang terus menerus,
- untuk proses perpindahan (switching), dilaksanakan oleh software
- program dimuat ke dalam memori,
- program dijalankan sampai mengakses perangkat I/O,
- berpindah (switch) ke pekerjaan lain,
- langkah tersebut berulang terus menerus,
- untuk proses perpindahan (switching), dilaksanakan oleh software
A. Status Proses Dalam Multiprogramming.
Meskipun setiap proses merupakan Entitiy yang berdiri sendiri, dan
masing-masing memiliki program Counter dan status internal, beberapa proses
sering kali harus berinteraksi dengan proses yang lain. Keluaran dari suatu
proses dapat menjadi masukan bagi proses yang lain. Jika proses yang sedang
menunggu masukan tidak menemukan masukan yang dikehendaki, proses tersebut
diblok sampai masukan tersedia.
Pada saat proses diblok, secara logika proses tersebut tidak dapat dilanjutkan
karena menuggu masukan yang belum tersedia. Dapat terjadi bahwa proses yang
Ready dan dapat di-run terpaksa harus dihentikan karena sistem operasi arus
mengalokasikan CPU ke proses lain untuk sementara waktu.
Proses dapat berada pada status berikut:
1) Submitt:
Proses baru saja dikirimkan oleh user dan masih menunggu untuk dilayani.
2) Running:
Proses benar-benar menggunakan CPU pada saat itu.
3) Ready:
Proses berhenti sementara untuk memberikan kesempatan pada proses lain untuk
menggunakan CPU.
4) Blocked:
Proses tidak dapat di-Run sampai terjadi kejadian eksternal yang sesuai
(misalkan selesainya operasi input/output atau telah tersedianya data input).
5) Finished:
Proses telah dilaksanakan secara sempurna.
Di antara status Running, Ready dan Blocked, hanya terdapat 4 kemungkinan
perubahan status, yaitu:
1) Running ke Blocked:
Terjadi jika proses diblok, karena menunggu masukan atau menunggu selesainya
aktivitas I/O.
2) Running ke Ready:
Terjadi jika Process Scheduler menghentikan proses yang sedang running untuk
memberikan kesempatan pada proses lain menggunakan CPU.
3) Blocked ke Ready:
Terjadi jika ada kejadian eksternal yang menyebabkan proses dapat dijalankan
kembali. Misalnya datangnya input atau selesainya suatu aktifitas I/O.
4) Ready ke Running:
Terjadi jika proses siap untuk menggunakan CPU dan masukan yang sesuai untuk
proses tersebut telah tiba.
B. Penjadwalan Proses (CPU) Dalam Multiprogramming.
Penjadwalan CPU berhubungan dengan masalah penentuan proses dalam antrian
yang akan diberikan CPU. Terdapat beberapa algoritma penjadwalan yang dapat
digunakan, masing-masing dengan sifat-sifat khasnya sendiri. Dalam memilih
algoritma yang akan dipakai dapat digunakan bermacam kriteria untuk
membandingkan suatu algoritma dengan algoritma yang lain.
Kriteria yang digunakan dalam perbandingan dapat menyebabkan perbedaan dalam
penentuan algoritma yang akan dipilih. Kriteria-kriteria tersebut meliputi:
1) Pemanfaatan CPU.
Biaya CPU yang mahal menuntut pemakai untuk selalu memberikan pekerjaan kepada
CPU sehingga kalau dimungkinkan maka dibuat kondisi yang sedemikian rupa dimana
CPU tidak memiliki waktu luang. Dalam sistem susungguhnya, pemanfaatan CPU
berkisar antara 40% sampai 90%.
2) Throughput.
Untuk mengukur beban pekerjaan CPU, salah satu cara adalah dengan menghitung
jumlah job yang diselesaikan setiap satuan waktu tertentu, yang disebut
Throughput. Untuk job yang lama, kecepatannya mungkin satu job per jam,
sedangkan untuk transaksi pendek dapat mencapai 10 job per detik.
3) Turnaround Time.
Dari sudut pandang suatu job, mungkin yang paling penting adalah lamanya waktu
penyelesaian job itu. Selang waktu dari saat penyerahan job sampai waktu
penyelesaian disebut Turnaround Time, yang meliputi juga waktu tunggu untuk
memasuki memori, waktu tunggu di antrian, pengerjaan di CPU, dan pelaksanaan
proses I/O.
4) Waiting Time (Waktu Tunggu).
Sebagai alternatif Turnaround Time, dapat digunakan Waktu Tunggu di antrian
untuk setiap job. Waktu Tunggu ini tidak termasuk waktu pelaksanaan tugas I/O.
5) Response Time (Waktu Tanggap).
Seringkali suatu proses dapat mengeluarkan hasil yang relatif lebih cepat
daripada waktu penyelesaian proses tersebut. Bersamaan dengan pengeluaran itu,
proses tersebut dapat melanjutkan perhitungan hasil baru selanjutnya. Waktu
yang dihitung sejak mulai dari penyerahan suatu permintaan sampai respons
(tanggapan) pertama diperoleh pemakai tersebut Response Time.
Tidak ada komentar:
Posting Komentar