Anda di halaman 1dari 5

Status (state) proses

Sebuah proses akan mengalami serangkaian state diskrit.Tiga state tersebut adalah
sebagai berikut :

• Running yaitu Proses sedang mengeksekusi instruksi proses

•Ready,yaitu Proses siap dieksekusi, tetapi proses tidak tersedia untuk eksekusi prosesini.

•Blocked yaitu Proses menunggu kejadian untuk melengkapi tugasnya.

Proses yang baru diciptakan akan mempunyai state ready:

 Proses berstate running menjadi blocked,karena sumber daya yang diminta belum
tersedia atau meminta layanan perangkat masuka 'keluaran, sehingga menunggu kejadian
muncul. Proses menunggu kejadian alokasi sumber daya atau selesainya layanan
perangkat.
 Proses berstate running menjadi ready karena penjadwalan memutuskan eksekusi proses
lain karena jatah waktu untuk proses tersebut telah habis (time out )
 Proses berstate blocked menjadi ready saat sumber daya yang diminta' diperlukantelah
tersedia atau layanan perangkat masukan'keluaran selesai(event occurs)
 Proses berstate ready menjadi running karena penjadwalan memutuskan
penggunaan pemroses utnuk proses itu karena proses yang saat itu running berubah
statenya(menjadi ready atau blocked )atau telah menyelesaikan sehingga disingkirkan
dari sistem. Proses menjadi mendapatkan jatah pemroses.

Diagram state lanjut

Penundaan(suspend) adalah operasi penting dan telah diterapkan dengan beragam


cara.Penundaan biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk
memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak.

Proses yang ditunda(suspended blocked ) tidak berlanjut sampai proses lain meresume.
Untuk jangka panjang sumber daya-sumber daya proses dibebaskan begitu keputusan
membebaskan sumber daya-sumber daya bergantung sifat masing-masing sumber daya.
Memori utama seharusnya segera dibebaskan begitu proses tertunda agar dapat
dimanfaatkan proses lain. *esuming #pengaktifan kembali$ proses, yaitu men alankan proses
dari titik#instruksi$ dimana proses ditunda

Process State adalah status dari proses, apakah proses tersebut sedang dieksekusi, suspend, block
atau sudah release. Secara mendasar, Process State dibagi menjadi 5 state, yaitu :
 New, State dimana proses dibuat
 Ready, State dimana proses sudah memiliki resource yang dibutuhkan untuk dijalankan, tetapi
CPU belum mengeksekusi proses ini
 Running, State dimana proses dieksekusii oleh CPU
 Waiting/Blocked, State dimana proses tidak dijalankan untuk sementara karena suatu hal seperti
menunggu resource yang dibutuhkan, input user, atau event lainnya yang membuat proses ini
tidak dapat dijalankan untuk sementara.
 Terminated/Exit, State dimana proses telah selesai.
Pembuatan dan Penghentian sebuah Proses

Pembuatan Proses
 Sistem Operasi membangun suatu struktur data untuk mengelola proses tersebut
 Biasanya, semua proses dibuat oleh Sistem Operasi. Tetapi Sistem Operasi juga membolehkan
proses yang sedang berjalan membuat proses lain.
Penghentian Proses

Harus ada cara yang dapat menandakan bahwa suatu proses selesai. Cara-cara tersebut dapat
berupa:
 Instruksi HALT membangkitkan suatu interupsi alert untuk SO
 Aksi pengguna (seperti log off & keluar dari suatu aplikasi)
 Suatu kesalahan atau error
 Dihentikan oleh proses induk
Suspended State
Dikatakan suspended state karena sebuah proses terlalu lama menunggu "momen" ntuk
berjalannya sebuah proses (menunggu proses yang lain selesai berjalan). Untuk kasus seperti ini,
proses tersebut dipindahkan ke secondary memory.

Alasan lain mengapa process suspended:


 Swapping
 Interactive User Request (jarang terjadi)
 Timing
 Parent Process Request

Dari gambar diatas terlihat bahwa “Ready Queue” adalah antrian process yang akan dibawa ke
processor untuk di “run”. Pada saat process berada di process, maka “State” nya adalah
“Running” sedangkan ketika berada di queue, yaitu yang sedang menunggu untuk di “run”,
adalah “Not Running”.

Sebelum sebuah process dimulai, tentunya ada sebuah event yang memulai process tersebut.
Selain itu setelah process di-run, ada 2 kemungkinan, yaitu process belum selesai dan
dikembalikan ke queue atau selesai dan di terminate. Jadi sekarang ada 2 istilah baru yaitu “start”
dan “Termination”, berikut adalah beberapa sebab program di start atau di terminate:

Start: New Batch Job, Interactive Login, Created by OS, or Spawned by Existing Process.
Termination: Normal Completion, Memory Unavailable, Protection Error, Operator or OS
Intervention.
Jadi ketika process dijalankan(karena salah satu alasan yang telah disebutkan diatas) program
tersebut akan dimasukkan ke ready queue, yang nantinya akan di-dispatch dan di run, lalu exit
bila selesai. Namun 2 kotak lagi yaitu suspend dan blocked, apa itu?

Blocked adalah ketika sebuah process menunggu sebuah event, bisa itu menunggu input dari
user, menunggu signal dari process/komputer lain, dan beberapa alasan lainnya. Supaya tidak
memenuhi ready queue – yang nantinya akan di run dan langsung dikembalikan ke queue karena
belum terjadi event yang diinginkan – ia akan dimasukkan kedalam state blocked, state bocked
ini akan dicabut ketika event yang diinginkan terjadi.

Sedangkan suspend adalah ketika data sebuah process dipindah ke secondary memory (di
“Swap” pada linux atau “Page” pada Windows”, inilah guna alokasi “swap” dan “pagefile” :) )
sampai dia diputuskan untuk di kembalikan ke main memory. Suspend/blocked adalah ketika
process yang sedang di block yang dipindah ke secondary memory. Sedangkan ready/blocked
adalah process ready yang dipindah ke secondary memory. Suspend ini bisa dilakukan karena
swapping (memory penuh) atau bisa juga karena permintaan user, dan timing. Yang dimaksud
timing adalah ketika program sudah terlalu lama di block(menunggu event) sehingga ia dipindah
ke secondary memory. Bisa juga karena process ketika di “start” sedangkan dari main memory
tidak cukup tempat. Sehingga ia ditaruh di secondary memory dulu dan OS akan mencari process
di main memory yang nantinya akan di “swap” dengan process ini.

Sebuah process yang selesai tapi terdapat bug didalamnya bisa mengakibatkan termination error,
sehingga processor mengenali process tersebut sudah mati namun datanya masih ada di memory.
Hal seperti ini disebut Zombie Process.

Mereview tulisan saya diatas, jadi sebuah process pertama tama akan di “start”, process ini akan
diberi PID, lalu akan dialokasikan tempat(di main memory bila cukup, bila tidak akan
dialokasikan di secondary memory), lali dibuatka PCB(=Process Control Block), lalu diberi state
“Ready”, dimasukkan kedalam queue. Lalu di dispatch untuk di process.
Dispatch adalah program yang mengirim instruksi untuk dikirim ke processor dan men switch
ketika timeout/selesai. Kerja dispatch adalah menyimpan isi register processor untuk
mengupdate PCB, lalu menaruh PCB tersebut kembali ke queue, lalu mengambil process lain
untuk dieksekusi, copy data(yang dibutuhkan) dari PCB ke register, lalu biarkan processor
bekerja, lalu kembali menyimpan isi processor untuk mengupdate PCB.

Anda mungkin juga menyukai