NIM : 3193111051
2019/2020
DAFTAR ISI
HALAMAN JUDUL
DAFTAR ISI
KATA PENGANTAR
BAB I PENDAHULUAN
1.3 Tujuan
BAB II PEMBAHASAN
Kesimpulan
Puji syukur say ucapkan kehadirat Allah SWT atas rahmat dan karunianya
sehingga saya dapat menyelesaikan makalah ini dengan baik. Makalah ini dibuat sebagai
salah satu ilmu pengetahuan dan pemenuhan tugas mata kuliah Sistem Operasi. Makalah ini
mencakuo tentang materi “Deadlock”.
Dengan saya sadari makalah ini masih banyak kekurangan dan masih jauh dari
sempurna. Hal tersebut di karenakan keterbatasan kemampuan dan pengetahuan saya. Oleh
karena itu saya mengharapkan kritik dan saran yang membangun dari pembaca sekiranya
agar dapat melengkapi makalah ini. Semoga makalah ini dapat bermanfaat bagi saya dan
pembaca. Akhir kata, saya memohon maaf apabila dalam penulisan makalah ini masih
terdapat kesalahan.
Dengan adanya perkembangan teknologi yang pesat pada zaman sekarang dengan
berbagai macam jenis dan bidang teknologi, seperti halnya adalah komputer yang memiliki
sebuah sistem operasi. Pada dasarnya sistem operasi sangatlah penting dikarena dengan
adanya sistem operasi maka komputer akan berjalan dengan baik. Sistem operasi juga
berperan penting dalam proses – proses yang ada, contohnya hubungan antara PC dengan
I/O.
Dalam sistem operasi terdapat beberapa masalah yang ditemukan, yaitu Mutual
Exclusion, Deadlock, StarVation, dan Sinkronisasi. Dibawah ini akan dibahas salah satu
masalah yang ditemukan di sistem operasi yaitu Deadlock.
1.3 Tujuan
Deadlock dalam artinya adalah kebuntuan. Kebuntuan yang dimaksud dalam sistem
operasi adalah kebuntuan suatu proses. Jadi Deadlock adalah suatu koncisi dimana proses
tidak berjalan lagi atau kondisi dimana tidak ada komunikasi anatar proses yang membuat
proses berhenti. Dalam keadaan ini tidak ada yang dapat melanjutkan proses masing – masing
sampai program memberikan sumber dayanya, tetapi tidak ada yang mengalah.
Deadlock dapat terjadi pada suatu proses disebabkan proses itu menunggu suatu
kejadian tertentu yang sebenarnya tidak akan terjadi. Suatu proses dapat dikatakan berada
dalam deadlock apabila setiap proses yang ada menunggu suatu kejadian yang hanya dapat
dilakukan proses lain dalam himpunan tersebut.
Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh
2 proses.Kejadian Deadlock selalu tidak lepas dari sumber daya, bahwa hampir seluruhnya
merupakan masalah sumber daya yang digunakan bersama-sama.
Oleh karena itu, kita juga perlu tahu tentang jenis sumber daya, yaitu: sumber daya dapat
digunakan lagi berulang-ulang dan sumber daya yang dapat digunakan dan habis dipakai atau
dapat dikatakan sumber daya sekali pakai. Sumber daya ini tidak habis dipakai oleh proses
mana pun.Tetapi setelah proses berakhir, sumber daya ini dikembalikan untuk dipakai oleh
proses lain yang sebelumnya tidak kebagian sumber daya ini.
Model sistem deadlock pada model operasi normal, sebuah proses menggunakan sumber
daya dengan urutan sebagai berikut:
1. Preemptable
Sumber daya dikatakan preemptable jika sumber daya tersebut dapat diambil (dilepas)
dari proses yang sedang memakainya tanpa member efek apapun pada proses tersebut.
Sumber daya ini tidak habis dipakai oleh proses mana pun. Tetapi setelah proses berakhir,
sumber daya ini dikembalikan untuk dipakai oleh proses lain yang sebelumnya tidak
kebagian sumber daya ini.
2. Non-preemtable
Pada sumber daya jenis ini, sumber daya tidak dapat diambil dari proses yang sedang
membawanya karena akan menimbulkan kegagalan komputasi. Printer adalah salah satu
contohnya. Jika suatu proses sedang menggunakan printer untuk mencetak sesuatu, maka
printer tersebut tidak dapat diambil untuk mencetak sesuatu dari proses lain. Sumber daya
jenis ini biasanya berpotensi terjadinya deadlock.
DIAGRAM GRAF
Sebuah sistem komputer terdiri dari berbagai macam sumber daya (resources), seperti:
Untuk mengetahui ada atau tidaknya deadlock (Pendeteksian) dalam suatu graf dapat
dilihat dari perputaran dan resource yang dimilikinya, yaitu:
Jika tidak ada perputaran berarti tidak deadlock.
Jika ada perputaran, ada potensi terjadi deadlock.
Resource dengan instan tunggal dan perputaran mengakibatkan deadlock.
Hanya ada satu proses yang boleh memakai sumber daya, dan untuk proses lain
harus menggu hingga sumber daya yang dipakai dilepaskan atau tidak ada proses memakai
sumber daya.
Proses yang sedang memakai sumber daya meminta sumber daya lagi, hal ini akan
menyebabkan kelaparan atau kekurangan sumber daya sebab dapat saja sebuah proses tidak
mendapat sumber daya dalam waktu yang lama
Sumber daya yang ada pada sebuah proses tidak boleh diambil beitu saja oleh proses
lainnya. Untuk mendapatkan sumber daya, maka harus melepaskan terlebih dahulu oleh
proses pemegangnya, selain itu juga seluruh proses menunggu dan mempersilahkan hanya
proses yang mempunyai sumber daya yang diperbolehkan.
Kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang
proses berikutnya.
1. Terjadi deadlock bila terdapat ketiga kondisi itu, tetapi adanya ketiga kondisi itu
belum berarti terjadi deadlock.
2. Deadlock benar-benar terjadi bila syarat keempat terpenuhi. Kondisi
keempat merupakan keharusan bagi terjadinya deadlock.
3. Deadlock bisa terjadi pada saat proses akan mengakses objek seperti file,device, dll
secara tidak semestinya. Objek tersebut dinamakan resource.
Dengan cara untuk sementara waktu menjauhkan sumber daya dari pemakainya,
dan memberikannya pada proses yang lain.
Melacak kembali
o Proses yang diambil sumber dayanya ketika dilakukan preemption akan
berhenti, dibutuhkan langkah untuk melanjutkan proses tersebut
o Sulit dilakukan sehingga umumnya proses dimulai lagi dari awal
Menghentikan proses yang menyebabkan deadlock – cara paling umum digunakan
Cara yang paling umum adalah mematikan semua proses yang mengalami
deadlock. Dilakukan dengan memilih salah satu korban untuk melepas sumber
dayanya, dengan cara ini maka masalah pemilihan korban menjadi selektif.
Deadlock akan terjadi apabila terdapat seorang peminjam yang belum mengembalikan
uangnya dan ingin meminjam kembali, padahal uang yang belum dikembalikan tadi
dibutuhkan oleh peminjam lain yang juga belum mengembalikan uang pinjamannya.
1. Sulit untuk mengetahui seluruh sumber daya yang dibutuhkan proses pada awal
eksekusi.
2. Jumlah proses yang tidak tetap dan berubah-ubah.
3. Sumber daya yang tadinya tersedia dapat saja menjadi tidak tersedia kembali.
4. Proses-proses yang dieksekusi haruslah tidak dibatasi oleh kebutuhan sinkronisasi
antar proses.
5. Algoritma ini menghendaki memberikan semua permintaan selama waktu yang
berhingga
Metode ini adalah dengan hanya memberi kesempatan ke permintaan sumber daya
yang tidak mungkin akan menyebabkan deadlock. Metode ini memeriksa dampak pemberian
akses pada suatu proses, jika pemberian akses tidak mungkin menuju kepada deadlock, maka
sumber daya akan diberikan pada proses yang meminta. Jika tidak aman, proses yang
meminta akan di-suspend sampai suatu waktu permintaannya aman untuk diberikan. Kondisi
ini terjadi ketika setelah sumber daya yang sebelumnya dipegang oleh proses lain telah
dilepaskan.
Suatu state dinyatakan sebagai state tak selamat (unsafe state) jika tidak
terdapat cara untuk memenuhi semua permintaaan yang saat ini ditunda dengan
menjalankan proses-proses dengan suatu urutan.
2.7 Mendeteksi Deadlock dan Memulihkan
1. https://docplayer.info/45923535-Sistem-operasi-deadlock.html
2. https://www.gurupendidikan.co.id/deadlock-dan-starvation/
3. https://majalahpendidikan.com/sistem-operasi-pengertian-deadlock/