Bab 13 Pengelolaan Proses 2
Bab Bab 13 PENGELOLAAN PROSES 2 A. Seksi Kritis 1. Sumber daya eksklusif Ada sumber daya yang tidak eksklusif yakni dapat dipakai oleh lebih dari satu proses pada waktu yang sama Ada sumber daya yang eksklusif (atau mutually exclusive atau mutex) yakni pada suatu waktu hanya dapat dipakai oleh satu proses Sumber daya eksklusif dipakai secara bergantian oleh proses yang memerlukannya
Bab Hakikat seksi kritis Ada kalanya sumber daya eksklusif diperlukan oleh lebih dari satu proses Dalam hal ini, jika salah satu proses menggunakan sumber daya eksklusif itu, maka proses itu berada dalam seksi kritis Proses yang memperoleh R1 berada dalam seksi kritis R1 R5 R2 R6 R3 R7 R4 P2P1
Bab Persyaratan seksi kritis Syarat pertama Pada saat suatu proses bekerja dalam seksi kritis, tiada proses lain yang boleh bekerja dalam seksi kritis (yang sama) P1 P2 P3 P4 Dalam seksi kritis Tidak boleh dalam seksi kritis
Bab Syarat kedua Jika tiada proses yang sedang bekerja dalam seksi kritis serta ada beberapa proses yang memerlukan bekerja dalam seksi kritis, maka yang boleh mengikuti seleksi untuk masuk ke seksi kritis hanya proses yang sedang tidak mengerjakan pekerjaan lain P1 P7 P2 P3 P4 P5 P6 Sedang bekerja Tidak boleh ikut seleksi Sedang bekerja Boleh ikut seleksi untuk masuk ke seksi kritis Semua proses perlu masuk ke seksi kritis
Bab Syarat ketiga Untuk proses yang belum berhasil bekerja dalam seksi kritis, harus ada batas waktu baginya untuk dapat bekerja dalam seksi kritis P1 Seleksi, gagal Tidak boleh tanpa batas Harus ada batas
Bab Fungsi seksi kritis Mengelola sumber daya eksklusif pada peristiwa paut (agar penggunaan saling eksklusif dapat terlaksana) Mengatasi peristiwa pacuan (agar ubahan pada satu proses tidak dihilangkan oleh proses lain) Mengatasi peristiwa kelaparan (agar tidak ada proses yang harus menunggu tanpa batas waktu) Memerlukan algoritma untuk pelaksanaan seksi kritis
Bab Semafora Semafora berasal dari perkeretaapian Kereta api harus berhenti boleh jalan Semafora s = 0 s > 0 Digunakan pada seksi kritis dan kooperasi
Bab B. Algoritma Seksi Kritis 1. Strategi seksi kritis Ada sejumlah strategi yang digunakan untuk mengelola seksi kritis Beberapa di antara mereka adalah Kunci dan gembok Uji dan set Tunggu dan sinyal Penggunaan semafora Penggunaan monitor Semafora dapat juga digunakan untuk sinkronisasi dan kooperasi Seksi kritis selalu dilakukan dalam satu langkah agar jangan sampai proses lain ikut masuk
Bab Algoritma kunci dan gembok Sumber daya eksklusif dimisalkan sebagai ruang yang setiap kali hanya boleh dipakai oleh seseorang Ada kunci dan gembok untuk menutup dan membuka ruang itu Strategi Dalam satu langkah, proses mengambil kunci, masuk ke seksi kritis, dan menggembok (sehingga proses lain tidak dapat masuk) Prosedur (a) Melihat apakah kunci ada (bebas) (b) Jika ada, mengambil, membuka, dan masuk (c) Jika tidak ada, menunggu sampai ada (d) Selesai, membuka gembok, keluar dan mengembalikan kunci
Bab Algoritma Uji dan set Diperkenalkan oleh IBM untuk komputer sistem 360/370 Sumber daya eksklusif diuji apakah sedang dalam seksi kritis atau tidak Kalau dari uji diketahui sumber daya itu bebas maka proses masuk ke seksi kritis dan set (agar proses lain tidak dapat masuk) Strategi Dalam satu langkah, teruji bebas, masuk seksi kritis, dan set (agar proses lain tidak dapat masuk) Prosedur (a) uji apakah bebas (b) Jika bebas, masuk, dan set (c) Jika tidak bebas, tunggu sambil uji (d) Selesai, keluar dan set dicabut
Bab Untuk uji dan set digunakan bit 0 = bebas 1 = set (sibuk) Proses 1 menguji Jika 0 maka dalam satu langkah P1 masuk seksi kritis, dan mengubah status bit menjadi 1 Selesai maka dalam satu langkah P1 keluar dari seksi kritis, dan mengubah status bit menjadi 0 Jika 1 maka P1 menunggu dan terus me- nerus menguji (tunggu sibuk) Kelemahannya adalah proses itu akan terus menerus menguji (tunggu sibuk) menggunakan waktu prosesor
Bab Algoritma tunggu dan sinyal Merupakan modifikasi dari algoritma uji dan set untuk menghilangkan tunggu sibuk Status bit = 1 (sibuk) sinyal tunggu PCB menahan semua proses Status bit = 0 (bebas) sinyal bebas proses boleh masuk (periksa antrian, proses mana yang boleh masuk ke seksi kritis) Perlu ada algoritma antrian
Bab Penggunaan Semafora Dibicarakan terpisah 6. Penggunaan monitor Diciptakan oleh Hoare dan Brinch Hansen Monitor adalah kumpulan prosedur, variabel, dan struktur data dalam satu modul Dengan memilih salah satu monitor maka seksi kritis dapat dikelola dengan betul
Bab C. Operasi Semafora Pada Seksi Kritis 1. Jenis semafora Dikemukakan oleh Dijkstra pada tahun 1967 terdiri atas dua jenis Semafora biner hanya memiliki dua nilai 0 dan 1 Semafora cacah (counting semaphore) memiliki banyak nilai yang dicacah misalnya sampai n Seksi kritis menggunakan semafora biner dan ada kalanya disebut mutex (mutual eksclusive) untuk sumber daya yang eksklusif Proses kooperatif menggunakan semafora cacah
Bab Probeeren dan Verhogen Dijkstar menggunakan istilah probeeren (P) dan verhogen (V) pada semafora (a) Probeeren (P) Bahasa Belanda berarti mencoba (mencakup passeer, probeer, pakken) Ada kalanya diartikan sebagai probeeren te verlagen atau prolaag (percobaan untuk merendahkan) Dalam algoritma P(s) berarti s:= s – 1
Bab (b) Verhogen Bahasa Belanda meninggikan (menaikkan semafora agar kereta api boleh jalan) Dalam algoritma V(s) berarti s := s + 1 (c) Pada semafora biner Ketika s = 1 maka P(s) menyebabkan s := s – 1 := 0 Ketika s = 0 maka V(s) menyebabkan s := s + 1 := 1
Bab Seksi kritis dengan semafora s = 0 proses tidak dapat masuk ke seksi kritis s = 1 proses dapat masuk ke seksi kritis dan sekaligus mengubah s menjadi 0 melalui operasi P proses lain tidak dapat masuk setelah selesai, proses keluar dari seksi kritis dan sekaligus mengubah s menjadi 1 melalui operasi V proses lain dapat memasuki seksi kritis
Bab Contoh Usaha Hasil Nomor Proses Operasi Dalam sek- Ditahan Nilai status mencoba si kritis oleh s s P1 P(s) P1 0 2 P1 V(s) 1 3 P2 P(s) P2 0 4 P3 P(s) P2 P3 0 5 P4 P(s) P2 P3, P4 0 6 P2 V(s) P3 P4 0 7 P3 P4 0 8 P3 V(s) P4 0 9 P4 V(s) 1 Ada kalanya s diganti mutex sehingga P(s) = P(mutex) V(s) = V(mutex)
Bab Keterangan Status 0: s = 1, siap masuk seksi kritis Status 1: P1 masuk, P(s): s = 0 cegah proses lain masuk Status 2: P1 keluar, V(s): s = 1 Status 3: P2 masuk, P(s): s = 0, cegah proses lain masuk Status 4: P3 mencoba, P(s): s = 0, gagal, P3 ditahan Status 5: P4 mencoba, P(s): s = 0, gagal, P4 ditahan Status 6: P2 keluar, V(s): s = 1; P3 masuk, P(s): s = 0 cegah proses lain masuk Status 7: Tetap seperti status 6 Status 8: P3 keluar V(s): s = 1; P4 masuk, P(s): s = 0 cegah proses lain masuk Status 9: P4 keluar, V(s): s = 1, siap masuk seksi kritis
Bab D. Operasi Semafora Pada Proses Kooperatif 1. Kooperasi antara proses Dua proses dapat bekerja secara kooperatif Dalam hal ini, kondisi satu proses memungkinan proses lainnya bekerja Contoh proses kooperatif Produsen dan konsumen Penulis dan pembaca Tempat di pesawat dan penumpang Sebagai contoh digunakan produsen dan konsumen dengan ukuran penampungan produksi sebesar n
Bab Produsen dan Konsumen Dalam kooperasi ini, di satu pihak terdapat produsen dan di pihak lain terdapat konsumen Kooperasi: Hasil produsen dipakai oleh konsumen dengan daya tampung sebesar n Semafora cacah dengan s = 0, 1, 2, 3, …, n produsen konsumen
Bab Batas kooperasi Pada proses kooperatif, produsen dan konsumen memiliki keterbatasan Produsen : Produsen menghasilkan produksi. Jika wadah penuh, produksi harus berhenti Konsumen: Konsumen memakai produksi. Jika wadah kosong, pemakai harus berhenti Ada dua semafora cacah Semafora penuh P(penuh) dan V(penuh) s = 0, 1, 2, 3, …, n Semafora kosong P(kosong) dan V(kosong) s = 0, 1, 2, 3, …, n
Bab Operasi semafora P dan V P(penuh) Penuh := penuh – 1 V(penuh) Penuh := penuh + 1 P(kosong) Kosong := kosong – 1 V(kosong) Kosong := kosong + 1 Produsen menambah produksi (sampai n) Kosong dikurangi P(kosong) Penuh ditambah V(penuh) Konsumen mengurangi produksi (sampai 0) Kosong ditambah V(kosong) Penuh dikurangi P(penuh)
Bab Algoritma Produsen Berproduksi P(kosong) sampai 0 Letakkan produksi di wadah V(penuh) sampai n Konsumen Pakai produksi P(penuh) sampai 0 V(kosong) sampai n
Bab E. Komunikasi Antara Proses 1. Model Komunikasi Proses dapat berkomunikasi di antara mereka yakni proses satu berkomunikasi dengan proses lain Ada dua model komunikasi Memori bersama (shared memory) Penerusan pesan (message passing) Diperlukan aturan untuk melangsungkan komunikasi di antara proses Aturan untuk memori bersama dan aturan untuk penerusan pesan
Bab Model komunikasi memori bersama Ada bagian memori dan ada variabel yang digunakan untuk komunikasi antara proses Semua proses yang berkomunikasi mengakses bagian memori dan variabel itu Data yang dibuat oleh satu proses digunakan oleh proses lainnya Diperlukan aturan untuk menulis data dan diperlukan aturan untuk menggunakan data yang dikomunikasikan itu Contoh: program dan pencetak (bagian memori adalah penampung). Program meletakkan cetakan di memori penampung, pencetak mengambilnya dari memori penampung untuk dicetak
Bab Memori bersama P1 P2 Memori
Bab Model penerusan pesan Ada beberapa sistem penerusan pesan, mecakup Komunikasi langsung atau tak langsung Komunikasi simetris atau asimetris (a) Komunikasi langsung Satu ke satu, misalnya, P ke Q. Boleh pakai tanda terima dan boleh juga tidak pakai tanda terima Satu ke banyak dan banyak ke satu
Bab (b) Komunikasi tak langsung Menggunakan kotak surat untuk menampung pesanan Perlu menentukan kapasitas kotak surat Satu ke satu, misalnya, di antara P dan Q Satu ke banyak dan banyak ke satu Mirip dengan (c) Komunikasi simetris dan asimetris Komunikasi simetris berlangsung dua arah Komunikasi asimetris berlangsung satu arah
Bab Komunikasi langsung P1 P2 P1 simetri asimetri Satu ke banyak
Bab Komunikasi tak langsung P1 P2 Kotak surat Kotak surat