Bab 12

40
Bab 12 Pengelolaan Proses 1

description

Bab 12. Pengelolaan Proses 1. ------------------------------------------------------------------------------ Bab 12 ------------------------------------------------------------------------------. Bab 12 PENGELOLAAN PROSES 1 A. Proses dan Pengelolaannya 1. Sumber Daya dan Proses - PowerPoint PPT Presentation

Transcript of Bab 12

Page 1: Bab 12

Bab 12

Pengelolaan Proses 1

Page 2: Bab 12

------------------------------------------------------------------------------Bab 12

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

Bab 12

PENGELOLAAN PROSES 1

A. Proses dan Pengelolaannya

1. Sumber Daya dan Proses

• Sumber daya

Sumber daya adalah bagian komputer seperti prosesor, memori, alat masukan-keluaran, dan berkas

Dapat saja terdapat lebih dari satu sumber daya tertentu, misalnya, ada 4 pencetak atau 3 berkas program

Page 3: Bab 12

------------------------------------------------------------------------------Bab 12

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

2. Proses

• Proses (dibedakan dengan prosesor) adalah kegiatan di dalam komputer yang menggunakan sumber daya

• Proses dapat menggunakan lebih dari satu sumber daya

Misalnya, proses pencetakan naskah memerlukan sumber daya berkas program, berkas naskah, dan pencetak (printer)

• Pada saat sumber daya dipakai oleh suatu proses maka sumber daya itu terpaut (lock) ke proses tersebut

• Beberapa sumber daya dapat terpaut pada suatu proses tertentu

Page 4: Bab 12

------------------------------------------------------------------------------Bab 12

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

3. Lambang dan Pautan

Untuk ilustrasi, proses dan sumber daya diberikan lambang tertentu

• Lambang proses dan sumber daya

• Proses dilambangkan sebagai lingkaran

• Sumber daya dilambangkan sebagai persegi dengan banyaknya titik menunjukkan banyaknya perangkat sumber daya itu

1 Proses 1

•••

Sumber daya dan jumlahnyadi sini ada 3 perangkat

Page 5: Bab 12

------------------------------------------------------------------------------Bab 12

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

• Proses memerlukan sumber daya (belum dapat)

• Sumber daya terpaut ke proses (sudah dapat)

• Arah panah dari proses ke sumber daya menunjukkan bahwa proses memerlukan sumber daya itu

• Arah panah dari sumber daya ke proses menunjukkan bahwa sumber daya itu sudah terpaut ke proses

Page 6: Bab 12

------------------------------------------------------------------------------Bab 12

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

4. Pautan Proses dan Sumber Daya

Pautan di antara proses dan sumber daya dapat ditampilkan dalam bentuk lambang

• Satu proses dengan beberapa sumber daya

misalkan R1 adalah berkas naskah

R2 adalah program olah kata

R3 disk

R4 pencetak

P1

••••

R1 R2 R3 R4

Page 7: Bab 12

------------------------------------------------------------------------------Bab 12

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

• Satu sumber daya dengan beberapa proses

misalkan R1 adalah printer

P1 adalah pemakai 1

P2 adalah pemakai 2

P3 adalah pemakai 3

••••

P1 P2 P3

R1

Page 8: Bab 12

------------------------------------------------------------------------------Bab 12

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

• Pautan untuk beberapa proses dengan beberapa sumber daya

• Proses P1, P2, dan P3 memerlukan sumber daya R1, R2, R3, R4, dan R5

• Ada kalanya sumber daya tidak cukup jumlahnya untuk melayani keperluan dari proses

P1 P2 P3

••• •• ••••••

••••

R1 R2 R3 R4 R5

Page 9: Bab 12

------------------------------------------------------------------------------Bab 12

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

5. Paut Hidup (live lock) dan Paut Buntu (dead lock)

• •

P2

••

•••

P1 P3

R1

R2

R3

R4

P1 P2

R1

R2

Paut hidup

Paut buntu

Page 10: Bab 12

------------------------------------------------------------------------------Bab 12

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

Pada paut hidup

• Pada paut hidup, pengelolaan dapat terus berlangsung sampai selesai

• Mula-mula, P3 dikerjakan sampai selesai sehingga R3 dapat dibebaskan

• Dengan R3 bebas, P2 dapat dikerjakan sampai selesai sehingga R1 bebas

• Dengan R1 bebas, P1 dapat dikerjakan sampai selesai

Pada paut buntu

• Pengelolaan terhenti, tidak ada yang dapat dikerjakan

• Berkaitan dengan pengalokasian sumber daya

Page 11: Bab 12

------------------------------------------------------------------------------Bab 12

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

5. Penggunaan sumber daya

Penggunaan bersama

• Ada sumber daya yang dapat digunakan bersama pada waktu yang sama oleh beberapa proses

• Berkas data (sumber daya), misalnya, dapat dibaca oleh lebih dari satu pemakai (proses) pada waktu yang sama

Penggunaan eksklusif

• Ada sumber daya yang pada waktu yang sama tidak dapat dipakai oleh lebih dari satu proses

• Ada yang dapat digunakan bergantian oleh berbagai proses seperti halnya pencetak

• Ada yang seterusnya tidak dapat digunakan oleh proses lain seperti halnya berkas pribadi

Page 12: Bab 12

------------------------------------------------------------------------------Bab 12

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

B. Paut Butu dan Pengelolaannya

1. Kondisi terjadinya paut buntu

(a) Sumber daya saling eksklusif

(Pada suatu saat hanya boleh dipakai oleh satu proses)

(b) Penahanan sumber daya

(Proses mempertahankan sumber daya yang sudah diperolehnya)

(c) Tiada penggusuran atau preempsi

(Tiada proses yang dapat digusur)

(d) Terjadi tunggu melingkar

(Proses saling menunggu dalam lingkaran)

Paut buntu terjadi jika semua kondisi terjadi

P1 P2

R1

R2

Page 13: Bab 12

------------------------------------------------------------------------------Bab 12

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

Penanggulangan paut buntu

• Apabila terjadi paut buntu maka paut buntu ini perlu ditanggulangi

• Ada tiga cara penanggulangan yakni

Pencegahan (prevention)

Penghindaran (avoidance)

Penguraian (setelah dideteksi)

Prakarsa untuk penanggulangan

• Apa yang memprakarsai untuk melakukan penanggulangan

Tiap jam, tiap hari, tiap minggu?

Jika operator mencurigai ada paut buntu?

Jika ada pemakai yang mengeluh?

Page 14: Bab 12

------------------------------------------------------------------------------Bab 12

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

2. Pencegahan Paut Buntu

Paut buntu dapat dicegah apabila salah satu di antara 4 kondisi itu dapat dicegah

Alternatif pencegahan

• Pencegahan kondisi (a)Jika sumber daya dapat dipakai bersama, misalnya, penampung pada pencetak

• Pencegahan kondisi (b)Jika proses dapat diperintah untuk melepas sumber daya yang diperolehnya

• Pencegahan kondisi (c)Jika proses dapat digusur, seperti pada prosesor

• Pencegahan kondisi (d)Jika tidak terjadi tunggu melingkar

Page 15: Bab 12

------------------------------------------------------------------------------Bab 12

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

Pencegahan Cara Havender

Havender mengemukakan cara untuk mencegah kondisi tunggu melingkar

• Jenis sumber daya diberi nomor urut

1 2 3 4 5 6 7 8 . . .

• Pemakaian sumber daya menurut nomor urut

Dari nomor kecil ke nomor besar; atau

Dari nomor besar ke nomor kecil

• Penggunaan nomor sumber daya hanya boleh satu arah (kecil ke besar) atau (besar ke kecil)

• Karena hanya satu arah maka tidak terjadi lingkaran

Page 16: Bab 12

------------------------------------------------------------------------------Bab 12

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

3. Penghindaran Paut Buntu

Algoritma Bank dari Dijkstra

• Algoritma Dijkstra meniru proses kredit di bank

• Sumber daya adalah uang dan proses adalah nasabah

• Asas kredit bank

(a) Tiada nasabah yang diberi kredit melampaui modal bank

(b) Semua nasabah diberi maksimum batas kredit

(c) Tiada nasabah yang boleh meminjam melampaui batas kredit

(d) Jumlah semua kredit tidak melampaui modal bank

Page 17: Bab 12

------------------------------------------------------------------------------Bab 12

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

• Status bank

(a) Status aman jika sisa uang di bank tidak kurang dari sisa kredit

(b) Status tidak aman jika sisa uang di bank tidak cukup untuk sisa kredit

• Penghindaran paut buntu

Penghindaran paut buntu hanya dapat dilaksanakan bila dapat dicari status aman

Pencarian status aman dilakukan melalui penggiliran nasabah dalam pengambilan kredit yakni berdasarkan nasabah yang membuat status aman

Jika tidak ada pilihan status aman maka terjadilah paut buntu

Page 18: Bab 12

------------------------------------------------------------------------------Bab 12

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

Contoh status aman

Nama Jumlah Kredit Sisa

nasabah kredit maksimum kredit

C1 0 4 000 4 000

C2 2 000 5 000 3 000

C3 4 000 8 000 4 000

Jumlah kredit : 6 000

Modal bank : 10 000

Sisa uang di bank : 10 000 – 6 000 = 4 000

Sisa kredit : terlayani

Status aman

Page 19: Bab 12

------------------------------------------------------------------------------Bab 12

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

Contoh status tidak aman

Nama Jumlah Kredit Sisa

nasabah kredit maksimum kredit

C1 2 000 4 000 2 000

C2 3 000 5 000 2 000

C3 4 000 8 000 4 000

Jumlah kredit : 9 000

Modal bank : 10 000

Sisa uang di bank : 10 000 – 9 000 = 1 000

Sisa kredit : tidak ada yang terlayani

Status tidak aman

Page 20: Bab 12

------------------------------------------------------------------------------Bab 12

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

Penerapan algoritma Dijkstra

Contoh status aman

Nama Perolehan Keperluan Sisa

proses RA RA keperluan

P0 5 10 5

P1 2 4 2

P2 2 9 7

Jumlah perolehan sumber daya RA : 9

Persediaan sumber daya RA : 12

Sisa sumber daya RA : 12 – 9 = 3

Status aman untuk P1

Status tidak aman untuk P0 dan P2

Urutan pengelolaan dimulai dari P1

Page 21: Bab 12

------------------------------------------------------------------------------Bab 12

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

Pengelolaan dilakukan pada proses P1 dan setelah proses P1 rampung maka sumber dayanya dibebaskan sehingga

Nama Perolehan Keperluan Sisa

proses RA RA keperluan

P0 5 10 5

P2 2 9 7

Jumlah perolehan sumber daya RA : 7

Persediaan sumber daya RA : 12

Sisa sumber daya RA : 12 – 7 = 5

Status aman untuk P0

Status tidak aman untuk P2

Urutan pengelolaan dilanjutkan dengan P0

Urutan pengelolaan yang aman : P1, P0, P2

Page 22: Bab 12

------------------------------------------------------------------------------Bab 12

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

Penerapan algoritma Dijkstra

Contoh status tidak aman

Nama Perolehan Keperluan Sisa

proses RA RA keperluan

P0 8 10 2

P1 2 5 3

P2 1 3 2

Jumlah perolehan sumber daya RA : 11

Persediaan sumber daya RA : 12

Sisa sumber daya RA : 12 – 11 = 1

Tidak ada status aman

Paut buntu tak dapat dihindari

Page 23: Bab 12

------------------------------------------------------------------------------Bab 12

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

Penerapan algoritma Dijkstra

Contoh dengan tiga macam sumber daya

Nama Perolehan Keperluan Sisa keperluan

proses RA RB RC RA RB RC RA RB RC

P0 0 1 0 7 5 3 7 4 3

P1 2 0 0 3 2 2 1 2 2

P2 3 0 2 9 0 2 6 0 0

P3 2 1 1 2 2 2 0 1 1

P4 0 0 2 4 3 3 4 3 1

Jumlah perolehan RA = 7, RB = 2, RC = 5

Persediaan RA =10, RB = 5, RC = 7

Sisa RA : 10 – 7 = 3, RB : 5 – 2 = 3, RC : 7 – 5 = 2

Status aman untuk P1 atau P3

tidak aman untuk P0 atau P2 atau P4

Page 24: Bab 12

------------------------------------------------------------------------------Bab 12

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

Proses P1 dan P3 dilaksanakan dan setelah rampung, sumber daya dilepas serta dipakai oleh proses lainnya

Nama Perolehan Keperluan Sisa keperluan

proses RA RB RC RA RB RC RA RB RC

P0 0 1 0 7 5 3 7 4 3

P2 3 0 2 9 0 2 6 0 0

P4 0 0 2 4 3 3 4 3 1

Jumlah perolehan RA = 3, RB = 1, RC = 4

Persediaan RA =10, RB = 5, RC = 7

Sisa RA : 10 – 3 = 7, RB : 5 – 1 = 4, RC : 7 – 4 = 3

Status aman untuk P0 atau P2 atau P4

Dengan demikian paut buntu dapat dihindari dan seluruh proses dapat dilaksanakan

Page 25: Bab 12

------------------------------------------------------------------------------Bab 12

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

4. Pendeteksian dan Penguraian Paut Buntu

Ada dua langkah penanggulangan berupa pendekteksian dan kemudian penguraian

(a) Pendeteksian

• Pendeteksian dilakukan pada proses dan sumber daya yang dicurigai mengandung paut buntu

• Dibuat diagram dan ditelusuri semua proses sampai menemukan bagian yang mengandung paut buntu

• Paut buntu itu diusahakan untuk diuraikan dengan sejumlah cara

Page 26: Bab 12

------------------------------------------------------------------------------Bab 12

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

Contoh

• Setelah ditelusuri ditemukan paut buntu pada

••

P3P2P1

R1

R2 R3

P2P1

R1

R2

Page 27: Bab 12

------------------------------------------------------------------------------Bab 12

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

(b) Penguraian Paut Buntu

• Ada cara drastis dan ada cara lunak

Bubarkan semua proses

Semua proses yang terlibat paut buntu dibubarkan dan dimulai dari awal

Bubarkan sebagian proses

Bubarkan satu proses atau bila perlu bubarkan lebih dari satu proses

Menunggu sumber daya dari proses lain

Menunggu proses yang tak tersangkut paut buntu rampung sehingga sumber dayanya dapat dipakai

Page 28: Bab 12

------------------------------------------------------------------------------Bab 12

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

Pilihan untuk pembubaran

• Jika ada proses dibubarkan maka proses mana yang perlu dikorbankan

• Ada beberapa alternatif pilihan

Proses prioritas

Proses prioritas tinggi dipertahankan

Waktu olah

Waktu olah hampir rampung dipertahankan

Akibat

Yang dapat menimbulkan banyak akibat dipertahankan

Page 29: Bab 12

------------------------------------------------------------------------------Bab 12

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

C. Peristiwa Paut Buntu, Kelaparan, dan Pacuan

1. Peristiwa Paut Buntu

Peristiwa paut buntu juga berkaitan dengan sumber daya

Sumber daya diperebutkan di antara proses sehingga proses tidak memperoleh sumber daya yang diperlukan. Proses mengalami kelaparan.

Alokasi sumber daya juga berpengaruh kepada peristiwa paut buntu dan kelaparan.

Alokasi sumber daya

Paut buntu

Peristiwa kelaparan

Page 30: Bab 12

------------------------------------------------------------------------------Bab 12

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

2. Peristiwa Kelaparan

• Ada proses yang terus menerus tidak memperoleh sumber daya yang diperlukan

• Proses demikian dikenal sebagai kelaparan meniru dari orang yang lapar karena tidak memperoleh makanan

• Peristiwa kelaparan terjadi karena kelangkaan sumber daya

• Peristiwa kelaparan terjadi karena sistem alokasi sumber daya yang pincang

• Banyak penulis mengilustrasikan peristiwa kelaparan melalui kondisi lima orang filsuf yang berpikir dan makan

Page 31: Bab 12

------------------------------------------------------------------------------Bab 12

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

• Ilustrasi peristiwa kelaparan melalui 5 orang filsuf (F) yang berpikir dan makan

Makan memerlukan dua sumpit (S)

Jika F1 makan maka F2 dan F5 tidak dapat makan

Bisa terjadi ada filsuf yang kelaparan

Makanan

F1

F3F4

F5F2

S3

S2

S4

S5 S1

Page 32: Bab 12

------------------------------------------------------------------------------Bab 12

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

3. Peristiwa Pacuan

(a) Hakikat pacuan

• Dalam hal pemerolehan sumber daya, selain paut buntu dan kelaparan, masih ada peristiwa pacuan

• Pada peritiwa pacuan proses berpacu untuk memperoleh sumber daya

• Ada kalanya pacuan tidak berakibat apa-apa kecuali berbeda saat penggunaannya

• Ada kalanya pacuan menimbulkan masalah sehingga memerlukan perhatian

• Peristiwa pacuan adalah pacuan yang menimbulkan masalah sehingga perlu dicermati

Page 33: Bab 12

------------------------------------------------------------------------------Bab 12

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

(b) . Pacuan pada Pengubahan Data

Dapat saja terjadi ada petugas berbeda yang sama-sama melakukan pengelolaan data

Petugas bekerja melalui sistem berkas transaksi terhadap berkas induk

Petugas men-down load data, mengubahnya, kemudian meng-up load lagi

Berkas induk

BerkastransaksiPetugas

Page 34: Bab 12

------------------------------------------------------------------------------Bab 12

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

(c). Kasus Peristiwa Pacuan

Sebagai contoh kita melihat petugas A dan B

Ketika petugas A lebih dahulu dari petugas B

Akhirnya: alamat tetap lama nilai baru

Berkas data mahasiswa M

Alamat lamaNilai lama

Di-down load oleh A

Ubah nilaiAlamat barunilai lama

Up load ke M

Di-down load oleh B

Ubah alamat

Up load ke M

Alamat lamaNilai lama

Alamat lamanilai baru

Page 35: Bab 12

------------------------------------------------------------------------------Bab 12

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

Ketika petugas B lebih dahulu dari petugas A

Akhirnya: alamat baru

nilai tetap lama

Berkas data mahasiswa M

Alamat lamaNilai lama

Di-down load oleh A

Ubah nilai

Alamat barunilai lama

Up load ke M

Di-down load oleh B

Ubah alamat

Up load ke M

Alamat lamaNilai lama

Alamat lamanilai baru

Page 36: Bab 12

------------------------------------------------------------------------------Bab 12

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

4. Sistem Alokasi Sumber Daya

Ada berbagai macam sistem pautan yakni sistem alokasi sumber daya ke proses

Alokasi liberal

• Sumber daya diberikan secara bebas kepada proses

• Tanpa kendali, mudah menghasilkan peristiwa paut buntu

Alokasi konservatif

• Sumber daya tidak diberikan secara bebas kepada proses

• Tanpa kendali, mudah menghasilkan peristiwa kelaparan

Page 37: Bab 12

------------------------------------------------------------------------------Bab 12

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

Seksi Kritis

• Alokasi sumber daya melalui seksi kritis berusaha untuk menanggulangi

Peristiwa kelaparan

Peristiwa pacuan

• Pada seksi kritis terdapat sejumlah aturan untuk menghindari peritiwa kelaparan dan peritiwa pacuan

• Selain sejumlah aturan, terdapat sejumlah algoritma untuk melaksanakan seksi kritis

• Algoritma untuk seksi kritis dapat juga digunakan untuk mengatur kerja sama dalam kooperasi dan sinkronisasi

Page 38: Bab 12

------------------------------------------------------------------------------Bab 12

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

D. Kooperasi dari Sinkronisasi Proses

1. Kooperasi dan Sinkroninasi

• Ada kalanya dua proses perlu berkooperasi untuk keberhasilan proses masing-masing

• Selain berkooperasi, pelaksanaan proses juga perlu disinkronkan

• Melalui kooperasi dan sinkronisasi dua proses dapat dilaksanakan dengan baik

ProsesA

Proses B

kooperasi

sinkronisasi

Page 39: Bab 12

------------------------------------------------------------------------------Bab 12

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

2. Produsen dan Konsumen

Salah satu contoh kooperasi dan sinkronisasi di antara dua proses adalah pada produsen dan konsumen

Kooperasi: Hasil produsen dipakai oleh konsumen

Sinkronisasi: produsen hanya bisa produksi jika ada tempat luang; konsumen hanya bisa pakai jika ada tempat berisi

produsen

konsumen

Page 40: Bab 12

------------------------------------------------------------------------------Bab 12

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

3. Algoritma

• Kooperasi dan sinkronisasi memerlukan algoritma

• Algoritma ini dapat memenfaatkan sistem algoritma yang digunakan oleh seksi kritis melalui perluasan