BAB 4
PROSES
Pengertian
Merupakan konsep pokok dalam sistem operasi, sehingga masalah manajemen proses adalah masalah utama dalam perancangan sistem operasi.
Proses adalah program yang sedang dieksekusi.
Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi.
Prinsip
Independent, artinya program-program tersebut berdiri sendiri, terpisah dan saling tidak bergantung.
One program at any instant, artinya hanya terdapat satu proses yang dilayani pemroses pada satu saat.
Pengendalian proses
Saling melanjutkan (interleave)
Sistem operasi harus dapat kembali melanjutkan proses setelah melayani proses lain.
Kebijaksaan tertentu
Sistem operasi harus mengalokasikan sumberdaya ke proses berdasar prioritasnya.
Komunikasi antar proses dan penciptaan proses
Sistem operasi harus mendukung komunikasi dan penciptaan antar proses (menstrukturkan aplikasi).
Status (state) proses
No | State | Deskripsi |
1 | Running | Pemroses sedang mengeksekusi instruksi proses itu |
2 | Ready | Proses siap dieksekusi, tetapi pemroses tidak tersedia untuk eksekusi proses ini |
3 | Blocked | Proses menunggu kejadian untuk melengkapi tugasnya Contoh : a. Selesainya operasi perangkat masukan/keluaran b. Tersedianya memori c. Tibanya pesan jawaban d. Dan sebagainya |
Diagram tiga state dasar proses�
Penjelasan diagram :�
1. Proses yang baru diciptakan akan mempunyai state ready.
2. Proses berstate running menjadi blocked, karena sumber daya yang diminta belum tersedia atau meminta layanan perangkat masukan/keluaran, sehingga menunggu kejadian muncul. Proses menunggu kejadian alokasi sumber daya atau selesainya layanan perangkat masukan/keluaran (event wait).
3. Proses berstate running menjadi ready, karena penjadwal memutuskan eksekusi proses lain karena jatah waktu untuk proses tersebut telah habis (time out).
4. Proses berstate blocked menjadi ready saat sumber daya yang diminta/diperlukan telah tersedia atau layanan perangkat masukan/keluaran selesai(event occurs).
5. Proses berstate ready menjadi running, karena penjadwal memutuskan penggunaan pemroses utnuk proses itu karena proses yang saat itu running berubah statenya (menjadi ready ata blocked) atau telah menyelesaikan sehingga disingkirkan dari sistem. Proses menjadi mendapatkan jatah pemroses.
Diagram state lanjut
Penundaan (suspend) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduk di beban sistem selama beban puncak.
Proses yang ditunda (suspended blocked) tidak berlanjut sampai proses lain meresume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan (dilucuti). Keputusan membebaskan sumber daya-sumber daya bergantung sifat masing-masing sumber daya.
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.
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
Diskusi Kelompok
TUGAS ANDA�(Implementasi Proses dan PCB)
Ceritakan dengan Bahasa anda sendiri implementasi proses :
Pilih minimal 2 implementasi
Kumpulkan dalam bentuk .pdf
THANK YOU