Process
Control Block (PCB)
Sebagai pendahuluan kita harus mengenal dulu apa itu Sistem
Operasi,Sistem Operasi adalah seperangkat program yang mengelola sumber daya
perangkat keras komputer, dan menyediakan layanan umum untuk aplikasi perangkat
lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak
sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat
menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi
booting.
Sistem operasi mempunyai penjadwalan yang sistematis
mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan
sumber daya lainnya.Untuk fungsi-fungsi perangkat keras seperti sebagai masukan
dan keluaran dan alokasi memori, sistem operasi bertindak sebagai perantara
antara program aplikasi dan perangkat keras komputer,meskipun kode aplikasi
biasanya dieksekusi langsung oleh perangkat keras dan seringkali akan
menghubungi OS atau terputus oleh itu. Sistem operasi yang ditemukan pada
hampir semua perangkat yang berisi komputer-dari ponsel dan konsol permainan
video untuk superkomputer dan server web.
Contoh sistem operasi modern adalah Linux, Android, iOS, Mac
OS X, dan Microsoft Windows.
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.
Kami tekankan bahwa 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.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah
PCB (Process Control Block) yang memuat informasi tentang proses tersebut,
yaitu: 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 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).
Proses
control block
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:
1.Pointer merupakan petunjuk yang dinamis dimana suatu peubah yang akan dialokasikan hanya pada saat diperlukan.
1.Pointer merupakan petunjuk yang dinamis dimana suatu peubah yang akan dialokasikan hanya pada saat diperlukan.
2.Status
proses
a. New
adalah status yang dimiliki pada saat proses baru saja dibuat.
b.
Ready adalah status yang dimiliki pada saat
proses siap untuk dieksekusi oleh prosesor.
c.
Running adalah status yang dimiliki pada saat
intruksi-intruksi dari sebuah proses eksekusi.
d.
Waiting adalah status yang dimiliki pada saat
proses menunggu sebuah event seperti proses input/output.
3.Program
counter
adalah suatu stack yang berisi alamat dari instruksi
selanjutnya untuk dieksekusi untuk proses ini.
4.CPU
register
Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan
komputer. Register tersebut termasuk accumulator, register indeks,stack pointer, general-purposes register, ditambah code
information pada kondisi apa pun. Beserta dengan program counter, keadaan/status informasi harus disimpan ketika gangguan terjadi, untuk
memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.
5.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.
.
6.Informasi
pencatatan
Informasi ini termasuk jumlah dari CPU dan waktu riil yang
digunakan, batas waktu, jumlah akun jumlah job atau proses, dan sebagainya.
7.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 sebagainya.
8.PCB
hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari
proses yang satu dengan yang lain.
Elemen-elemen dari PCB itu sendiri adalah :
Identifikasi Proses yaitu Identifier numerik
yang meliputi
1.
Identifier proses
2.
Identifier proses yang menciptakan
3.
Identifier pemakai
Informasi Status Pemroses yang meliputi
·
Register-register yang terlihat pemakai yaitu
Register-register yang dapat ditunjuk instruksi bahasa assembly untuk diproses
pemroses
·
Register-register kendali dan status yaitu
Register-register yang digunakan untuk mengendalikan operasi pemroses :
1.
Program counter
2.
PSW, dsb.
·
Pointer stack yaitu tiap proses mempunyai
satu stack atau lebih. Stack digunakan untuk parameter atau alamat prosedur
pemanggil dan system call. Pointer stack menunjuk posisi paling atas dari stack
Informasi Kendali Pemroses meliputi
Informasi penjadwalan dan status yaitu
Informasi-informasi yang dipakai untuk menjalankan fungsi penjadwalan :
1.
Status proses. Mendefinisikan status proses (running,ready,block,
dsb).
2.
Prioritas. Menjelaskan prioritas proses.
3.
Informasi berkaitan penjadwalan. Informasi
ini seperti lama menunggu, lama proses terakhir dieksekusi dsb.
4.
Kejadian (Event). Identitas kejadian
yang ditunggu proses.
§ Penstrukturan
data yaitu suatu proses dapat dikaitkan dengan proses lain dalam satu antrian
atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk
mendukung struktur ini.
§ Komunikasi
antar proses yaitu beragam flag, sinyal dan pesan dapat diasosiasikan dengan
komunikasi antara dua proses yang terpisah. Informasi ini disimpan dalam PCB.
§ Kewenangan
proses yaitu proses dapat mempunyai kewenangan berkaitan dengan memori dan tipe
instruksi yang dapat dijalankan.
§ Manajemen
memori bagian ini berisi pointer ke tabel segmen atau page yang
menyatakan memori virtual proses.
§ Kepemilikan
dan utilisasi sumber daya yaitu sumber daya yang dikendalikan proses harus
diberi. tanda, misalnya :
1.
Berkas yang dibuka
2.
Pemakaian pemroses
3.
Pemakaian sumberdaya lainnya
Adapun proses-proses yang terjadi pada PCB adalah:
·
Mutual Exclusion adalah jaminan bahwa hanya satu proses yang mengakses sumber daya pada
suatu interval waktu tertentu.
·
Deadlock adalah proses tunggu dimana proses tersebut tidak pernah terjadi.
Deadlock biasa juga disebut
hang.
·
Stravation situasi dimana proses-proses menunggu secara tidak
tentu dengan menggunakan semaphore. Semaphore adalah pendekatan dimana dua atau
lebih dapat bekerjasama menggunakan penanda-penanda sederhana.
·
Strategi preemtive yaitu suatu strategi dimana proses yang sedang
dieksekusi dapat diambil alih oleh proses lain.
·
Strategi Non Preemtive yaitu suatu strategi dimana proses sedang
di eksekusi, maka proses tidak dapat dihentikan atau diambil alih oleh proses
lain.
·
Multiprocessing system yaitu dapat menjalankan beberapa proses
dalam waktu yang bersamaan.
·
Multiprogramming yaitu menjalankan suatu program dalam waktu yang
bersamaan.
Daftar
Pustaka
infonya sangat berguna bagi ane
solder infrared