Bab 13

32
Bab 13 Pengelolaan Proses 2

description

Bab 13. Pengelolaan Proses 2. ------------------------------------------------------------------------------ Bab 13 ------------------------------------------------------------------------------. Bab 13 PENGELOLAAN PROSES 2 A. Seksi Kritis 1. Sumber daya eksklusif - PowerPoint PPT Presentation

Transcript of Bab 13

Page 1: Bab 13

Bab 13

Pengelolaan Proses 2

Page 2: Bab 13

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

------------------------------------------------------------------------------Bab 13

------------------------------------------------------------------------------

Memori bersama

P1

P2Memori

Page 29: Bab 13

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

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

------------------------------------------------------------------------------Bab 13

------------------------------------------------------------------------------

Komunikasi langsung

P1 P2

P2P1

P1

simetri

asimetri

Satu ke banyak

Page 32: Bab 13

------------------------------------------------------------------------------Bab 13

------------------------------------------------------------------------------

Komunikasi tak langsung

P1 P2Kotak surat

Kotaksurat