Popular Posts

Sabtu, 07 April 2012

Diagram Keadaan Proses Sistem Operasi

Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:
  1. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya
  2. Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor
  3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas, Status yang dimiliki pada saat proses menunggu suatu sebuah event seperti proses I/O. keadaan ini kadang disebut juga dengan Waiting.
Terdapat dua status tambahan, yaitu saat pembentukan dan terminasi:
  1. New. Status yang dimiliki pada saat proses baru saja dibuat
  2. Terminated. Status yang dimiliki pada saat proses telah selesai dieksekusi.
Hanya satu proses yang dapat berjalan pada prosesor mana pun pada satu waktu. Namun, banyak proses yang dapat berstatus Ready atau Blocked. Ada tiga kemungkinan bila sebuah proses memiliki status Running:
  1. Jika program telah selesai dieksekusi maka status dari proses tersebut akan berubah menjadi Terminated.
  2. Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan terjadi interrupt dan proses tersebut kini berstatus Ready.
  3. Jika suatu event terjadi pada saat proses dieksekusi (seperti ada permintaan M/K) maka proses tersebut akan menunggu event tersebut selesai dan proses berstatus Blocked.

Berikut ini adalah beberapa kemungkinan suatu proses terjadi:
a. Dari ready ke running
Pada saat memilih proses untuk dioperasikan, sistem operasi memilih salah satu proses yang berada didalam keadaan ready.
b. Running ke block
Suatu proses ditaruh dalam keadaan blocked apabila proses itu meminta sesuatu yang akan menyebabkannya harus menunggu. Sebuah request ke sistem operasi umumnya merupakan bentuk panggilan layanan sistem (panggilan dari program yang sedang beroperasi ke prosedur yang sedang beroperasi ke prosedur yang merupakan bagian kode sistem operasi) misalnya sebuah proses dapat meminta suatu layanan dari sistem operasi yang tidak dapat siap dilakukan sistem opersi dengan segera. Atau proses dapat menginisiasi suatu aksi, misalnya operasi I/O, yang harus diselesaikan sebelum proses itu melanjutkan operasinya. Pada saat proses saling berkomunikasi dengan proses lainnya, suatu proses dapat diblokir apabila sedang menunggu proses lainnya untuk menyediakan input atau sedang menunggu pesan dari proses lainnya.
c. Running ke ready
Umumnya alasan transisi ini adalah dimana proses yang sedang berjalan telah mencapai waktu maksimum yang diizinkan bagi instruksi yang tidak diinterupsi. Terdapat beberapa alasan lainnya yang menyebabkan transisi ini, yang tidak diimplementasikan disetiap sistem operasi. Misalnya apabila sistem operasi meng-assign tingkat prioritas yang berbeda pada proses yang berlainan, suatu proses dapat diambil lebih dulu.
d. Blocked ke ready
Apabila proses dalam keadaan Blocked sudah selesai mendapatkan sumber daya, seperti file atau bagian virtual memori bagi pakai atau juga sudah selesai setelah menunggu proses lainnya untuk menyediakan input atau sudah selesai menunggu pesan lainnya.
e. Runing ke finish
proses yang sedang berjalan dihentikan oleh SO pabila proses itu telah selesai atau dibatalkan. Hal ini terjadi karena apabila proses induknya sendiri telah berhenti.

0 komentar

Posting Komentar