1. Sherly 210.511.013
2. Megga Farah Nazsa 210.511.016
3. Sri Romadhani 210.511.045
4. Kartika Wahyuningtyastuti 210.511.164
Halo. Pada artikel ini kami akan menulis tentang DeadLock Sistem Operasi. Kami minta maaf apabila ada penulisan kami yang kurang
berkenan. Semoga artikel ini dapat membantu dan bermanfaat bagi pembaca dan
kami untuk lebih menambah ilmu. Amin.
Langsung aja, pada bahasan kali ini saya akan menjelaskan
tentang apa itu deadlock , karakteristik nya sampai penanganannya maupun
pencegahannya. J
Apa
itu Deadlock? :-?
Hmm, kalau mendengar kata diatas apa yang terbayang dalam
benak saudara? Langsung saja ya kita membahas, perngertian Deadlock adalah Keadaan dimana dua program memegang kontrol terhadap
sumber daya yang dibutuhkan oleh program yang lain. Tidak ada yang dapat
melanjutkan proses masing - masing sampai program yang lain memberikan sumber
dayanya, tetapi tidak ada yang mengalah.
Deadlock yang mungkin dapat terjadi pada suatu proses
disebabkan proses itu menunggu suatu kejadian tertentu yang tidak akan pernah
terjadi. Dua atau lebih proses dikatakan berada dalam kondisi deadlock, bila
setiap proses yang ada menunggu suatu kejadian yang hanya dapat dilakukan oleh
proses lain dalam himpunan tersebut.
Karakteristik Deadlock
Karakteristik - karakteristik ini harus dipenuhi keempatnya
untuk terjadi deadlock. Namun, perlu diperhatikan bahwa hubungan kausatif
antara empat karakteristik ini dengan terjadinya deadlock adalah implikasi.
Deadlock mungkin terjadi apabila keempat karakteristik terpenuhi.
Empat kondisi tersebut adalah :
Empat kondisi tersebut adalah :
1.
Mutual Exclusion : Kondisi yang pertama adalah mutual exclusion
yaitu Proses memiliki hak milik pribadi terhadap sumber daya yang sedang
digunakannya. Jadi, hanya ada satu proses yang menggunakan suatu sumber daya.
Proses lain yang juga ingin menggunakannya harus menunggu hingga sumber daya
tersebut dilepaskan oleh proses yang telah selesai menggunakannya. Suatu proses
hanya dapat menggunakan secara langsung sumber daya yang tersedia secara bebas.
2. Hold and Wait . Kondisi
yang kedua adalah hold and wait yaitu Beberapa proses saling menunggu sambil
menahan sumber daya yang dimilikinya. Suatu proses yang memiliki minimal satu
buah sumber daya melakukan request lagi terhadap sumber daya. Akan tetapi,
sumber daya yang dimintanya sedang dimiliki oleh proses yang lain. Pada saat
yang sama, kemungkinan adanya proses lain yang juga mengalami hal serupa dengan
proses pertama cukup besar terjadi. Akibatnya, proses-proses tersebut hanya
bisa saling menunggu sampai sumber daya yang dimintanya dilepaskan. Sambil
menunggu, sumber daya yang telah dimilikinya pun tidak akan dilepas. Semua
proses itu pada akhirnya saling menunggu dan menahan sumber daya miliknya.
3.
No Preemption . Kondisi
yang selanjutnya adalah no preemption yaitu Sebuah sumber daya hanya dapat
dilepaskan oleh proses yang memilikinya secara sukarela setelah ia selesai
menggunakannya. Proses yang menginginkan sumber daya tersebut harus menunggu
sampai sumber daya tersedia, tanpa bisa merebutnya dari proses yang
memilikinya.
4.
Circular Wait . Kondisi
yang terakhir adalah circular wait yaitu Kondisi membentuk siklus yang berisi
proses-proses yang saling membutuhkan. Proses pertama membutuhkan sumber daya
yang dimiliki proses kedua, proses kedua membutuhkan sumber daya milik proses
ketiga, dan seterusnya sampai proses ke n-1 yang membutuhkan sumber daya milik
proses ke n. Terakhir, proses ke n membutuhkan sumber daya milik proses yang
pertama. Yang terjadi adalah proses-proses tersebut akan selamanya menunggu.
Penanganan Deadlock
4 cara untuk menangani keadaan deadlock, yaitu :
1.
Pengabaian. Maksud dari
pengabaian di sini adalah Sistem mengabaikan terjadinya deadlock dan pura-pura
tidak tahu kalau deadlock terjadi. Dalam penanganan dengan cara ini dikenal
istilah ostrich algorithm. Pelaksanaan algoritma ini adalah sistem tidak
mendeteksi adanya deadlock dan secara otomatis mematikan proses atau program
yang mengalami deadlock. Kebanyakan sistem operasi yang ada mengadaptasi cara
ini untuk menangani keadaan deadlock. Cara penanganan dengan mengabaikan
deadlock banyak dipilih karena kasus deadlock tersebut jarang terjadi dan
relatif rumit dan kompleks untuk diselesaikan. Sehingga biasanya hanya
diabaikan oleh sistem untuk kemudian diselesaikan masalahnya oleh user dengan
cara melakukan terminasi dengan Ctrl+Alt+Del atau melakukan restart terhadap
komputer.
2.
Pencegahan. Penanganan
ini dengan cara mencegah terjadinya salah satu karakteristik deadlock.
Penanganan ini dilaksanakan pada saat deadlock belum terjadi pada sistem.
Intinya memastikan agar sistem tidak akan pernah berada pada kondisi deadlock.
3.
Penghindaran.
Menghindari keadaan deadlock. Bagian yang perlu diperhatikan oleh pembaca
adalah bahwa antara pencegahan dan penghindaran adalah dua hal yang berbeda.
Pencegahan lebih kepada mencegah salah satu dari empat karakteristik deadlock
terjadi, sehingga deadlock pun tidak terjadi. Sedangkan penghindaran adalah
memprediksi apakah tindakan yang diambil sistem, dalam kaitannya dengan
permintaan proses akan sumber daya, dapat mengakibatkan terjadi deadlock.
4.
Pendeteksian dan
Pemulihan. Pada sistem yang sedang berada pada kondisi deadlock, tindakan yang
harus diambil adalah tindakan yang bersifat represif. Tindakan tersebut adalah
dengan mendeteksi adanya deadlock, kemudian memulihkan kembali sistem. Proses pendeteksian
akan menghasilkan informasi apakah sistem sedang deadlock atau tidak serta
proses mana yang mengalami deadlock.
Pencegahan Deadlock
Pencegahan
deadlock dapat dilakukan dengan cara mencegah salah satu dari empat
karakteristik terjadinya deadlock. Berikut ini akan dibahas satu per satu cara
pencegahan terhadap empat karakteristik tersebut :
1.
Mutual Exclusion .
Kondisi mutual exclusion pada sumber daya adalah sesuatu yang wajar terjadi,
yaitu pada sumber daya yang tidak dapat dibagi (non-sharable). Sedangkan pada
sumber daya yang bisa dibagi tidak ada istilah mutual exclusive. Jadi,
pencegahan kondisi yang pertama ini sulit karena memang sifat dasar dari sumber
daya yang tidak dapat dibagi.
2.
Hold and Wait . Untuk
kondisi yang kedua, sistem perlu memastikan bahwa setiap kali proses meminta
sumber daya, ia tidak sedang memiliki sumber daya lain. Atau bisa dengan proses
meminta dan mendapatkan sumber daya yang dimilikinya sebelum melakukan eksekusi,
sehingga tidak perlu menunggu.
3.
No Preemption . Pencegahan kondisi ini dengan cara membolehkan
terjadinya preemption. Maksudnya bila ada proses yang sedang memiliki sumber
daya dan ingin mendapatkan sumber daya tambahan, namun tidak bisa langsung dialokasikan,
maka akan preempted. Sumber daya yang dimiliki proses tadi akan diberikan pada
proses lain yang membutuhkan dan sedang menunggu. Proses akan mengulang kembali
eksekusinya setelah mendapatkan semua sumber daya yang dibutuhkannya, termasuk
sumber daya yang dimintanya terakhir.
4.
Circular Wait . Kondisi
'lingkaran setan' ini dapat 'diputus' dengan jalan menentukan total kebutuhan
terhadap semua tipe sumber daya yang ada. Selain itu, digunakan pula mekanisme
enumerasi terhadap tipe-tipe sumber daya yang ada. Setiap proses yang akan
meminta sumber daya harus meminta sumber daya dengan urutan yang menaik.
Misalkan sumber daya printer memiliki nomor 1 sedangkan CD-ROM memiliki nomor
3. Proses boleh melakukan permintaan terhadap printer dan kemudian CD-ROM,
namun tidak boleh sebaliknya.
Sekian
yang saya bahas pada artikel kali ini. Pada kesempatan berikutnya kami akan
mencoba membahas tentang penghindaran, pendeteksian sampai pemulihan deadlock.
Di tunggu ya artikel -artikel kami berikutnya. Keep Update..!J
Referensi :
1 komentar:
Casino Slot Machine - Mapyro
Find 울산광역 출장마사지 your favorite casino slot 보령 출장마사지 machine 김천 출장안마 locations near you. Get directions, reviews and information for Casino Slot Machine in Scottsdale, AZ. Find reviews and 영천 출장샵 add them to your 진주 출장샵
Posting Komentar