Process Control Block
A. Definisi Proses.
Proses
adalah program yang sedang dieksekusi. Menurut SilberSchatz,
suatu proses
adalah lebih dari sebuah kode program, yang
terkadang disebut text section . Proses
juga mencakup program counter , yaitu sebuah
stack untuk menyimpan alamat dari instruksi
yang akan dieksekusi selanjutnya dan register. Sebuah proses pada umumnya juga
memiliki sebuah stack yang berisikan
data-data yang dibutuhkan selama proses dieksekusi
(seperti parameter method,
alamat return dan variabel
lokal), dan sebuah data section yang
menyimpan variabel global.
Program itu sendiri bukanlah sebuah proses
suatu program adalah satu entitas pasif; seperti isi dari sebuah berkas yang
disimpan didalam disket. Sedangkan sebuah proses
dalam suatu entitas aktif, dengan sebuah program counter
yang menyimpan alamat instruksi selanjut
yang akan dieksekusi dan seperangkat sumber daya (resource
yang dibutuhkan agar sebuah proses dapat dieksekusi).
B. Process Control Block.
Setiap
proses
dalam sebuah sistem operasi mendapatkan
sebuah PCB (Process
Control Block) yang memuat informasi tentang proses tersebut, yaitu :
01.) Sebuah
tanda pengenal proses (Process ID) yang unik
dan menjadi nomor identitas.
02.) Status
proses.
03.) Prioritas eksekusi proses
dan informasi lokasi proses dalam memori.
Peran
PCB adalah pusat
dalam manajemen proses. Mereka diakses dan / atau dimodifikasi
oleh sebagian besar
utilitas OS,
termasuk yang terlibat dengan penjadwalan, memori dan akses
sumber daya I / O dan pemantauan kinerja. Dapat
dikatakan bahwa himpunan PCB mendefinisikan status sistem
operasi saat ini. Penataan data
untuk proses
sering dilakukan dalam hal PCB. Sebagai
contoh, pointer ke PCB lain di dalam PCB memungkinkan pembuatan antrean proses dalam berbagai status penjadwalan ("siap", "diblokir",
dll.) yang telah disebutkan sebelumnya. 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 mengubah 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).
Tiap
proses
digambarkan dalam sistem operasi oleh sebuah
process control block PCB - juga disebut
sebuah control block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses
yang spesifik, termasuk hal-hal dibawah ini:
01.) Status proses.
Status mungkin, new, ready, running,
waiting, halted,
dan juga banyak lagi.
02.) Program counter.
Suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
03.) CPU register.
Register
bervariasi dalam jumlah dan
jenis, tergantung pada rancangan komputer. Register
tersebut termasuk accumulator , indeks register, stack
pointer , general-purposes register ,
ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaan/ status
informasi harus disimpan ketika gangguan
terjadi, untuk memungkinkan proses tersebut berjalan/
bekerja dengan benar setelahnya.
04.) Informasi managemen memori.
Informasi
ini dapat termasuk suatu informasi sebagai
nilai dari dasar dan batas register, tabel page/halaman, atau tabel
segmen tergantung pada sistem memori yang digunakan oleh sistem operasi.
05.) Informasi pencatatan.
Informasi
ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun
jumlah job atau proses, dan banyak lagi.
06.) Informasi status I/O.
Informasi
termasuk daftar dari perangkat I/O yang di
gunakan pada proses ini, suatu daftar berkas-berkas
yang sedang diakses dan banyak lagi.
07.) PCB hanya berfungsi sebagai tempat
penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang
lain.
C. Elemen-elemen dari
Process Control Block (PCB).
01.) Identifier.
Menjelaskan proses
yang sedang terjadi.
02.) State.
Kondisi
yang terjadi pada proses.
03.) Priority.
Urutan
perintah
yang jelas pada suatu proses.
04.) Program counter.
Instruksi
pada proses.
05.) Memory pointers.
Media
penyimpanan (penunjuk alamat) pada proses.
06.) Context
data.
Data
yang berkaitan dengan proses.
07.) I/O status information.
Terdapat masukan dan keluaran
yang diinginkan.
08.) Accounting information.
Memberikan
informasi yang dibutuhkan.
D. Macam-Macam Jenis
Status Proses.
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:
01.) Ready.
Adalah status dimana proses siap untuk dieksekusi pada giliran
berikutnya.
02.) Running.
Adalah status dimana saat ini proses sedang dieksekusi oleh prosesor.
03.) Blocked.
Adalah status dimana proses tidak dapat dijalankan pada saat prosesor
siap/bebas.
E. Tabel Proses Control
Block (PCB).
Sebuah
blok kontrol proses (PCB) berisi informasi
tentang proses,
yaitu register, kuantum,
prioritas, dll. Tabel
proses adalah array dari PCB, yang berarti secara logis
berisi PCB untuk semua proses
saat ini dalam sistem.
01.) Pointer.
Ini adalah penunjuk tumpukan yang diperlukan untuk disimpan ketika proses dialihkan dari satu keadaan
ke keadaan lain
untuk mempertahankan posisi saat ini dari proses.
02.) Status proses.
Menyimpan
status proses masing-masing.
03.) Nomor Proses.
Setiap proses
ditugaskan dengan id unik dikenal sebagai proses yang menyimpan pengidentifikasi proses.
04.) Penghitung program.
Menyimpan penghitung yang berisi alamat instruksi berikutnya yang akan dieksekusi untuk proses tersebut.
05.) Daftar.
Daftar merupakan register CPU
yang meliputi akumulator, basis, register
dan register tujuan umum.
06.) Batas memori.
Kolom
ini berisi informasi tentang sistem manajemen memori yang digunakan oleh sistem operasi. Ini mungkin termasuk tabel halaman, tabel
segmen, dll.
07.) Buka daftar file.
Informasi
ini termasuk daftar file yang dibuka untuk suatu proses.
Referensi.
- https://en.wikipedia.org/wiki/Process_control_block
- http://femmifirdausahdiat.blogspot.com/2012/09/pcb-process-control-block.html
- https://www.geeksforgeeks.org/operating-system-process-table-process-control-block-pcb/
- https://www.tutorialspoint.com/operating_system/os_processes.htm
- https://computer.howstuffworks.com/operating-system6.htm
Tidak ada komentar:
Posting Komentar