• Tidak ada hasil yang ditemukan

Sinkronisasi & Deadlock AGUS PAMUJI. SISTEM OPERASI - Sinkronisasi & Deadlock

N/A
N/A
Protected

Academic year: 2021

Membagikan "Sinkronisasi & Deadlock AGUS PAMUJI. SISTEM OPERASI - Sinkronisasi & Deadlock"

Copied!
30
0
0

Teks penuh

(1)

Sinkronisasi & Deadlock

(2)

Deadlock

• Suatu kondisi dimana 2 proses atau lebih tidak dapat meneruskan eksekusinya oleh prosessor.

• Penyebabnya bisa faktor:

– Eksternal  hambatan dari lingkungan luar – Internal  oleh proses itu sendiri

• Deadlock disebabkan karena proses mengalami starvation.

• Starvation yaitu job yang sedang dieksekusi namun tidak ada hentinya, padahal proses lain masih

(3)
(4)

Karakteristik Deadlock

• Mutual exclusion  apabila proses menggunakan resource maka tidak boleh ada proses lain

menggunakan resource tsb.

• Hold & wait  proses yg sedang akses resource, proses tsb dapat minta izin untuk akses resource lain.

(5)

Karakteristik Deadlock

• No Preemption  jika proses izin untuk

gunakan resource, sementara resource tdk tersedia maka permintaaan izin tidak dapat dibatalkan.

• Circular Wait Condition  jika proses P0

sedang akses resource R1 & minta izin akses R1 dan R2 sedangkan P2 sedang akses R2

(6)

Resource ( Sumber Daya )

• OS Berperan sebagai pengatur berbagai tipe sumber daya yang berlainan karena proses-proses maupun job-job juga mengakses resources yang sama.

• Ada 2 jenis resource :

1. Preemtable  jika resource dapat diambil dari

proses, job dapat ambil dari proses tanpa merugikan. Contoh : memory.

2. Non Preemtable  resource tidak dapat diambil dari proses karena akan timbul kegagalan

(7)

Model Deadlock

• Sekelompok proses yang terblok masing-masing menahan resource dan menunggu memperoleh resource yang dipakai oleh proses lain.

• Contoh :

Terdapat 2 proses ( P1 & P2 ) yang ingin ambil resource yaitu R1 & R2 masing-masing sedang menggunakan daya dan masing2 proses

memerlukan resource lainnya maka akan berakibat deadlock.

(8)

R0

R1

Graph meminta resource dan

dialokasikan resource

P0

(9)

Proses terjadinya deadlock

P1

P2 R1

(10)

Resource – Graph Alokasi

• Himpunan P, R, dan E – P = { P1, P2, P3 }; – R = { R1, R2, R3 }; – E = { P1R1, P2R3, R1P2, R2P2,R2P1,R3P3}; • Anggota Resource

– Satu anggota resource tipe R1 – Dua anggota resource tipe R2 – Satu anggota resource tipe R3 – Tiga anggota resource tipe R4

(11)

Resource – Graph Alokasi

• Status Proses

1. Proses P1 membawa 1 anggota resource tipe R2 dan menunggu untuk mendapatkan anggota resource tipe R1.

2. Proses P2 membawa 1 anggota resource tipe R1 dan R2 dan menunggu untuk mendapatkan 1

anggota resource tipe R3.

(12)

Resource – Graph Alokasi

P1 P2 P3 R1 R3 R2 R4

(13)

Resource – Graph Alokasi

• Tipe – tipe resource antara lain:

a. CPU Cycles ( Preemptable)

b. Memory space ( Preemptable) c. Files ( Non-preemptable)

(14)

• Kondisi deadlock dapat dimodelkan dengan menggunakan sebuah graph yang disebut resource alocation graph ( RAG ).

• Terdiri dari 2 simpul :

• Kotak  mempresentasikan resources

• Lingkaran  mempresentasikan proses

(15)

• Terdiri dari 2 arah panah

a. Anak panah permintaan(request) yaitu : dari proses ke resource dan mempunyai arti proses memiliki resource yang diminta & menunggu memperolehnya.

b. Anak panah tugas ( assignment ) yaitu dari instants resource ke proses mempunyai arti proses sedang menahan instan resource

(16)

Metode Mengendalikan Deadlock

• Menggunakan protokol untuk meyakinkan bahwa sistem tidak pernah mengalami

deadlock.

• Mengizinkan sistem mengalami deadlock namun harus segera diperbaiki.

• Mengabaikan semua masalah dan

menganggap bahwa deadlock tidak akan terjadi kembali dalam sistem , contoh UNIX

(17)

Deadlock Prevention

( Pencegahan Deadlock )

• Sebuah kondisi untuk mengatasi deadlock dengan cara meyakinkan paling sedikit satu dari kondisi penyebab deadlock tidak akan terjadi.

• Mutual Exclusion  tetap menjaga resource-resource yang bersifat non-shareable. Yaitu proses menahan resource, proses lain

(18)

Deadlock Prevention

( Pencegahan Deadlock )

• Hold & wait  apabila suatu proses minta izin untuk akses resource maka proses tsb tidak

boleh membawa resource lain, sebelum proses meminta resource, maka harus melepas semua resource yang dibawa.

• Non preemption  jika proses minta izin untuk akses resources sementara resource tidak terpenuhi maka proses tsb harus

(19)

Deadlock Prevention

( Pencegahan Deadlock )

Circular Wait  memberi nomor pada setiap resource yang ada dan tiap resource hanya boleh akses resource secara berurutan.

• Deadlock Avoidence

Suatu pengujian secara dinamis untuk

meyakinkan bahwa tidak ada kondisi circular wait meliputi banyaknya resource yang

(20)

Deadlock Detection

• Ada beberapa cara mendeteksi adanya deadlock :

1. Gagalkan / batalkan semua proses yang deadlock 2. Backup semua proses yang deadlock &

merestract semua proses tersebut.

3. Gagalkan proses-proses yang deadlock secara berturut-turut sehingga tidak ada yang deadlock. 4. Gagalkan alokasi resource-resource secara

(21)

Cara Memilih Job Yang dibatalkan

• Beri prioritas dari proses

• Ketahui berapa panjang proses dan berapa lama eksekusinya.

• Ketahui sumber daya yang digunakan proses.

• Resource proses perlu tersedia penuh.

• Berapa banyak proses yang dihentikan.

(22)

Penghindaran Deadlock

• State selamat dan state tak selamat.

• State selamat ( safe state )

• Contoh :

• Pada sistem dengan 10 sumber daya setipe, proses A perlu sumber daya maksimum sebanyak 10, sedang saat ini menggenggam 2. proses B memerlukan

sumber daya maksimum 3, sedang saat ini

(23)

Proses Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 2 10 B 1 3 C 3 7 Tersedia 4

• Langkah 1 : alokasikan 4 sumber daya ke proses C sehingga sumber daya tersedia tinggal 1 dan nantikan proses C Berakhir.

Proses Jumlah sumber daya

digenggam

Maksimum sumber daya dibutuhkan

A 2 10

(24)

Maka setelah proses C selesai menjadi

Proses Jumlah sumber daya

digenggam Maksimum sumber daya dibutuhkan A 2 10 B 1 3 C 0 0 Tersedia 7

Langkah 2 : alokasikan 2 sumber daya ke proses B, nantikan proses B berakhir.

Proses Jumlah sumber daya

digenggam

Maksimum sumber daya dibutuhkan

(25)

Maka setelah proses B selesai menjadi

Proses Jumlah sumber daya

digenggam Maksimum sumber daya dibutuhkan A 2 10 B 0 0 C 0 0 Tersedia 8

Langkah 3 : alokasikan 8 sumber daya ke proses A, nantikan proses A berakhir.

Proses Jumlah sumber daya

digenggam

Maksimum sumber daya dibutuhkan

A 10 10

(26)

Maka setelah proses A selesai menjadi

Proses Jumlah sumber daya

digenggam Maksimum sumber daya dibutuhkan A 0 0 B 0 0 C 0 0 Tersedia 0

Maka ketiga proses tersebut dapat

(27)

State Tak Selamat ( Unsafe Sate )

• Dikatakan tak selamat jika tidak terdapat cara untuk memenuhi permintaan yang saat ini

ditunda dengan menjalankan proses dengan suatu urutan.

• Contoh :

• Soal dibawah ini adalah seperti soal state

selamat. State ini diubah menjadi tak selamat bila alokasi sumber daya tak terkendali.

(28)

Proses Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 2 10 B 1 3 C 3 7 Tersedia 4

State tsb diubah menjadi tak selamat bila

•2 permintaan sumber daya oleh proses A dilayani.

•Permintaan 1 sumber daya oleh proses B dilayani.

(29)

Proses Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 4 10 B 2 3 C 3 7 Tersedia 1

Langkah 1 : alokasikan 1 sumber daya ke proses B, sehingga sumber daya tersedia tinggal 1 dan

nantikan proses B berakhir.

Proses Jumlah sumber daya

digenggam

Maksimum sumber daya dibutuhkan

A 4 10

(30)

Maka setelah proses B selesai menjadi

Proses Jumlah sumber daya

digenggam Maksimum sumber daya dibutuhkan A 4 10 B 0 0 C 3 7 Tersedia 3

Saat ini hanya tersedia 3 sumber daya sementara 2 proses yang sedang aktif masing-masing

membutuhkan 6 dan 4 sumber daya. Maka kemungkinan terjadi deadlock

Referensi

Dokumen terkait

Sumber data yang digunakan dalam penelitian tersebut adalah sama-sama menggunakan data primer dengan sampel berupa kuisioner yang akan dibagikan terhadap para

Selama mengikuti kegiatan magang ini penulis ditempatkan pada Sub Bagian Keuangan dan Program dimana bagian tersebut sesuai dengan judul laporan magang penulis yaitu Proses

panitia adalah sesuai dengan usulan yang telah diajukan. g. Mengundang pemeriksa keuangan independen untuk

(Apabila ada keluangan waktu, ajak peserta untuk membaca bersama). 6) Lakukan diskusi tanya jawab untuk memperkuat pemahaman peserta. Sampaikan bahwa selanjutnya kita akan

Meningkatkan Lingkungan Permukiman Masyarakat Pidie yang Bersih, Sehat dan Nyaman serta Lingkungan yang Lestari melalui Pengelolaan Air Limbah Domestik Berwawasan Lingkungan

Pelatihan tata boga dilakukan selama 2 bulan, harapan dari kegiatan ini adalah menstimulasi masyarakat untuk mempunyai ketrampilan memasak dan membuat

Perempuan anggota Simpan Pinjam Kelompok Perempuan (SPP) yang tidak mengalami peningkatan pendapatan adalah mereka yang tidak menggunakan pinjaman untuk usaha, sehingga

16  Prosedur Operasi Standart yaitu dokumen yang berisi tata cara kerja yang terperinci dan harus diikuti demi mencapai keseragaman dalam menjalankan suatu aktivitas atau