SlideShare a Scribd company logo
1 of 12
SINKRONISASI DAN 
DEADLOCK 
Makalah Sistem Operasi 
Universitas Krisnadwipayana 1
Sinkronisasi 
Sinkronisasi adalah proses pengaturan jalannya 
beberapa proses pada saat yang bersamaan. Untuk 
saling bertukar data agar memiliki jumlah data yang 
sama. 
Tujuan utama sinkronisasi 
adalah untuk menghindari terjadinya inkonsitensi data 
karena pengaksesan oleh beberapa proses yang 
berbeda (mutual exclusion) serta untuk mengatur 
urutan jalannya proses-proses sehingga dapat berjalan 
dengan lancar dan terhindar dari deadlock dan 
starvation. Tujuan utama mungkin lebih condong ke 
arah back-up (membuat cadangan) 
Universitas Krisnadwipayana 2
SINKRONISASI 
Race condition 
situasi di mana beberapa proses mengakses 
dan memanipulasi data bersama pada saat 
besamaan. Nilai akhir dari data bersama 
tersebut tergantung pada proses yang terakhir 
selesai. Untuk mencegah race condition, 
proses-proses yang berjalan besamaan harus di 
disinkronisasi. 
Universitas Krisnadwipayana 3
SINKRONISASI 
Contoh race condition 
Pada program di samping, 
terlihat bahwa terdapat 
variabel counter yang 
diinisialisasi dengan nilai 
0, dan ditambah 1 setiap 
kali terjadi produksi serta 
dikurangi 1 setiap kali 
terjadi konsumsi. 
Universitas Krisnadwipayana 4
SINKRONISASI 
Contoh race condition pada Bahasa 
mesin 
Jika perintah counter++ dan counter-- 
berusaha mengakses nilai counter 
secara konkuren, maka nilai akhir dari 
counter bisa salah. Hal ini tidak berarti 
nilainya pasti salah, tapi ada 
kemungkinan untuk terjadi kesalahan. 
Universitas Krisnadwipayana 5
SINKRONISASI 
Contoh program 
yang memperlihatkan race 
condition 
Status akhir dari counter seharusnya adalah 0, 
tapi kalau urutan pengeksekusian program 
berjalan seperti di atas, maka hasil akhirnya 
menjadi 3. Perhatikan bahwa nilai akhir counter 
akan mengikuti eksekusi terakhir yang 
dilakukan oleh komputer. Pada program di atas, 
pilihannya bisa 1 atau 3. Perhatikan bahwa nilai 
dari counter akan bergantung dari perintah 
terakhir yang dieksekusi. Oleh karena itu maka 
kita membutuhkan sinkronisasi yang merupakan 
suatu upaya yang dilakukan agar proses-proses 
yang saling bekerjasama dieksekusi secara 
beraturan demi mencegah timbulnya suatu 
Universitas Krisnadwipayana 6 
keadaan race condition.
SINKRONISASI 
Critical selection 
adalah sebuah segmen kode di mana sebuah proses yang mana sumber daya bersama 
diakses. 
Bagian Critical selection : 
• Entry Section: kode yang digunakan untuk masuk ke dalam critical section 
• Critical Section: Kode di mana hanya ada satu proses yang dapat dieksekusi pada 
satu waktu 
• Exit Section: akhir dari critical section, mengizinkan proses lain 
• Remainder Section: kode istirahat setelah masuk ke critical section. 
Solusi critical selection: 
• Mutual exclution 
• Progress 
• Bounded Waiting 
Universitas Krisnadwipayana 7
SINKRONISASI 
Monitors 
adalah kumpulan prosedur, variabel dan struktur data di 
satu modul atau paket khusus (Hoare 1974). 
Proses dapat memanggil prosedur-prosedur kapan pun 
diinginkan. Tapi proses tak dapat mengakses struktur 
data internal dalam monitor secara langsung. Hanya 
lewat prosedur-prosedur yang dideklarasikan minitor 
untuk mengakses struktur internal 
Universitas Krisnadwipayana 8
SINKRONISASI 
Properti-properti monitor adalah sebagai berikut: 
• Variabel-variabel data lokal, hanya dapat diakses oleh prosedur-prosedur 
dala monitor dan tidak oleh prosedur di luar monitor. 
• Hanya satu proses yang dapat aktif di monitor pada satu saat. 
Kompilator harus mengimplementasi ini(mutual exclusion). 
• Terdapat cara agar proses yang tidak dapat berlangsung di-blocked. 
Menambahkan variabel-variabel kondisi, dengan dua operasi, yaitu Wait 
dan Signal. 
• Wait: Ketika prosedur monitor tidak dapat berkanjut (misal producer 
menemui buffer penuh) menyebabkan proses pemanggil diblocked dan 
mengizinkan proses lain masuk monitor. 
• Signal: Proses membangunkan partner-nya yang sedang diblocked 
dengan signal pada variabel kondisi yang sedang ditunggu partnernya. 
• Versi Hoare: Setelah signal, membangunkan proses baru agar berjalan 
dan menunda proses lain. 
• Versi Brinch Hansen: Setelah melakukan signal, proses segera keluar 
Universitas Krisnadwipayana 9 
dari monitor.
DEADLOCK 
Deadlock 
Disebut juga Deadly Embrace 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. 
Menghadapi dead lock 
1. Mengabaikan adanya deadlock. 
2. Memastikan bahwa deadlock tidak akan 
pernah ada, baik dengan metode 
Pencegahan, dengan mencegah empat 
kondisi deadlock agar tidak akan pernah 
terjadi. Metode Menghindari deadlock, yaitu 
mengizinkan empat kondisi deadlock, tetapi 
menghentikan setiap proses yang 
kemungkinan mencapai deadlock. 
3. Membiarkan deadlock untuk terjadi, 
pendekatan ini membutuhkan dua metode 
yang saling mendukung, yaitu: 
-Pendeteksian deadlock, untuk 
mengidentifikasi 
ketika deadlock terjadi. 
Pemulihan deadlock, mengembalikan 
kembali sumber daya yang 
dibutuhkan pada proses yang 
memintanya. 
Universitas Krisnadwipayana 10
DEADLOCK 
Mencegah dead lock 
Syarat Langkah Kelemahan 
Mutual ExclusionSpooling sumber daya Dapat menyebabkan chaos 
Hold and Wait Meminta sumber daya di awal Sulit memperkirakan di awal dan tidak optimal 
Universitas Krisnadwipayana 11 
No Pre-emptive 
Mengambil sumber daya di tengah 
proses Hasil proses tidak akan baik 
Circular Wait Penomoran permintaan sumber daya 
Tidak ada penomoran yang memuaskan semua 
pihak
Universitas Krisnadwipayana 12

More Related Content

What's hot

Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automataahmad haidaroh
 
Sequential Search
Sequential SearchSequential Search
Sequential SearchPutra Andry
 
Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Tri Sugihartono
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsilaurensius08
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristikBaguss Chandrass
 
Deadlock pada sistem operasi
Deadlock pada sistem operasiDeadlock pada sistem operasi
Deadlock pada sistem operasiAyu Arri Andanni
 
RPL 1 (Lama) - Perancangan Perangkat Lunak
RPL 1 (Lama) - Perancangan Perangkat LunakRPL 1 (Lama) - Perancangan Perangkat Lunak
RPL 1 (Lama) - Perancangan Perangkat LunakAdam Mukharil Bachtiar
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerAuliaa Oktarianii
 
Penanganan Insiden Forensik
Penanganan Insiden ForensikPenanganan Insiden Forensik
Penanganan Insiden ForensikYanizar R
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaDEDE IRYAWAN
 
Sistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlockSistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlockSamuel Bosawer
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomataBanta Cut
 
7 sort dan merge
7 sort dan merge7 sort dan merge
7 sort dan mergeRenol Doang
 
membuat function dalam mysql
membuat function dalam mysqlmembuat function dalam mysql
membuat function dalam mysqlsukangimpi
 

What's hot (20)

Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
Sequential Search
Sequential SearchSequential Search
Sequential Search
 
Power Point \ PPT - Memori Eksternal
Power Point \ PPT - Memori EksternalPower Point \ PPT - Memori Eksternal
Power Point \ PPT - Memori Eksternal
 
Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)
 
Memory
MemoryMemory
Memory
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
 
GoLang_1
GoLang_1GoLang_1
GoLang_1
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
 
Contoh data mining
Contoh data miningContoh data mining
Contoh data mining
 
Deadlock pada sistem operasi
Deadlock pada sistem operasiDeadlock pada sistem operasi
Deadlock pada sistem operasi
 
RPL 1 (Lama) - Perancangan Perangkat Lunak
RPL 1 (Lama) - Perancangan Perangkat LunakRPL 1 (Lama) - Perancangan Perangkat Lunak
RPL 1 (Lama) - Perancangan Perangkat Lunak
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
 
Penanganan Insiden Forensik
Penanganan Insiden ForensikPenanganan Insiden Forensik
Penanganan Insiden Forensik
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
 
Model dan Simulasi
Model dan SimulasiModel dan Simulasi
Model dan Simulasi
 
Sistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlockSistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlock
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
7 sort dan merge
7 sort dan merge7 sort dan merge
7 sort dan merge
 
Algoritma Genetika
Algoritma GenetikaAlgoritma Genetika
Algoritma Genetika
 
membuat function dalam mysql
membuat function dalam mysqlmembuat function dalam mysql
membuat function dalam mysql
 

Viewers also liked

Nurrohmah - Sinkronisasi Proses
Nurrohmah - Sinkronisasi ProsesNurrohmah - Sinkronisasi Proses
Nurrohmah - Sinkronisasi Prosesbelajarkomputer
 
Scheduling - Penjadwalan Sistem Operasi
Scheduling - Penjadwalan Sistem OperasiScheduling - Penjadwalan Sistem Operasi
Scheduling - Penjadwalan Sistem Operasiraenigalih
 
Makalah Sistem Operasi
Makalah Sistem OperasiMakalah Sistem Operasi
Makalah Sistem Operasidedisutrisno
 
Komunikasi Antar Proses
Komunikasi Antar ProsesKomunikasi Antar Proses
Komunikasi Antar ProsesSonny Grimaldi
 
6. Konkurensi_deadlock & starvation (pert 9 & 10)
6. Konkurensi_deadlock & starvation (pert 9 & 10)6. Konkurensi_deadlock & starvation (pert 9 & 10)
6. Konkurensi_deadlock & starvation (pert 9 & 10)Novian Anggis
 
Presentasi tgs baru
Presentasi tgs baruPresentasi tgs baru
Presentasi tgs baruAri Jayati
 
Islam dan Ilmu Pengetahuan
Islam dan Ilmu PengetahuanIslam dan Ilmu Pengetahuan
Islam dan Ilmu PengetahuanAsri Yunita
 
Integrasi Ilmu Pengetahuan dan Islam Perspektif Filsafat
Integrasi Ilmu Pengetahuan dan Islam Perspektif FilsafatIntegrasi Ilmu Pengetahuan dan Islam Perspektif Filsafat
Integrasi Ilmu Pengetahuan dan Islam Perspektif FilsafatEeLly Lunjani
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShareSlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShareSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Viewers also liked (16)

Nurrohmah - Sinkronisasi Proses
Nurrohmah - Sinkronisasi ProsesNurrohmah - Sinkronisasi Proses
Nurrohmah - Sinkronisasi Proses
 
Scheduling - Penjadwalan Sistem Operasi
Scheduling - Penjadwalan Sistem OperasiScheduling - Penjadwalan Sistem Operasi
Scheduling - Penjadwalan Sistem Operasi
 
Makalah Sistem Operasi
Makalah Sistem OperasiMakalah Sistem Operasi
Makalah Sistem Operasi
 
presentasi memori
 presentasi memori presentasi memori
presentasi memori
 
Sinkronisasi
SinkronisasiSinkronisasi
Sinkronisasi
 
Komunikasi Antar Proses
Komunikasi Antar ProsesKomunikasi Antar Proses
Komunikasi Antar Proses
 
6. Konkurensi_deadlock & starvation (pert 9 & 10)
6. Konkurensi_deadlock & starvation (pert 9 & 10)6. Konkurensi_deadlock & starvation (pert 9 & 10)
6. Konkurensi_deadlock & starvation (pert 9 & 10)
 
Rom & EPROM UTS lisfa
Rom & EPROM UTS lisfaRom & EPROM UTS lisfa
Rom & EPROM UTS lisfa
 
Presentasi tgs baru
Presentasi tgs baruPresentasi tgs baru
Presentasi tgs baru
 
Islam dan Ilmu Pengetahuan
Islam dan Ilmu PengetahuanIslam dan Ilmu Pengetahuan
Islam dan Ilmu Pengetahuan
 
Integrasi Ilmu Pengetahuan dan Islam Perspektif Filsafat
Integrasi Ilmu Pengetahuan dan Islam Perspektif FilsafatIntegrasi Ilmu Pengetahuan dan Islam Perspektif Filsafat
Integrasi Ilmu Pengetahuan dan Islam Perspektif Filsafat
 
RAM (Random Access Memory)
RAM (Random Access Memory)RAM (Random Access Memory)
RAM (Random Access Memory)
 
Ppt filsafat pancasila
Ppt filsafat pancasilaPpt filsafat pancasila
Ppt filsafat pancasila
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar to Ppt sinkronisasi dalam Sistem Operasi

Slide3 manajemen proses
Slide3 manajemen prosesSlide3 manajemen proses
Slide3 manajemen prosesHz Tena
 
Bernis Sagita - Konkurensi
Bernis Sagita - KonkurensiBernis Sagita - Konkurensi
Bernis Sagita - Konkurensibelajarkomputer
 
Pertemuan ke 2
Pertemuan ke 2Pertemuan ke 2
Pertemuan ke 2ndriehs
 
Sistem Operasi - 9 [Deadlock]
Sistem Operasi - 9 [Deadlock]Sistem Operasi - 9 [Deadlock]
Sistem Operasi - 9 [Deadlock]beiharira
 
Chapter 13 - SISTER
Chapter 13 - SISTERChapter 13 - SISTER
Chapter 13 - SISTERbeiharira
 
Helen Alida Abilio - Konkurensi
Helen Alida Abilio - KonkurensiHelen Alida Abilio - Konkurensi
Helen Alida Abilio - Konkurensibelajarkomputer
 
Deadlock rahmawati
Deadlock   rahmawatiDeadlock   rahmawati
Deadlock rahmawatisarman yahya
 
PPT BAB 6 PENJADWALAN CPU
PPT BAB 6 PENJADWALAN CPUPPT BAB 6 PENJADWALAN CPU
PPT BAB 6 PENJADWALAN CPUAkbar Yunus
 
42519051 Bab 6 Sinkronisasi
42519051 Bab 6  Sinkronisasi42519051 Bab 6  Sinkronisasi
42519051 Bab 6 SinkronisasiAbdulRahman1543
 
13. sistem terdistribusi (dha13)
13. sistem terdistribusi (dha13)13. sistem terdistribusi (dha13)
13. sistem terdistribusi (dha13)khalghy
 

Similar to Ppt sinkronisasi dalam Sistem Operasi (20)

Os ppt.6
Os ppt.6Os ppt.6
Os ppt.6
 
Pert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlockPert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlock
 
Slide3 manajemen proses
Slide3 manajemen prosesSlide3 manajemen proses
Slide3 manajemen proses
 
Pertemuan ke 6
Pertemuan ke 6Pertemuan ke 6
Pertemuan ke 6
 
Bernis Sagita - Konkurensi
Bernis Sagita - KonkurensiBernis Sagita - Konkurensi
Bernis Sagita - Konkurensi
 
8.sinkronisasi
8.sinkronisasi8.sinkronisasi
8.sinkronisasi
 
Pertemuan 8
Pertemuan 8Pertemuan 8
Pertemuan 8
 
Os ppt.7
Os ppt.7Os ppt.7
Os ppt.7
 
Pert.6 deadlock lanjutan
Pert.6 deadlock lanjutanPert.6 deadlock lanjutan
Pert.6 deadlock lanjutan
 
VI.Sinkronisasi.ppt
VI.Sinkronisasi.pptVI.Sinkronisasi.ppt
VI.Sinkronisasi.ppt
 
Pertemuan ke 2
Pertemuan ke 2Pertemuan ke 2
Pertemuan ke 2
 
Sistem Operasi - 9 [Deadlock]
Sistem Operasi - 9 [Deadlock]Sistem Operasi - 9 [Deadlock]
Sistem Operasi - 9 [Deadlock]
 
Chapter 13 - SISTER
Chapter 13 - SISTERChapter 13 - SISTER
Chapter 13 - SISTER
 
Helen Alida Abilio - Konkurensi
Helen Alida Abilio - KonkurensiHelen Alida Abilio - Konkurensi
Helen Alida Abilio - Konkurensi
 
Tugas terdistribusi
Tugas terdistribusiTugas terdistribusi
Tugas terdistribusi
 
Deadlock kelompok 3
Deadlock   kelompok 3Deadlock   kelompok 3
Deadlock kelompok 3
 
Deadlock rahmawati
Deadlock   rahmawatiDeadlock   rahmawati
Deadlock rahmawati
 
PPT BAB 6 PENJADWALAN CPU
PPT BAB 6 PENJADWALAN CPUPPT BAB 6 PENJADWALAN CPU
PPT BAB 6 PENJADWALAN CPU
 
42519051 Bab 6 Sinkronisasi
42519051 Bab 6  Sinkronisasi42519051 Bab 6  Sinkronisasi
42519051 Bab 6 Sinkronisasi
 
13. sistem terdistribusi (dha13)
13. sistem terdistribusi (dha13)13. sistem terdistribusi (dha13)
13. sistem terdistribusi (dha13)
 

Ppt sinkronisasi dalam Sistem Operasi

  • 1. SINKRONISASI DAN DEADLOCK Makalah Sistem Operasi Universitas Krisnadwipayana 1
  • 2. Sinkronisasi Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan. Untuk saling bertukar data agar memiliki jumlah data yang sama. Tujuan utama sinkronisasi adalah untuk menghindari terjadinya inkonsitensi data karena pengaksesan oleh beberapa proses yang berbeda (mutual exclusion) serta untuk mengatur urutan jalannya proses-proses sehingga dapat berjalan dengan lancar dan terhindar dari deadlock dan starvation. Tujuan utama mungkin lebih condong ke arah back-up (membuat cadangan) Universitas Krisnadwipayana 2
  • 3. SINKRONISASI Race condition situasi di mana beberapa proses mengakses dan memanipulasi data bersama pada saat besamaan. Nilai akhir dari data bersama tersebut tergantung pada proses yang terakhir selesai. Untuk mencegah race condition, proses-proses yang berjalan besamaan harus di disinkronisasi. Universitas Krisnadwipayana 3
  • 4. SINKRONISASI Contoh race condition Pada program di samping, terlihat bahwa terdapat variabel counter yang diinisialisasi dengan nilai 0, dan ditambah 1 setiap kali terjadi produksi serta dikurangi 1 setiap kali terjadi konsumsi. Universitas Krisnadwipayana 4
  • 5. SINKRONISASI Contoh race condition pada Bahasa mesin Jika perintah counter++ dan counter-- berusaha mengakses nilai counter secara konkuren, maka nilai akhir dari counter bisa salah. Hal ini tidak berarti nilainya pasti salah, tapi ada kemungkinan untuk terjadi kesalahan. Universitas Krisnadwipayana 5
  • 6. SINKRONISASI Contoh program yang memperlihatkan race condition Status akhir dari counter seharusnya adalah 0, tapi kalau urutan pengeksekusian program berjalan seperti di atas, maka hasil akhirnya menjadi 3. Perhatikan bahwa nilai akhir counter akan mengikuti eksekusi terakhir yang dilakukan oleh komputer. Pada program di atas, pilihannya bisa 1 atau 3. Perhatikan bahwa nilai dari counter akan bergantung dari perintah terakhir yang dieksekusi. Oleh karena itu maka kita membutuhkan sinkronisasi yang merupakan suatu upaya yang dilakukan agar proses-proses yang saling bekerjasama dieksekusi secara beraturan demi mencegah timbulnya suatu Universitas Krisnadwipayana 6 keadaan race condition.
  • 7. SINKRONISASI Critical selection adalah sebuah segmen kode di mana sebuah proses yang mana sumber daya bersama diakses. Bagian Critical selection : • Entry Section: kode yang digunakan untuk masuk ke dalam critical section • Critical Section: Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu • Exit Section: akhir dari critical section, mengizinkan proses lain • Remainder Section: kode istirahat setelah masuk ke critical section. Solusi critical selection: • Mutual exclution • Progress • Bounded Waiting Universitas Krisnadwipayana 7
  • 8. SINKRONISASI Monitors adalah kumpulan prosedur, variabel dan struktur data di satu modul atau paket khusus (Hoare 1974). Proses dapat memanggil prosedur-prosedur kapan pun diinginkan. Tapi proses tak dapat mengakses struktur data internal dalam monitor secara langsung. Hanya lewat prosedur-prosedur yang dideklarasikan minitor untuk mengakses struktur internal Universitas Krisnadwipayana 8
  • 9. SINKRONISASI Properti-properti monitor adalah sebagai berikut: • Variabel-variabel data lokal, hanya dapat diakses oleh prosedur-prosedur dala monitor dan tidak oleh prosedur di luar monitor. • Hanya satu proses yang dapat aktif di monitor pada satu saat. Kompilator harus mengimplementasi ini(mutual exclusion). • Terdapat cara agar proses yang tidak dapat berlangsung di-blocked. Menambahkan variabel-variabel kondisi, dengan dua operasi, yaitu Wait dan Signal. • Wait: Ketika prosedur monitor tidak dapat berkanjut (misal producer menemui buffer penuh) menyebabkan proses pemanggil diblocked dan mengizinkan proses lain masuk monitor. • Signal: Proses membangunkan partner-nya yang sedang diblocked dengan signal pada variabel kondisi yang sedang ditunggu partnernya. • Versi Hoare: Setelah signal, membangunkan proses baru agar berjalan dan menunda proses lain. • Versi Brinch Hansen: Setelah melakukan signal, proses segera keluar Universitas Krisnadwipayana 9 dari monitor.
  • 10. DEADLOCK Deadlock Disebut juga Deadly Embrace 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. Menghadapi dead lock 1. Mengabaikan adanya deadlock. 2. Memastikan bahwa deadlock tidak akan pernah ada, baik dengan metode Pencegahan, dengan mencegah empat kondisi deadlock agar tidak akan pernah terjadi. Metode Menghindari deadlock, yaitu mengizinkan empat kondisi deadlock, tetapi menghentikan setiap proses yang kemungkinan mencapai deadlock. 3. Membiarkan deadlock untuk terjadi, pendekatan ini membutuhkan dua metode yang saling mendukung, yaitu: -Pendeteksian deadlock, untuk mengidentifikasi ketika deadlock terjadi. Pemulihan deadlock, mengembalikan kembali sumber daya yang dibutuhkan pada proses yang memintanya. Universitas Krisnadwipayana 10
  • 11. DEADLOCK Mencegah dead lock Syarat Langkah Kelemahan Mutual ExclusionSpooling sumber daya Dapat menyebabkan chaos Hold and Wait Meminta sumber daya di awal Sulit memperkirakan di awal dan tidak optimal Universitas Krisnadwipayana 11 No Pre-emptive Mengambil sumber daya di tengah proses Hasil proses tidak akan baik Circular Wait Penomoran permintaan sumber daya Tidak ada penomoran yang memuaskan semua pihak