Makalah Deadlock

DAFTAR ISI


KATA PENGANTAR.....................................................................................2
DAFTAR ISI....................................................................................................3
BAB I PENDAHULUAN................................................................................4
LATAR BELAKANG.................................................................................................4
BAB II PEMBAHASAAN
Pengertian Deadlock...................................................................................................5
Ilustrasi Deadlock.......................................................................................................5
Metode untuk menangani Deadlock...........................................................................5
Pencegahan Deadlock.................................................................................................6
Starvasion...................................................................................................................7
Prinsip Deadlock........................................................................................................9
  BAB III PENUTUP
    A.Kesimpulan.................................................................................................................10
    B.Saran...........................................................................................................................10
DAFTAR PUSTAKA










                                                                                 BAB I
PENDAHULUAN

   
     A.Latar Belakang
Menggantungnya program atau lebih popular disebut computer hang kerap kali terjadi. Hal ini disebabkan oleh dua program mengambil control sumber daya proram lain. Masing-masing program tidak ada yang memberikan sumber daya yang dibutuhkan oleh program yang sedang berlangsung. Diilustrasikan arus lalu lintas kendaraan  yang ada pada perempatan jalan.Setiap sisi dipenuhi mobil, sementara diantara mereka tidak ada yang mengalah maka yang terjadi adalah kemacetan / berhentinya operasi. Dengan didasari kondisi seperti ini kami mengangkatkat materi deadlock sebagai bahan penelitian dalam pembuatan makalah yang mencakup bagaimana deadlock terjadi, pemecahan dan apa saja yang yang harus dihindari . Dengan mengetahui  kedaan tersebut diharapkan terhindar dari kerugian-kerugian yang ditimbulkannya.













BAB II
PEMBAHSAN


A.Pengertian Deadlock
Deadlock adalah kebuntuan, Di dalam sistem operasi berarti suatu kondisi di mana sekumpulan proses tidak dapat berjalan kembali atau tidak adanya komunikasi antar proses. Definisi lainnya yaitu sekumpulan proses yang terblok yang tiap proses tersebut memegang sumber daya dan menunggu untuk mendapatkan sumber daya yang dipegang oleh proses di dalam kumpulan tersebut.

B. Ilustrasi Deadlock
ilustrasi deadlock Penyebab utama terjadinya deadlock adalah terbatasnya sumber daya yang akan digunakan oleh proses-proses. Tiap proses berkompetisi untuk memperebutkan sumber daya yang ada. Jadi deadlock berhubungan erat dengan tersedianya sumber daya dari komputer.

C Metode untuk menangani Deadlock
Pada prinsipnya kita dapat menangani deadlock dengan beberapa cara:
1. Menggunakan protokol untuk pencegahan atau penghindaran deadlock, memastikan bahwa       sistem tidak akan memasuki kondisi deadlock.
2. Kita bisa mendeteksi terjadinya deadlock lalu memperbaiki.
3. Kita juga bisa mengabaikan deadlock, hal ini dilakukan pada sistem operasi berbasis UNIX. Untuk memastikan sistem tidak memasuki deadlock, sistem dapat menggunakan pencegahan deadlock atau penghindaran deadlock. Penghindaran deadlock membutuhkan informasi tentang sumber daya yang mana yang akan suatu proses meminta dan berapa lama akan digunakan. Dengan informasi tersebut dapat diputuskan apakah suatu proses harus menunggu atau tidak. Hal ini disebabkan oleh keberadaan sumber daya, apakah ia sedang digunakan oleh proses lain atau tidak. Jika sebuah sistem tidak memastikan deadlock akan terjadi, dan juga tidak didukung dengan pendeteksian deadlock serta pencegahannya, maka kita akan sampai pada kondisi deadlock yang dapat berpengaruh terhadap performance system karena sumber daya tidak dapat digunakan oleh proses sehingga proses-proses yang lain juga terganggu. Akhirnya sistem akan berhenti dan harus direstart.

D. Pencegahan Deadlock
Pencegahannya sebagai berikut:
1. Masalah Mutual Eksklusif
Kondisi ini tidak dapat dilarang, jika aksesnya perlu bersifat spesial untuk satu proses,maka hal ini harus didukung oleh kemampuan sistem operasi. Jadi diusahakan agar tidak menggunakan kondisi spesial tersebut sehingga sedapat mungkin deadlock dapat dihindari.
2  Masalah Kondisi Menunggu dan Memegang Penanggulangan deadlock
dari kondisi ini lebih baik dan menjanjikan, asalkan kita dapat memegang sumber daya untuk menunggu sumber daya lain, kita dapat mencegah deadlock. Caranya ialah dengan meminta semua sumber daya yang ia butuhkan sebelum proses berjalan. Tetapi masalahnya sebagian proses tidak mengetahui keperluannya sebelum ia berjalan. Jadi untuk mengatasi hal ini, kita dapat menggunakan algoritma bankir. Sistem operasi atau sebuah protokol mengatur hal ini. Hasil yang dapat terjadi adalah sumber daya lebih harus dispesifikasikan dan kelaparan sumber daya, atau proses yang membutuhkan sumber daya yang banyak harus menunggu sekian lama untuk mendapatkan sumber daya yang ia butuhkan.
Masalah tidak preemption
Hal ketiga ialah jangan sampai ada preemption pada sumberv daya yang telah dialokasikan. Untuk memastikan hal ini, kita dapat menggunakan protocol. Jadi jika sebuah proses meminta sumber daya yang tidak dapat ia penuhi saat itu juga, maka proses mengalami preempted. Dengan kata lain ada sumber daya dilepaskan dan diberikan ke proses yang menunggu, dan proses itu akan menunggu sampai kebutuhan sumber dayanya dipenuhi. Cara lain yaitu dengan mengecek apakah sumber daya yang dicari proses tersedia atau tidak. Jika ada maka langsung dialokasikan tetapi jika tidak maka kita cek apakah ada proses lain yang sedang menunggu sumber daya juga. Jika ya maka kita ambil sumber daya dari proses yang sedang menunggu tersebut dan memberikan kepada proses yang meminta sumber daya tersebut. Jika tidak tersedia juga maka proses tersebut harus menunggu. Dalam menunggu beberapa dari sumber dayanya dapat saja dipreempted jika ada proses yang memintanya. Cara ini efektif untuk proses yang menyimpan dalam memory atau register.

4.  Masalah lingkaran tunggu
Masalah ini dapat ditangani oleh sebuah protocol yang menjaga agar sebuah proses tidak membuat lingkaran sikus yang dapat mengakibatkan deadlock dengan cara memberikan penomoran kepada sumber daya, dan bila suatu proses meminta sumber daya lagi maka ia hanya dapat meminta sumber daya yang nomornya lebih tinggi dari yang ia minta sebelumnya.
E.Starvasion
 Perkembangan sistem komputer mendatang adalah menuju ke sistem multi-processing, multiprogramming, terdistribusi dan paralel yang mengharuskan adanya proses-proses yang berjalan bersama dalam waktu yang bersamaan. Hal demikian merupakan masalah yang perlu perhatian dari perancang sistem operasi. Kondisi dimana pada saat yang bersamaan terdapat lebih dari satu proses disebut dengan kongkurensi (proses-proses yang kongkuren). Dan dalam kongruensi ini pasti ada masalah yang salah satunya adalah STARVATION. Starvation adalah kondisi yang biasanya terjadi setelah deadlock. Proses yang kekurangan resource (karena terjadi deadlock) tidak akan pernah mendapat resource yang dibutuhkan sehingga mengalami starvation (kelaparan).Ilustrasi starvation dengan deadlock seperti pada gambar di bawah ini.


          Dalam kasus diatas, antrian di sebelah kiri menunggu antrian kanan untuk mengosongkan jembatan (resource), begitu juga dengan antrian kanan. Akhirnya tidak terjadi kemajuan dalam kerja dua antrian tersebut.Misal ada proses A mempunyai resource X, proses B mempunyai resource Y. Kemudian kedua proses ini dijalankan bersama, proses A memerlukan resource Y dan proses B memerlukan resource X, tetapi kedua proses tidak akan memberikan resource yang dimiliki sebelum proses dirinya sendiri selesai dilakukan. Sehingga akan terjadi tunggu-menunggu.

  Namun, starvation juga bisa terjadi tanpa deadlock. Hal ini ketika terdapat kesalahan dalam sistem sehingga terjadi ketimpangan dalam pembagian resouce. Satu proses selalu mendapat resource, sedangkan proses yang lain tidak pernah mendapatkannya. Ilustrasi starvation tanpa deadlock di dunia nyata dapat dilihat di bawah ini. Pada gambar di bawah ini.


pada antrian kanan terjadi starvation karena resource (jembatan) selalu dipakai oleh antrian kiri, dan antrian kanan tidak mendapatkan giliran. Jika dua proses ingin mengakses satu sumber daya tunggal maka sistem operasi mengalokasikan untuk salah satu proses dan mengharuskan proses lain menunggu. Proses yang ditolak pengaksesan menjadi melambat. Jika terlalu parah maka proses di-blocked terus-menerus sehingga tidak pernah mengakses sumber daya. Proses tidak pernah dapat berakhir dengan suskses.

Dalam beberapa cara Starvation dapat diselsaikan dengan sumber daya yang dialokasikan dengan dengan melibatkan sistem operasi, dengan pengendaliain  persaingan ini proses-proses seperti ini akan teratasi. Kerjasama ini meliputi sistem operasi yang saling berinteraksi tanpa dinyatakan dengan eksplisit. Sistem operasi ini sudah terprogram melalui sistem call jadi antara proses satu dengan yang lain tidak ada pembedaan yang mengakibatkan persaingan antara proses-proses tersebut. Program ini sudah dimasukkan dalam sistem operasi yang sudah sesuai dengan mutual exclusion.
 Algoritma Starvation
Starvation dapat terjadi pada proses penjadwalan yang menggunakan prinsip “proses yang paling cepat diselesaikan didahulukan”, seperti pada Shortest Job First (SJF) dan Penjadwalan Prioritas.
Logikanya, jika kita mempunyai banyak kebutuhan, kita akan memilahnya mana yang didahulukan berdasarkan sesuatu. Setelah kita selesai menyusunnya, ternyata ada kebutuhan lain yang datang (misalkan kebutuhan A) dan ternyata kebutuhan itu mengalahkan salah satu kebutuhan kita. Sebelum kebutuhan A terpenuhi, datang lagi kebutuhan lain yang mengalahkan kebuthan awal. Jika hal ini terjadi secara terus menerus, maka ada kebuthan awal kita yang tidak terpenuhi (starvation).
Contoh nyatanya, pada kehidupan mahasiswa. Seorang mahasiswa telah memiliki 3 tugas dan ingin juga menonton film baru. Mahasiswa tersebut mendahulukan menyelesaikan tugas dibandingkan menonton. Sebelum ketiga tugas tersebut selesai, dosen lain memberinya tugas baru. Keesokan harinya ada tugas dari asisten untuk praktikum berikutnya. Ketika tugas satu belum selesai, sudah ada tugas lain dari dosen atau asisten. Hal ini terus berulang, sehingga keinginan mahasiswa tersebut untuk menonton film baru bisa tidak terlaksana atau tidak terpenuhi.
F.Prinsip Deadlock
Proses disebut deadlock, jika proses menunggu suatu kejadian tertentu yang tak akan pernah terjadi atau kondisi dimana 2 proses atau lebih tidak dapat meneruskan eksekusinya.
Sekumpulan proses berkondisi deadlock, jika setiap proses yang ada dikumpulan itu menunggu sesuatu kejadian yang hanya dapat dilakukan proses lain yang juga berada di kumpulan itu. Proses menunggu kejadian yang tak akan pernah terjadi.


                                        P0                                                         P1
                                    Wait(S)                                                 Wait(Q)
                                    Wait(Q)                                                 Wait(S)
                                        .                                                           .
                                        .                                                           .
                                        .                                                           .
                                    Signal(S)                                               Signal(Q)
                                    Signal(Q)                                              Signal(S)        

Pada langkah pertama, kedua proses masih berjalan dengan baik. Pada langkah kedua, proses P0 meminta Q yang ternyata masih dibawa oleh P1 dan baru akan dilepas setelah signal(Q), demikian pula P1 meminta S yang masih dibawa oleh P0 dan baru akan dilepas setelah signal(S). Sehingga kondisi ini akan menimbulkan deadlock.

Deadlock terjadi ketika proses-proses mengakses secara ekslusif sumber daya. Semua deadlock yang terjadi melibatkan persaingan memperoleh sumber daya ekslusif oleh dua proses atau lebih. Adanya deadlock akan mengakibatkan sistem menjadi kacau
                                                                   BAB III
PENUTUP

A.  Kesimpulan
Pada sistem kebanyakan permintaan sumber daya dilakukan sebanyak sekali saja.Sistem sudah harus dapat mengenali bahwa sumber daya itu aman atau tidak (dalam arti tidak terkena deadlock). Setelah itu baru di alokasikan.
Pada deadlock sistem dilakukan dengan cara memastikan bahwa program memiliki maksimum permintaan. dengan kata lain cara sistem ini memastikan terlebih dahulu bahwa sistem akan selalu dalam kondisi aman.baik mengadakan perintah awal ataupun saat memintaan permintaan sumber daya tambahan, sistem harus selalu berada dalam kondisi aman.
Demikian yang dapat kami paparkan mengenai materi yang menjadi pokok bahasan dalam makalah ini, tentunya masih banyak kekurangan dan kelemahanya, karena terbatasnya pengetahuan dan kurangnya rujukan atau referensi yang ada hubungannya dengan judul makalah ini.

B.     SARAN
Gunakanlah komputer secara benar sesuai dengan kebutuhan saja, karena bisa menghindari terjadinya deadlock.














DAFTAR PUSTAKA
http://www.slideshare.net/septianraha/makalah-sistem-operasi-elna-ningsi ﴾Ahad, 09 Februari: 12.30 WIB﴿

Comments

Popular posts from this blog

Makalah sistem bus komputer

Contoh proposal usaha ternak kambing