1 of 21

PROGRAM CONTROL BLOCK (PCB)

2 of 21

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 of 21

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.

4 of 21

Proses pemakai

5 of 21

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

6 of 21

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

7 of 21

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).

8 of 21

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.

 

9 of 21

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).

10 of 21

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.

 

11 of 21

Alasan penghancuran proses

12 of 21

13 of 21

14 of 21

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 ?

15 of 21

Kejadian-kejadian penyebab pengalihan proses

Kejadian-kejadian yang menyebabkan terjadinya alih proses adalah :

  1. Interupsi sistem

Tipe-tipeinterupsi antara lain :

a. Interupsi clock (clock interrupt)

b. Interupsi masukan/keluaran

c. Page/memory fault

16 of 21

2. Trap

Adalah interupsi karena terjadinya kesalahan atau kondisi kekecualian

(exception conditions) yang dihasilkan proses yang running, seperti usaha

illegal dalam mengakses file.

17 of 21

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.

18 of 21

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.

19 of 21

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.

20 of 21

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

21 of 21

TABEL PROSES