Minggu, 29 April 2012

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
.

0 komentar:

Posting Komentar