Bab 12
description
Transcript of Bab 12
Bab 12
Pengelolaan Proses 1
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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?
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------Bab 12
------------------------------------------------------------------------------
Contoh
• Setelah ditelusuri ditemukan paut buntu pada
•
••
P3P2P1
R1
R2 R3
P2P1
•
•
R1
R2
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------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
------------------------------------------------------------------------------Bab 12
------------------------------------------------------------------------------
3. Algoritma
• Kooperasi dan sinkronisasi memerlukan algoritma
• Algoritma ini dapat memenfaatkan sistem algoritma yang digunakan oleh seksi kritis melalui perluasan