Bab 12 Pengelolaan Proses 1 Bab 12 Bab
Bab 12 Pengelolaan Proses 1
---------------------------------------Bab 12 --------------------------------------- Bab 12 PENGELOLAAN PROSES 1 A. Proses dan Pengelolaannya 1. Sumber Daya dan Proses • Sumber daya adalah bagian komputer seperti prosesor, memori, alat masukankeluaran, 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 1 • • • Proses 1 Sumber daya dan jumlahnya di sini ada 3 perangkat • Proses dilambangkan sebagai lingkaran • Sumber daya dilambangkan sebagai persegi dengan banyaknya titik menunjukkan banyaknya perangkat sumber daya itu
---------------------------------------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 P 1 • • R 1 R 2 R 3 R 4 misalkan R 1 R 2 R 3 R 4 adalah berkas naskah adalah program olah kata disk pencetak
---------------------------------------Bab 12 --------------------------------------- • Satu sumber daya dengan beberapa proses P 1 P 2 • • P 3 R 1 misalkan R 1 adalah printer P 1 adalah pemakai 1 P 2 adalah pemakai 2 P 3 adalah pemakai 3
---------------------------------------Bab 12 --------------------------------------- • Pautan untuk beberapa proses dengan beberapa sumber daya P 1 • R 1 P 2 P 3 • • • • R 2 R 3 R 4 R 5 • Proses P 1, P 2, dan P 3 memerlukan sumber daya R 1, R 2, R 3, R 4, dan R 5 • Ada kalanya sumber daya tidak cukup jumlahnya untuk melayani keperluan dari proses
---------------------------------------Bab 12 --------------------------------------- 5. Paut Hidup (live lock) dan Paut Buntu (dead lock) • R 1 • • P 3 • • • R 2 • R 1 Paut buntu R 3 P 2 P 1 Paut hidup • P 2 • R 2 R 4
---------------------------------------Bab 12 --------------------------------------- Pada paut hidup • Pada paut hidup, pengelolaan dapat terus berlangsung sampai selesai • Mula-mula, P 3 dikerjakan sampai selesai sehingga R 3 dapat dibebaskan • Dengan R 3 bebas, P 2 dapat dikerjakan sampai selesai sehingga R 1 bebas • Dengan R 1 bebas, P 1 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 • R 1 1. Kondisi terjadinya paut buntu P 1 P 2 • R 2 (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
---------------------------------------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 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 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 nasabah kredit maksimum C 1 0 4 000 C 2 2 000 5 000 C 3 4 000 8 000 Jumlah kredit : 6 000 Modal bank : 10 000 Sisa kredit 4 000 3 000 4 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 nasabah kredit maksimum C 1 2 000 4 000 C 2 3 000 5 000 C 3 4 000 8 000 Jumlah kredit : 9 000 Modal bank : 10 000 Sisa kredit 2 000 4 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 P 0 5 10 5 P 1 2 4 2 P 2 2 9 7 Jumlah perolehan sumber daya RA : 9 Persediaan sumber daya RA : 12 Sisa sumber daya RA : 12 – 9 = 3 Status aman untuk P 1 Status tidak aman untuk P 0 dan P 2 Urutan pengelolaan dimulai dari P 1
---------------------------------------Bab 12 --------------------------------------- Pengelolaan dilakukan pada proses P 1 dan setelah proses P 1 rampung maka sumber dayanya dibebaskan sehingga Nama Perolehan Keperluan Sisa proses RA RA keperluan P 0 5 10 5 P 2 2 9 7 Jumlah perolehan sumber daya RA : 7 Persediaan sumber daya RA : 12 Sisa sumber daya RA : 12 – 7 = 5 Status aman untuk P 0 Status tidak aman untuk P 2 Urutan pengelolaan dilanjutkan dengan P 0 Urutan pengelolaan yang aman : P 1, P 0, P 2
---------------------------------------Bab 12 --------------------------------------- Penerapan algoritma Dijkstra Contoh status tidak aman Nama Perolehan Keperluan Sisa proses RA RA keperluan P 0 8 10 2 P 1 2 5 3 P 2 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 R A RB RC P 0 0 1 0 7 5 3 7 4 3 P 1 2 0 0 3 2 2 1 2 2 P 2 3 0 2 9 0 2 6 0 0 P 3 2 1 1 2 2 2 0 1 1 P 4 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 P 1 atau P 3 tidak aman untuk P 0 atau P 2 atau P 4
---------------------------------------Bab 12 --------------------------------------- Proses P 1 dan P 3 dilaksanakan dan setelah rampung, sumber daya dilepas serta dipakai oleh proses lainnya Nama Perolehan Keperluan Sisa keperluan proses RA RB RC R A RB RC P 0 0 1 0 7 5 3 7 4 3 P 2 3 0 2 9 0 2 6 0 0 P 4 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 P 0 atau P 2 atau P 4 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 • R 1 P 2 • P 3 • R 2 R 3 • Setelah ditelusuri ditemukan paut buntu pada • R 1 P 2 • R 2
---------------------------------------Bab 12 --------------------------------------- (b) Penguraian Paut Buntu • Ada cara drastis dan ada cara lunak Bubarkan semua proses Semua proses yang terlibat paut buntu dibubarkan 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 tinggi dipertahankan 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. Paut buntu Alokasi sumber daya 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) S 5 F 1 S 1 F 2 F 5 Makanan S 2 S 4 F 3 S 3 Jika F 1 makan maka F 2 dan F 5 tidak dapat makan Bisa terjadi ada filsuf yang kelaparan
---------------------------------------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 melakukan pengelolaan data Petugas bekerja melalui sistem berkas transaksi terhadap berkas induk Petugas men-down load data, mengubahnya, kemudian meng-up load lagi Petugas Berkas transaksi Berkas induk
---------------------------------------Bab 12 --------------------------------------- (c). Kasus Peristiwa Pacuan Sebagai contoh kita melihat petugas A dan B Ketika petugas A lebih dahulu dari petugas B Berkas data mahasiswa M Alamat lama Nilai lama Di-down load oleh A Ubah alamat Alamat baru nilai lama Up load ke M Di-down load oleh B Alamat lama Nilai lama Ubah nilai Up load ke M Akhirnya: alamat tetap lama nilai baru Alamat lama nilai baru
---------------------------------------Bab 12 --------------------------------------- Ketika petugas B lebih dahulu dari petugas A Berkas data mahasiswa M Di-down load Alamat lama oleh B Nilai lama Alamat lama Nilai lama Alamat baru nilai lama Di-down load oleh A Ubah nilai Ubah alamat Up load ke M Akhirnya: alamat baru nilai tetap lama Alamat lama nilai 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 Proses A kooperasi sinkronisasi Proses B
---------------------------------------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 produsen konsumen Sinkronisasi: produsen hanya bisa produksi jika ada tempat luang; konsumen hanya bisa pakai jika ada tempat berisi
---------------------------------------Bab 12 --------------------------------------- 3. Algoritma • Kooperasi dan sinkronisasi memerlukan algoritma • Algoritma ini dapat memenfaatkan sistem algoritma yang digunakan oleh seksi kritis melalui perluasan
- Slides: 40