Bab 13
-
Upload
orson-roth -
Category
Documents
-
view
42 -
download
1
description
Transcript of Bab 13
![Page 1: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/1.jpg)
Bab 13
Pengelolaan Proses 2
![Page 2: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/2.jpg)
------------------------------------------------------------------------------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
![Page 3: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/3.jpg)
------------------------------------------------------------------------------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
R5
R2
R6
R3
R7
R4
P2P1
![Page 4: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/4.jpg)
------------------------------------------------------------------------------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
P2
P3
P4
Dalam seksi kritis
Tidak boleh dalam seksi kritis
![Page 5: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/5.jpg)
------------------------------------------------------------------------------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
P7
P2
P3
P4
P5
P6
Sedang bekerja Tidak boleh ikut seleksi
Sedang bekerja
Sedang bekerja
Boleh ikut seleksi untuk masuk ke seksi kritis
Semua proses perlu masuk ke seksi kritis
![Page 6: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/6.jpg)
------------------------------------------------------------------------------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
Seleksi, gagal
Seleksi, gagal
Tidak boleh tanpa batas
Harus ada batas
![Page 7: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/7.jpg)
------------------------------------------------------------------------------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
![Page 8: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/8.jpg)
------------------------------------------------------------------------------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
![Page 9: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/9.jpg)
------------------------------------------------------------------------------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
![Page 10: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/10.jpg)
------------------------------------------------------------------------------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
• StrategiDalam 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
![Page 11: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/11.jpg)
------------------------------------------------------------------------------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)
• StrategiDalam 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
![Page 12: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/12.jpg)
------------------------------------------------------------------------------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
![Page 13: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/13.jpg)
------------------------------------------------------------------------------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
![Page 14: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/14.jpg)
------------------------------------------------------------------------------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
![Page 15: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/15.jpg)
------------------------------------------------------------------------------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
![Page 16: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/16.jpg)
------------------------------------------------------------------------------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
![Page 17: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/17.jpg)
------------------------------------------------------------------------------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
![Page 18: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/18.jpg)
------------------------------------------------------------------------------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
![Page 19: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/19.jpg)
------------------------------------------------------------------------------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)
![Page 20: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/20.jpg)
------------------------------------------------------------------------------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
![Page 21: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/21.jpg)
------------------------------------------------------------------------------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
![Page 22: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/22.jpg)
------------------------------------------------------------------------------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
![Page 23: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/23.jpg)
------------------------------------------------------------------------------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
![Page 24: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/24.jpg)
------------------------------------------------------------------------------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)
![Page 25: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/25.jpg)
------------------------------------------------------------------------------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
![Page 26: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/26.jpg)
------------------------------------------------------------------------------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
![Page 27: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/27.jpg)
------------------------------------------------------------------------------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
![Page 28: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/28.jpg)
------------------------------------------------------------------------------Bab 13
------------------------------------------------------------------------------
Memori bersama
P1
P2Memori
![Page 29: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/29.jpg)
------------------------------------------------------------------------------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
![Page 30: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/30.jpg)
------------------------------------------------------------------------------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
![Page 31: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/31.jpg)
------------------------------------------------------------------------------Bab 13
------------------------------------------------------------------------------
Komunikasi langsung
P1 P2
P2P1
P1
simetri
asimetri
Satu ke banyak
![Page 32: Bab 13](https://reader036.fdocument.pub/reader036/viewer/2022062421/56812acd550346895d8ea2e6/html5/thumbnails/32.jpg)
------------------------------------------------------------------------------Bab 13
------------------------------------------------------------------------------
Komunikasi tak langsung
P1 P2Kotak surat
Kotaksurat