Bab 12 Pengelolaan Proses 1
A. Proses dan Pengelolaannya ------------------------------------------------------------------------------ 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
Proses dapat menggunakan lebih dari satu sumber daya ------------------------------------------------------------------------------ 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
Untuk ilustrasi, proses dan sumber daya diberikan lambang 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 jumlahnya di sini ada 3 perangkat • •
Proses memerlukan sumber daya (belum dapat) ------------------------------------------------------------------------------ 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
4. Pautan Proses dan Sumber Daya ------------------------------------------------------------------------------ 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
Satu sumber daya dengan beberapa proses ------------------------------------------------------------------------------ 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 • •
Pautan untuk beberapa proses dengan beberapa sumber daya ------------------------------------------------------------------------------ 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
5. Paut Hidup (live lock) dan Paut Buntu (dead lock) ------------------------------------------------------------------------------ Bab 12 ------------------------------------------------------------------------------ 5. Paut Hidup (live lock) dan Paut Buntu (dead lock) • R1 • R3 P2 P1 P3 • • • R4 Paut hidup R2 • • • R1 P1 P2 R2 • 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
5. Penggunaan sumber daya Penggunaan bersama ------------------------------------------------------------------------------ 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
B. Paut Butu dan Pengelolaannya 1. Kondisi terjadinya paut buntu ------------------------------------------------------------------------------ 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 R1 • P1 P2 • R2
Penanggulangan paut buntu ------------------------------------------------------------------------------ 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?
Alternatif pencegahan Pencegahan kondisi (a) ------------------------------------------------------------------------------ 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
Pencegahan Cara Havender ------------------------------------------------------------------------------ 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
3. Penghindaran Paut Buntu Algoritma Bank dari Dijkstra ------------------------------------------------------------------------------ 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
(a) Status aman jika sisa uang di bank tidak kurang dari sisa kredit ------------------------------------------------------------------------------ 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
Contoh status aman Nama Jumlah Kredit Sisa ------------------------------------------------------------------------------ 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
Contoh status tidak 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
Penerapan algoritma Dijkstra Contoh status 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
Nama Perolehan Keperluan Sisa proses RA RA keperluan P0 5 10 5 ------------------------------------------------------------------------------ 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
Penerapan algoritma Dijkstra Contoh status tidak aman ------------------------------------------------------------------------------ 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
Penerapan algoritma Dijkstra Contoh dengan tiga macam sumber daya ------------------------------------------------------------------------------ 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
Nama Perolehan Keperluan Sisa keperluan ------------------------------------------------------------------------------ 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
4. Pendeteksian dan Penguraian Paut Buntu ------------------------------------------------------------------------------ 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
Setelah ditelusuri ditemukan paut buntu pada • ------------------------------------------------------------------------------ Bab 12 ------------------------------------------------------------------------------ Contoh Setelah ditelusuri ditemukan paut buntu pada • R1 P1 P2 P3 • • R3 R2 R1 • P1 P2 • R2
(b) Penguraian Paut Buntu Ada cara drastis dan ada cara lunak ------------------------------------------------------------------------------ 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
Pilihan untuk pembubaran ------------------------------------------------------------------------------ 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
C. Peristiwa Paut Buntu, Kelaparan, dan Pacuan 1. Peristiwa Paut Buntu ------------------------------------------------------------------------------ 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
Peristiwa kelaparan terjadi karena kelangkaan sumber daya ------------------------------------------------------------------------------ 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
Makan memerlukan dua sumpit (S) ------------------------------------------------------------------------------ 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 F1 S5 S1 F2 Makanan F5 S2 S4 F4 F3 S3
Pada peritiwa pacuan proses berpacu untuk memperoleh sumber daya ------------------------------------------------------------------------------ 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
(b) . Pacuan pada Pengubahan Data ------------------------------------------------------------------------------ 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 Berkas transaksi Petugas
Berkas data mahasiswa M ------------------------------------------------------------------------------ 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 lama Nilai lama Di-down load oleh A Ubah alamat Di-down load oleh B Alamat lama Nilai lama Alamat baru nilai lama Up load ke M Ubah nilai Alamat lama nilai baru Up load ke M
Berkas data mahasiswa M ------------------------------------------------------------------------------ Bab 12 ------------------------------------------------------------------------------ Ketika petugas B lebih dahulu dari petugas A Akhirnya: alamat baru nilai tetap lama Berkas data mahasiswa M Di-down load oleh B Alamat lama Nilai lama Alamat lama Nilai lama Di-down load oleh A Ubah nilai Ubah alamat Up load ke M Alamat lama nilai baru Alamat baru nilai lama Up load ke M
4. Sistem Alokasi Sumber Daya ------------------------------------------------------------------------------ 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
Alokasi sumber daya melalui seksi kritis berusaha untuk menanggulangi ------------------------------------------------------------------------------ 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
D. Kooperasi dari Sinkronisasi Proses 1. Kooperasi dan Sinkroninasi ------------------------------------------------------------------------------ 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 B Proses A kooperasi sinkronisasi
Kooperasi: Hasil produsen dipakai oleh konsumen ------------------------------------------------------------------------------ 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
Kooperasi dan sinkronisasi memerlukan algoritma ------------------------------------------------------------------------------ Bab 12 ------------------------------------------------------------------------------ 3. Algoritma Kooperasi dan sinkronisasi memerlukan algoritma Algoritma ini dapat memenfaatkan sistem algoritma yang digunakan oleh seksi kritis melalui perluasan