PROGRAM CONTROL BLOCK (PCB)
Informasi dalam PCB :
1. Informasi identifikasi proses
a. Identifier proses
b. Identifier proses yang menciptakan
c. Identifier pemakai
2. Informasi status pemroses
a. Register-register yang terlihat pemakai
b. Register-register kendali dan status
c. Pointer stack
3. Informasi kendali proses
a. Informasi penjadwalan dan status
a.1 Status proses
a.2 Prioritas
a.3 Informasi berkaitan dengan penjadwalan
a.4 Kejadian
b. Penstrukturan data
c. Komunikasi antar proses
d. Manajemen memori
e. Kepemilikan dan utilisasi sumber daya
Sumber daya yang dikendalikan proses harus diberi tanda, misalnya :
e.1 Berkas yang dibuka
e.2 Pemakain pemroses
e.3 Pemakaian sumber daya lainnya
Informasi ini diperlukan oleh penjadwal.
Proses pemakai
Operasi-operasi pada proses�
Sistem operasi dalam mengelola proses dapat melakukan operasi-operasi
terhadap proses.
Operasi tersebut adalah :
a. Penciptaan proses
b. Penghancuran/terminasi proses
c. Penundaan proses
d. Pelanjutan kembali proses
e. Pengubahan prioritas proses
f. Memblok proses
g. Membangunkan proses
h. Menjadwalkan proses
i. Memungkinkan proses berkomunikasi dengan proses lain
Penciptaan proses
Melibatkan banyak aktivitas, yaitu :
a. Memberi identitas proses
b. Menyisipkan proses pada senarai atau tabel proses
c. Menentukan prioritas awal proses
d. Menciptakan PCB
e. Mengalokasikan sumber daya awal bagi proses
Kejadian
Kejadian yang dapat menyebabkan penciptaan proses :
a. Pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja (job)
b. Pada lingkungan interaktif, ketika pemakai baru berusaha logon.
c. Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file,
sistem operasi dapat menciptakan proses yang akan mengelola pencetakan itu.
d. Proses penciptaan proses lain (proses anak).
Tahap-tahap penciptaan proses�
Penciptaan proses dapat disebabkan beragam sebab. Penciptaan proses meliputi
beberapa tahap :
1. Beri satu identifier unik ke proses baru. Isian baru ditambahkan ke tabel proses utama yang berisi satu isian perproses.
2. Alokasikan ruang untuk proses.
3. PCB harus diinisialisasi.
4. Kaitan-kaitan antar tabel dan senarai yang cocok dibuat.
5. Bila diperlukan struktur data lain maka segera dibuat struktur data itu.
Penghancuran proses
Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :
a. Sumber daya-sumber daya yang dipakai dikembalikan.
b. Proses dihancurkan dari senarai atau tabel sistem.
c. PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).
Terdapat dua pendekatan, yaitu :
a. Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk
dihancurkan secara otomatis.
b. Beberapa sistem lain menganggap proses anak independen terhadap proses
induk, sehingga proses anak tidak secara otomatis dihancurkan saat proses
induk dihancurkan.
Alasan penghancuran proses
Pengalihan proses�
Kelihatannya pengalihan proses (process switching) adalah sepele. Pada suatu saat, proses running diinterupsi dan sistem operasi memberi proses lain state running dan menggilir kendali ke proses itu.
Dalam hal ini muncul beberapa masalah, yaitu :
1. Kejadian-kejadian apa yang memicu alih proses ?
2. Masalah lain adalah terdapatnya perbedaan antara alih proses (process
switching) dan alih konteks (context switching).
3. Apa yang harus dilakukan sistem operasi terhadap beragam struktur data
yang dibawah kendalinya dalam alih proses ?
Kejadian-kejadian penyebab pengalihan proses�
Kejadian-kejadian yang menyebabkan terjadinya alih proses adalah :
Tipe-tipeinterupsi antara lain :
a. Interupsi clock (clock interrupt)
b. Interupsi masukan/keluaran
c. Page/memory fault
2. Trap
Adalah interupsi karena terjadinya kesalahan atau kondisi kekecualian
(exception conditions) yang dihasilkan proses yang running, seperti usaha
illegal dalam mengakses file.
Dengan trap, sistem operasi menentukan apakah kesalahan yang dibuat
merupakan kesalahan fatal ?
a. Jika fatal, proses yang saat itu running disingkirkan dan terjadi alih
proses.
b. Jika kesalahan tidak fatal maka bergantung sifat kesalahan dan
rancangan sistem operasi.
3. Supervisor call
Yaitu panggilan meminta atau mengaktifkan bagian sistem operasi.
Pengalihan konteks�
1. Pemroses menyimpan konteks program saat itu yang sedang dieksekusi ke
stack.
2. Pemroses menset register PC dengan alamat awal program untuk interuppet
handler.
Pengalihan proses
Pengalihan proses terjadi jika proses yang running beralih menjadi state lain (ready, blocked) kemudian sistem operasi membuat perubahan-perubahan berarti terhadap lingkungan.
Langkah-langkah yang terlibat dalam pengalihan proses sebagai berikut :
1. Simpan konteks pemroses, termasuk register PC dan register-register lain.
2. Perbarui PCB proses yang running.
3. Pindahkan PCB proses ke senarai yang cocok (ready, blocked).
4. Pilih satu proses lain untuk dieksekusi sesuai dengan teknik penjadwalan.
5. Perbarui PCB proses yang dipilih termasuk perubahan state menjadi running.
6. Perbarui struktur-struktur data manajemen memori. Pekerjaan ini sesuai
dengan pengelolaan translasi alamat.
7. Kembalikan konteks pemroses dengan konteks simpanan yang memberitahu
konteks proses terakhir saat dialihkan dari state running.
Tabel-tabel proses�
Tiap proses mempunyai state yang perlu diperhatikan sistem operasi yang dicatat dalam beragam tabel atau senarai yang saling berhubungan, yaitu :
a. Tabel informasi manajemen memori
a.1 Alokasi memori utama yang dipakai proses.
a.2 Alokasi memori sekunder yang dipakai proses (menggunakan manajemen memori dengan swapping).
a.3 Atribut segmen memori utama dan sekunder.
a.4 Informasi-informasi lain yang digunakan untuk pengelolaan memori.
b. Tabel informasi manajemen masukan/keluaran
c. Tabel informasi sistem file
d. Tabel proses
TABEL PROSES