320 likes | 444 Views
Bab 13. Pengelolaan Proses 2. ------------------------------------------------------------------------------ Bab 13 ------------------------------------------------------------------------------. Bab 13 PENGELOLAAN PROSES 2 A. Seksi Kritis 1. Sumber daya eksklusif
E N D
Bab 13 Pengelolaan Proses 2
------------------------------------------------------------------------------Bab 13------------------------------------------------------------------------------ • 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 13------------------------------------------------------------------------------ 2. 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 R2 R3 R4 R5 P1 P2 R6 R7
------------------------------------------------------------------------------Bab 13------------------------------------------------------------------------------ 3. 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 Dalam seksi kritis P2 Tidak boleh dalam seksi kritis P3 P4
------------------------------------------------------------------------------Bab 13------------------------------------------------------------------------------ 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 Sedang bekerja Tidak boleh ikut seleksi Semua proses perlu masuk ke seksi kritis P2 Sedang bekerja P3 Sedang bekerja P4 Boleh ikut seleksi untuk masuk ke seksi kritis P5 P6 P7
------------------------------------------------------------------------------Bab 13------------------------------------------------------------------------------ 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 Seleksi, gagal Harus ada batas Seleksi, gagal Seleksi, gagal Tidak boleh tanpa batas
------------------------------------------------------------------------------Bab 13------------------------------------------------------------------------------ 4. 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 13------------------------------------------------------------------------------ 5. Semafora • Semafora berasal dari perkeretaapian Kereta api Kereta api harus berhenti boleh jalan Semafora Semafora s = 0 s > 0 • Digunakan pada seksi kritis dan kooperasi
------------------------------------------------------------------------------Bab 13------------------------------------------------------------------------------ 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 13------------------------------------------------------------------------------ 2. 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 13------------------------------------------------------------------------------ 3. 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 13----------------------------------------------------------------------------- • 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 13------------------------------------------------------------------------------ 4. 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 13------------------------------------------------------------------------------ 5. 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 13------------------------------------------------------------------------------ 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 13------------------------------------------------------------------------------ 2. 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 13------------------------------------------------------------------------------ (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 13------------------------------------------------------------------------------ 3. 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 13------------------------------------------------------------------------------ Contoh Usaha Hasil Nomor Proses Operasi Dalam sek- Ditahan Nilai status mencoba si kritis oleh s s 0 1 1 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 13------------------------------------------------------------------------------ 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 13------------------------------------------------------------------------------ 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 13------------------------------------------------------------------------------ • 2. 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 13------------------------------------------------------------------------------ 3. 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 13------------------------------------------------------------------------------ 4. 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 13------------------------------------------------------------------------------ 6. 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 13------------------------------------------------------------------------------ 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 13------------------------------------------------------------------------------ 2. 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 13------------------------------------------------------------------------------ Memori bersama P1 Memori P2
------------------------------------------------------------------------------Bab 13------------------------------------------------------------------------------ 3. 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 13------------------------------------------------------------------------------ (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 e-mail (c) Komunikasi simetris dan asimetris • Komunikasi simetris berlangsung dua arah • Komunikasi asimetris berlangsung satu arah
------------------------------------------------------------------------------Bab 13------------------------------------------------------------------------------ Komunikasi langsung P1 P2 simetri P1 P2 asimetri P1 Satu ke banyak
------------------------------------------------------------------------------Bab 13------------------------------------------------------------------------------ Komunikasi tak langsung P1 P2 Kotak surat Kotak surat