Senin, 30 April 2012

Multi Tasking & Multi Programming

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


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