Sabtu, 16 Maret 2013

Process Control Block (PCB)


Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block). PCB (Process Control Block) ini sendiri adalah informasi-informasi lain yang diperlukan sebuah sistem operasi untuk mengendalikan dan mengkoordinasikan beragam proses yang aktif. Informasi-informasi tersebut merupakan sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
Process Control Block ini  hanya berfungsi sebagai tempat penyimpanan informasi yang dapat  bervariasi dari proses yang satu dengan yang lain. Setiap proses digambarkan dalam sistem operasi oleh sebuah Process Control Block (PCB). PCB ini berisikan banyak informasi yang berhubungan dengan sebuah proses yang spesifik, yaitu pointer, status proses, program counter, CPU registers, informasi manajemen memori, informasi pencatatan, dan informasi status I/O.
A.        Pointer
Merupakan perubahan dinamis dimana suatu perubahan yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program di eksekusi.
B.        Status Proses
Sebagaimana proses bekerja, maka proses tersebut merubah state (keadaan statis/asal). Status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut. Tiap proses mungkin adalah satu dari keadaan proses new, ready, running, waiting, terminated.
a.          New
Status yang dimiliki pada saat proses baru saja dibuat oleh penjadwalan tingkat tinggi, tetapi belum siap melakukan eksekusi.
b.          Ready
Status yang dimiliki pada saat proses siap dieksekusi oleh prosesor.
c.          Running
Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi. Proses bisa dieksekusi karena CPU tidak sedang mengerjakan tugas yang lain.
d.          Waiting
Status yang dimiliki pada saat proses menunggu suatu event (kejadian), seperti penyelesaian I/O atau menerima signal.
e.          Terminated
Status yang dimiliki pada saat proses telah selesai dieksekusi.