SlideShare ist ein Scribd-Unternehmen logo
1 von 25
MANAJEMEN PROSES
SINKRONISASI
&
DEADLOCK
SINKRONISASI
 Latar Belakang
1. Akses-akses yang dilakukan secara bersama-sama ke
data yang sama, dapat menyebabkan data menjadi
tidak konsisten.
2. Untuk menjaga agar data tetap konsisten, dibutuhkan
mekanisme-mekanisme untuk memastikan pemintaan
ekseskusi dari proses yang bekerja.
Race Condition
 Race Condition adalah 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. Unutk mencegah race
condition, proses-proses yang berjalan besamaan harus di di
sinkronisasi.
Contoh :
 Ketika sebuah proses ingin mencetak sebuah berkas, proses
tersebut memasukkan nama berkas ke dalam sebuah spooler
direktori yang khusus. Proses yang lain printer, secara periodik
memeriksa untuk mengetahui jika ada banyak berkas yang akan
dicetak, dan jika ada berkas yang sudah dicetak dihilangkan
nama berkasnya dari direktori.
Critical Section (1)
 Bagian dari program dimana shared memory diakses disebut Critical
Section atau Critical Region.
 Walau pun dapat mencegah race conditions, tapi tidak cukup untuk
melakukan kerjasama antar proses secara pararel dengan baik dan
efisien dalam menggunakan shared data. Kita butuh 4 kondisi agar
menghasilkan solusi yang baik:
1. Tidak ada dua proses secara bersamaan masuk ke dalam citical
section.
2. Tidak ada asumsi mengenai kecepatan atau jumlah cpu.
3. Tidak ada proses yang berjalan di luar critical secion yang dapat
mengeblok proses lain.
4. Tidak ada proses yang menunggu selamamya untuk masuk critical
section.
Critical Section (2)
 Critical Section adalah sebuah segmen kode di
mana sebuah proses yang mana sumber daya
bersama diakses. Terdiri dari:
1. Entry Section: kode yang digunakan untuk masuk
ke dalam critical section
2. Critical Section: Kode di mana hanya ada satu
proses yang dapat dieksekusi pada satu waktu
3. Exit Section: akhir dari critical section, mengizinkan
proses lain
4. Remainder Section: kode istirahat setelah masuk
ke critical section
SOLUSI MASALAH Critical
Section
 Mutual Exclusion
Jika proses Pi sedang mengeksekusi critical section-nya maka
tidak ada proses lain yang dapat mengeksekusi dalam critical
section.
 Progress
Jika ada proses yang sedang dieksekusi dalam critical section
dan ada beberapa proses yang ingin masuk, maka pemilihan
proses yang akan masuk ke critical section berikutnya tidak bisa
ditunda
 Bounded Waiting
Ada sejumlah proses yang diijinkan masuk ke critical section,
proses dieksekusi pada nonzero speed (dianggap kecepatannya
sama)
Semaphore sebagai Alat Sinkronisasi
 Mengeksekusi B dalam Pj hanya setelah A dieksekusi di Pi
 Penggunaan semaphore flag intisial 0
 Kode
Pi Pj
… …
A signal(flag)
wait(flag) B
 Dua tipe semaphore
1. Opersi Down Operasi ini menurunkan nilai semaphore, jika
nilai semaphore menjadi non-positif maka proses yang
mengeksekusinya diblocked.
2. Operasi Up menakkan nilai semaphore. Jika satu proses atau
lebih diblocked pada semaphore itu tak dapat menyelesaikan
operasi Down, maka salah satu dipilih oleh system dan
menyelesaikan operasi Down-nya. Urutan proses yang dipilih
tidak ditentukan dapat dipilih secara acak.
DEADLOCK
 Dua atau lebih proses yang menunggu dengan tidak terbatas untuk
suatu peristiwa yang disebabkan oleh salah satu dari waiting proses
 Membiarkan S dan Q menjadi 2 semaphore
P1 P2
Wait x Wait y
Wait y Wait x
Signal(x) Signal(y)
Signal(y) Signal(x)
 Starvation  indefinite blocking. Suatu proses yang tidak boleh
dipindahkan dari semaphore queue ditempatnya berada
Resources-Allocation Graph
 Sebuah cara visual (matematika) untuk menentukan apakah ada
deadlock, atau kemungkinan terjadinya.
 G = (V, E) Graf berisi node and edge. Node V terdiri dari proses-
proses = {P1, P2, P3, ...} dan jenis resource. {R1, R2, ...} Edge E
adalah (Pi, Rj) atau (Ri, Pj)
 Sebuah panah dari process ke resource menandakan proses
meminta resource. Sebuah panah dari resource ke process
menunjukkan sebuah instance dari resource telah dtempatkan
ke proses.
 Process adalah lingkaran, resource adalah kotak; titik-titik
merepresentasikan jumlah instance dari resource Dalam tipe.
Meminta poin-poin ke kotak, perintah datang dari titik.
Resources-Allocation Graph
 Contoh gambar
Resource-Allocation
Graph
Resources-Allocation Graph
 Jika resource memiliki
banyak instance maka
deadlock terjadi
Resources-Allocation Graph
 Jika setiap tipe
resource memiliki satu
instance, maka
deadlock mungkin akan
terjadi
Metode Menangani Deadlock
 Memastikan bahwa sistem tidak pernah
memasuki status deadlock
 Mengijinkan sistem untuk memasuki status
deadlock dan kemudian dipulihkan
 Mengabaikan masalah deadlock dan
menganggap bahwa deadlock tidak pernah
terjadi dalam sistem
Model Sistem
 Menurut Coffman dalam bukunya "Operating System" menyebutkan
empat syarat bagi terjadinya deadlock, yaitu:
1. Mutual Exclusion
Suatu kondisi dimana setiap sumber daya diberikan tepat pada satu
proses pada suatu waktu.
2. Hold and Wait
Kondisi yang menyatakan proses-proses yang sedang memakai
suatu sumber daya dapat meminta sumber daya yang lain.
3. Non-pre-emptive
Kondisi dimana suatu sumber daya yang sedang berada pada suatu
proses tidak dapat diambil secara paksa dari proses tersebut,sampai
proses itu melepaskannya.
4. Circular Wait
Kondisi yang menyatakan bahwa adanya rantai saling meminta
sumber daya yang dimiliki oleh suatu proses oleh proses lainnya.
Strategi menghadapi Deadlock
 Strategi untuk menghadapi deadlock dapat dibagi menjadi tiga
pendekatan, yaitu:
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.
Strategi Ostrich
 Pendekatan yang paling sederhana adalah dengan
menggunakan strategi burung unta: masukkan kepala dalam
pasir dan seolah-olah tidak pernah ada masalah sama sekali.
 Beragam pendapat muncul berkaitan dengan strategi ini.
Menurut para ahli Matematika, cara ini sama sekali tidak dapat
diterima dan semua keadaan deadlock harus ditangani.
 Sementara menurut para ahli Teknik, jika komputer lebih sering
mengalami kerusakkan disebabkan oleh kegagalan hardware,
error pada kompilator atau bugs pada sistem operasi. Maka
ongkos yang dibayar untuk melakukan penanganan deadlock
sangatlah besar dan lebih baik mengabaikan keadaan deadlock
tersebut. Metode ini diterapkan pada sistem operasi UNIX
Mencegah Deadlock
Syarat Langkah Kelemahan
Mutual Exclusion Spooling sumber daya Dapat menyebabkan
chaos
Hold and Wait Meminta sumber daya di
awal
Sulit memperkirakan di
awal dan tidak optimal
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
Secara ringkas pendekatan yang digunakan pada metode pencegahan
deadlock dan masalah-masalah yang menghambatnya, terangkum dibawah ini
Menghindari Deadlock
 Pendekatan 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.
 Kondisi aman yang dimaksudkan selanjutnya disebut sebagai safe-state,
sedangkan keadaan yang tidak memungkinkan untuk diberikan sumber daya
yang diminta disebut unsafe-state.
 Kondisi Aman (Safe state)
Suatu keadaan dapat dinyatakan sebagai safe state jika tidak terjadi
deadlock dan terdapat cara untuk memenuhi semua permintaan sumber
daya yang ditunda tanpa menghasilkan deadlock. Dengan cara mengikuti
urutan tertentu.
 Kondisi Tak Aman (Unsafe state)
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.
ALGORITMA BANKER’S
 Misal ada n proses dalam sistem dan ada m
Resource, maka dibutuhkan :
 Available  suatu vektor dengan panjang m yang
menunjukkan resource2 yang tersedia untuk setiap
tipe
 Max  matrik n X m yang mendifinisikan maksimum
permintaan untuk tipe2 proses
 Allocation  matrik n X m yang mendifinisikan
jumlah resource untuk tiap2 tipe yang sedang
dialokasikan untuk tiap2 tipe proses
 Need  matrik n X m yang menunjukkan sisa
resource yang dibutuhkan tiap2 proses
Contoh
Recovery Deadlock : Proses
Termination
 Membatalkan semua proses deadlock
 Membatalkan suatu proses pada waktu yang
sama sampai siklus deadlock dihapuskan
Recovery Deadlock : Resource
Preemption
 Selecting a victim  memperkecil biaya
 Rollback  kembali ke beberapa save state,
restart kembali proses untuk status tersebut
 Starvation  proses yang sama boleh
dijadikan korban, meliputi jumlah rollback
dalam faktor pembiayaan
Cara memilih Order untuk
Dibatalkan?
 Prioritas proses
 Berapa lama proses telah menghitung dan
berapa lama sampai ke penyelesaian
 Sumber daya proses telah digunakan
 Sumber daya proses harus lengkap
 Berapa banyak proses yang perlu diakhiri
Kombinasi penanganan
Deadlock
 Menggkombinasi 3 pendekatan dasar :
1. Pencegahan (prevention)
2. Penghindaran (avoidance)
3. Pendekteksian (detection)
 Membagi sumber daya kedalam order class
 Menggunakan teknik yang sesuai untuk
menangani deadlock di tiap klas
Kesimpulan
 Kondisi deadlock akan dapat terjadi jika terdapat dua atau lebih proses yang
akan mengakses sumber daya yang sedang dipakai oleh proses yang lainnya.
Pendekatan untuk mengatasi deadlock dipakai tiga buah pendekatan, yaitu:
1. Memastikan bahwa tidak pernah dicapai kondisi deadlock
2. Membiarkan deadlock untuk terjadi dan memulihkannya
3. Mengabaikan apa pun deadlock yang terjadi
 Dari ketiga pendekatan diatas, dapat diturunkan menjadi empat buah metode
untuk mengatasi deadlock, yaitu:
1. Pencegahan deadlock
2. Menghindari deadlock
3. Mendeteksi deadlock
4. Pemulihan deadlock
 Silberschatz (1994) merumuskan sebuah strategi penanggulangan deadlock
terpadu yang dapat disesuaikan dengan kondisi dan situasi yang berbeda,
strateginya sendiri berbunyi:
1. Kelompokkan sumber daya kedalam kelas yang berbeda
2. Gunakan strategi pengurutan linear untuk mencegah kondisi circular waityang
nantinya akan mencegah deadlock diantara kelas sumber daya
3. Gunakan algoritma yang paling cocok untuk suatu kelas sumber daya yang
berbeda satu dengan yang lain

Weitere ähnliche Inhalte

Was ist angesagt?

Deadlock rahmawati
Deadlock   rahmawatiDeadlock   rahmawati
Deadlock rahmawatisarman yahya
 
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
 
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdfDeadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdfARYAPUTRAABSHARI
 
Sistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlockSistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlockSamuel Bosawer
 
Taofik Hidayat Ilham - Deadlock
Taofik Hidayat Ilham - DeadlockTaofik Hidayat Ilham - Deadlock
Taofik Hidayat Ilham - Deadlockbelajarkomputer
 

Was ist angesagt? (11)

Deadlock rahmawati
Deadlock   rahmawatiDeadlock   rahmawati
Deadlock rahmawati
 
Sistem Operasi - 9 [Deadlock]
Sistem Operasi - 9 [Deadlock]Sistem Operasi - 9 [Deadlock]
Sistem Operasi - 9 [Deadlock]
 
7 deadlock uplod
7 deadlock uplod7 deadlock uplod
7 deadlock uplod
 
Chapter 13 - SISTER
Chapter 13 - SISTERChapter 13 - SISTER
Chapter 13 - SISTER
 
Sinkronisasi
SinkronisasiSinkronisasi
Sinkronisasi
 
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdfDeadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
 
Os07
Os07Os07
Os07
 
Sistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlockSistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlock
 
Os ppt.6
Os ppt.6Os ppt.6
Os ppt.6
 
Taofik Hidayat Ilham - Deadlock
Taofik Hidayat Ilham - DeadlockTaofik Hidayat Ilham - Deadlock
Taofik Hidayat Ilham - Deadlock
 
Pertemuan ke 6
Pertemuan ke 6Pertemuan ke 6
Pertemuan ke 6
 

Ähnlich wie Slide3 manajemen proses

MF427_10_172043.ppt
MF427_10_172043.pptMF427_10_172043.ppt
MF427_10_172043.pptAdanImam1
 
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxPertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxYaya610291
 
6.deadlockdan starvation
6.deadlockdan starvation6.deadlockdan starvation
6.deadlockdan starvationnasib silaban
 
Sri Handayani - Deadlock
Sri Handayani  - DeadlockSri Handayani  - Deadlock
Sri Handayani - Deadlockbelajarkomputer
 
42519051 bab 7 dead_lock
42519051 bab 7 dead_lock42519051 bab 7 dead_lock
42519051 bab 7 dead_lockAbdulRahman1543
 
Yogie Saputra - Deadlock
Yogie Saputra - DeadlockYogie Saputra - Deadlock
Yogie Saputra - Deadlockbelajarkomputer
 
Yogie Saputra - Deadlock
Yogie Saputra - DeadlockYogie Saputra - Deadlock
Yogie Saputra - Deadlockbelajarkomputer
 
Santi Yuliana - Deadlock
Santi Yuliana - DeadlockSanti Yuliana - Deadlock
Santi Yuliana - Deadlockbelajarkomputer
 
Ferli Apriadi - Deadlock
Ferli Apriadi - DeadlockFerli Apriadi - Deadlock
Ferli Apriadi - Deadlockbelajarkomputer
 
Bernis Sagita - Deadlock
Bernis Sagita -  DeadlockBernis Sagita -  Deadlock
Bernis Sagita - Deadlockbelajarkomputer
 
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdfMakalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdfElmitiodatacp
 
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
 

Ähnlich wie Slide3 manajemen proses (20)

Pert.6 deadlock lanjutan
Pert.6 deadlock lanjutanPert.6 deadlock lanjutan
Pert.6 deadlock lanjutan
 
MF427_10_172043.ppt
MF427_10_172043.pptMF427_10_172043.ppt
MF427_10_172043.ppt
 
Tugas terdistribusi
Tugas terdistribusiTugas terdistribusi
Tugas terdistribusi
 
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxPertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
 
Deadlock kelompok 3
Deadlock   kelompok 3Deadlock   kelompok 3
Deadlock kelompok 3
 
6.deadlockdan starvation
6.deadlockdan starvation6.deadlockdan starvation
6.deadlockdan starvation
 
Deadlock
DeadlockDeadlock
Deadlock
 
Sri Handayani - Deadlock
Sri Handayani  - DeadlockSri Handayani  - Deadlock
Sri Handayani - Deadlock
 
42519051 bab 7 dead_lock
42519051 bab 7 dead_lock42519051 bab 7 dead_lock
42519051 bab 7 dead_lock
 
Pert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlockPert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlock
 
Yogie Saputra - Deadlock
Yogie Saputra - DeadlockYogie Saputra - Deadlock
Yogie Saputra - Deadlock
 
Yogie Saputra - Deadlock
Yogie Saputra - DeadlockYogie Saputra - Deadlock
Yogie Saputra - Deadlock
 
Santi Yuliana - Deadlock
Santi Yuliana - DeadlockSanti Yuliana - Deadlock
Santi Yuliana - Deadlock
 
Ferli Apriadi - Deadlock
Ferli Apriadi - DeadlockFerli Apriadi - Deadlock
Ferli Apriadi - Deadlock
 
Pertemuan 6 rev 310108_ok
Pertemuan 6 rev 310108_okPertemuan 6 rev 310108_ok
Pertemuan 6 rev 310108_ok
 
Bernis Sagita - Deadlock
Bernis Sagita -  DeadlockBernis Sagita -  Deadlock
Bernis Sagita - Deadlock
 
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdfMakalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
 
8.sinkronisasi
8.sinkronisasi8.sinkronisasi
8.sinkronisasi
 
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)
 
VI.Sinkronisasi.ppt
VI.Sinkronisasi.pptVI.Sinkronisasi.ppt
VI.Sinkronisasi.ppt
 

Mehr von Hz Tena

Anggaran bi konversi dan beban usaha
Anggaran bi konversi dan beban usahaAnggaran bi konversi dan beban usaha
Anggaran bi konversi dan beban usahaHz Tena
 
Anggaran perusahaan dagang
Anggaran perusahaan dagangAnggaran perusahaan dagang
Anggaran perusahaan dagangHz Tena
 
Anggaran Bahan Baku
Anggaran Bahan BakuAnggaran Bahan Baku
Anggaran Bahan BakuHz Tena
 
Anggaran Perusahaan
Anggaran Perusahaan Anggaran Perusahaan
Anggaran Perusahaan Hz Tena
 
Anggaran Penjualan
Anggaran PenjualanAnggaran Penjualan
Anggaran PenjualanHz Tena
 
Materi 1 anggaran
Materi 1 anggaranMateri 1 anggaran
Materi 1 anggaranHz Tena
 
Modul pelatihan bee accounting
Modul pelatihan bee accountingModul pelatihan bee accounting
Modul pelatihan bee accountingHz Tena
 
Siklusakuntansi 110607022635-phpapp02
Siklusakuntansi 110607022635-phpapp02Siklusakuntansi 110607022635-phpapp02
Siklusakuntansi 110607022635-phpapp02Hz Tena
 
Slide6 Arsitektur Hardware
Slide6 Arsitektur HardwareSlide6 Arsitektur Hardware
Slide6 Arsitektur HardwareHz Tena
 
Slide2 peran sistem operasi
Slide2 peran sistem operasiSlide2 peran sistem operasi
Slide2 peran sistem operasiHz Tena
 
Slide4 manajemen memori _Bu Indra
Slide4 manajemen memori _Bu IndraSlide4 manajemen memori _Bu Indra
Slide4 manajemen memori _Bu IndraHz Tena
 

Mehr von Hz Tena (12)

Bd
BdBd
Bd
 
Anggaran bi konversi dan beban usaha
Anggaran bi konversi dan beban usahaAnggaran bi konversi dan beban usaha
Anggaran bi konversi dan beban usaha
 
Anggaran perusahaan dagang
Anggaran perusahaan dagangAnggaran perusahaan dagang
Anggaran perusahaan dagang
 
Anggaran Bahan Baku
Anggaran Bahan BakuAnggaran Bahan Baku
Anggaran Bahan Baku
 
Anggaran Perusahaan
Anggaran Perusahaan Anggaran Perusahaan
Anggaran Perusahaan
 
Anggaran Penjualan
Anggaran PenjualanAnggaran Penjualan
Anggaran Penjualan
 
Materi 1 anggaran
Materi 1 anggaranMateri 1 anggaran
Materi 1 anggaran
 
Modul pelatihan bee accounting
Modul pelatihan bee accountingModul pelatihan bee accounting
Modul pelatihan bee accounting
 
Siklusakuntansi 110607022635-phpapp02
Siklusakuntansi 110607022635-phpapp02Siklusakuntansi 110607022635-phpapp02
Siklusakuntansi 110607022635-phpapp02
 
Slide6 Arsitektur Hardware
Slide6 Arsitektur HardwareSlide6 Arsitektur Hardware
Slide6 Arsitektur Hardware
 
Slide2 peran sistem operasi
Slide2 peran sistem operasiSlide2 peran sistem operasi
Slide2 peran sistem operasi
 
Slide4 manajemen memori _Bu Indra
Slide4 manajemen memori _Bu IndraSlide4 manajemen memori _Bu Indra
Slide4 manajemen memori _Bu Indra
 

Slide3 manajemen proses

  • 2. SINKRONISASI  Latar Belakang 1. Akses-akses yang dilakukan secara bersama-sama ke data yang sama, dapat menyebabkan data menjadi tidak konsisten. 2. Untuk menjaga agar data tetap konsisten, dibutuhkan mekanisme-mekanisme untuk memastikan pemintaan ekseskusi dari proses yang bekerja.
  • 3. Race Condition  Race Condition adalah 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. Unutk mencegah race condition, proses-proses yang berjalan besamaan harus di di sinkronisasi. Contoh :  Ketika sebuah proses ingin mencetak sebuah berkas, proses tersebut memasukkan nama berkas ke dalam sebuah spooler direktori yang khusus. Proses yang lain printer, secara periodik memeriksa untuk mengetahui jika ada banyak berkas yang akan dicetak, dan jika ada berkas yang sudah dicetak dihilangkan nama berkasnya dari direktori.
  • 4. Critical Section (1)  Bagian dari program dimana shared memory diakses disebut Critical Section atau Critical Region.  Walau pun dapat mencegah race conditions, tapi tidak cukup untuk melakukan kerjasama antar proses secara pararel dengan baik dan efisien dalam menggunakan shared data. Kita butuh 4 kondisi agar menghasilkan solusi yang baik: 1. Tidak ada dua proses secara bersamaan masuk ke dalam citical section. 2. Tidak ada asumsi mengenai kecepatan atau jumlah cpu. 3. Tidak ada proses yang berjalan di luar critical secion yang dapat mengeblok proses lain. 4. Tidak ada proses yang menunggu selamamya untuk masuk critical section.
  • 5. Critical Section (2)  Critical Section adalah sebuah segmen kode di mana sebuah proses yang mana sumber daya bersama diakses. Terdiri dari: 1. Entry Section: kode yang digunakan untuk masuk ke dalam critical section 2. Critical Section: Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu 3. Exit Section: akhir dari critical section, mengizinkan proses lain 4. Remainder Section: kode istirahat setelah masuk ke critical section
  • 6. SOLUSI MASALAH Critical Section  Mutual Exclusion Jika proses Pi sedang mengeksekusi critical section-nya maka tidak ada proses lain yang dapat mengeksekusi dalam critical section.  Progress Jika ada proses yang sedang dieksekusi dalam critical section dan ada beberapa proses yang ingin masuk, maka pemilihan proses yang akan masuk ke critical section berikutnya tidak bisa ditunda  Bounded Waiting Ada sejumlah proses yang diijinkan masuk ke critical section, proses dieksekusi pada nonzero speed (dianggap kecepatannya sama)
  • 7. Semaphore sebagai Alat Sinkronisasi  Mengeksekusi B dalam Pj hanya setelah A dieksekusi di Pi  Penggunaan semaphore flag intisial 0  Kode Pi Pj … … A signal(flag) wait(flag) B  Dua tipe semaphore 1. Opersi Down Operasi ini menurunkan nilai semaphore, jika nilai semaphore menjadi non-positif maka proses yang mengeksekusinya diblocked. 2. Operasi Up menakkan nilai semaphore. Jika satu proses atau lebih diblocked pada semaphore itu tak dapat menyelesaikan operasi Down, maka salah satu dipilih oleh system dan menyelesaikan operasi Down-nya. Urutan proses yang dipilih tidak ditentukan dapat dipilih secara acak.
  • 8. DEADLOCK  Dua atau lebih proses yang menunggu dengan tidak terbatas untuk suatu peristiwa yang disebabkan oleh salah satu dari waiting proses  Membiarkan S dan Q menjadi 2 semaphore P1 P2 Wait x Wait y Wait y Wait x Signal(x) Signal(y) Signal(y) Signal(x)  Starvation  indefinite blocking. Suatu proses yang tidak boleh dipindahkan dari semaphore queue ditempatnya berada
  • 9. Resources-Allocation Graph  Sebuah cara visual (matematika) untuk menentukan apakah ada deadlock, atau kemungkinan terjadinya.  G = (V, E) Graf berisi node and edge. Node V terdiri dari proses- proses = {P1, P2, P3, ...} dan jenis resource. {R1, R2, ...} Edge E adalah (Pi, Rj) atau (Ri, Pj)  Sebuah panah dari process ke resource menandakan proses meminta resource. Sebuah panah dari resource ke process menunjukkan sebuah instance dari resource telah dtempatkan ke proses.  Process adalah lingkaran, resource adalah kotak; titik-titik merepresentasikan jumlah instance dari resource Dalam tipe. Meminta poin-poin ke kotak, perintah datang dari titik.
  • 10. Resources-Allocation Graph  Contoh gambar Resource-Allocation Graph
  • 11. Resources-Allocation Graph  Jika resource memiliki banyak instance maka deadlock terjadi
  • 12. Resources-Allocation Graph  Jika setiap tipe resource memiliki satu instance, maka deadlock mungkin akan terjadi
  • 13. Metode Menangani Deadlock  Memastikan bahwa sistem tidak pernah memasuki status deadlock  Mengijinkan sistem untuk memasuki status deadlock dan kemudian dipulihkan  Mengabaikan masalah deadlock dan menganggap bahwa deadlock tidak pernah terjadi dalam sistem
  • 14. Model Sistem  Menurut Coffman dalam bukunya "Operating System" menyebutkan empat syarat bagi terjadinya deadlock, yaitu: 1. Mutual Exclusion Suatu kondisi dimana setiap sumber daya diberikan tepat pada satu proses pada suatu waktu. 2. Hold and Wait Kondisi yang menyatakan proses-proses yang sedang memakai suatu sumber daya dapat meminta sumber daya yang lain. 3. Non-pre-emptive Kondisi dimana suatu sumber daya yang sedang berada pada suatu proses tidak dapat diambil secara paksa dari proses tersebut,sampai proses itu melepaskannya. 4. Circular Wait Kondisi yang menyatakan bahwa adanya rantai saling meminta sumber daya yang dimiliki oleh suatu proses oleh proses lainnya.
  • 15. Strategi menghadapi Deadlock  Strategi untuk menghadapi deadlock dapat dibagi menjadi tiga pendekatan, yaitu: 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.
  • 16. Strategi Ostrich  Pendekatan yang paling sederhana adalah dengan menggunakan strategi burung unta: masukkan kepala dalam pasir dan seolah-olah tidak pernah ada masalah sama sekali.  Beragam pendapat muncul berkaitan dengan strategi ini. Menurut para ahli Matematika, cara ini sama sekali tidak dapat diterima dan semua keadaan deadlock harus ditangani.  Sementara menurut para ahli Teknik, jika komputer lebih sering mengalami kerusakkan disebabkan oleh kegagalan hardware, error pada kompilator atau bugs pada sistem operasi. Maka ongkos yang dibayar untuk melakukan penanganan deadlock sangatlah besar dan lebih baik mengabaikan keadaan deadlock tersebut. Metode ini diterapkan pada sistem operasi UNIX
  • 17. Mencegah Deadlock Syarat Langkah Kelemahan Mutual Exclusion Spooling sumber daya Dapat menyebabkan chaos Hold and Wait Meminta sumber daya di awal Sulit memperkirakan di awal dan tidak optimal 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 Secara ringkas pendekatan yang digunakan pada metode pencegahan deadlock dan masalah-masalah yang menghambatnya, terangkum dibawah ini
  • 18. Menghindari Deadlock  Pendekatan 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.  Kondisi aman yang dimaksudkan selanjutnya disebut sebagai safe-state, sedangkan keadaan yang tidak memungkinkan untuk diberikan sumber daya yang diminta disebut unsafe-state.  Kondisi Aman (Safe state) Suatu keadaan dapat dinyatakan sebagai safe state jika tidak terjadi deadlock dan terdapat cara untuk memenuhi semua permintaan sumber daya yang ditunda tanpa menghasilkan deadlock. Dengan cara mengikuti urutan tertentu.  Kondisi Tak Aman (Unsafe state) 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.
  • 19. ALGORITMA BANKER’S  Misal ada n proses dalam sistem dan ada m Resource, maka dibutuhkan :  Available  suatu vektor dengan panjang m yang menunjukkan resource2 yang tersedia untuk setiap tipe  Max  matrik n X m yang mendifinisikan maksimum permintaan untuk tipe2 proses  Allocation  matrik n X m yang mendifinisikan jumlah resource untuk tiap2 tipe yang sedang dialokasikan untuk tiap2 tipe proses  Need  matrik n X m yang menunjukkan sisa resource yang dibutuhkan tiap2 proses
  • 21. Recovery Deadlock : Proses Termination  Membatalkan semua proses deadlock  Membatalkan suatu proses pada waktu yang sama sampai siklus deadlock dihapuskan
  • 22. Recovery Deadlock : Resource Preemption  Selecting a victim  memperkecil biaya  Rollback  kembali ke beberapa save state, restart kembali proses untuk status tersebut  Starvation  proses yang sama boleh dijadikan korban, meliputi jumlah rollback dalam faktor pembiayaan
  • 23. Cara memilih Order untuk Dibatalkan?  Prioritas proses  Berapa lama proses telah menghitung dan berapa lama sampai ke penyelesaian  Sumber daya proses telah digunakan  Sumber daya proses harus lengkap  Berapa banyak proses yang perlu diakhiri
  • 24. Kombinasi penanganan Deadlock  Menggkombinasi 3 pendekatan dasar : 1. Pencegahan (prevention) 2. Penghindaran (avoidance) 3. Pendekteksian (detection)  Membagi sumber daya kedalam order class  Menggunakan teknik yang sesuai untuk menangani deadlock di tiap klas
  • 25. Kesimpulan  Kondisi deadlock akan dapat terjadi jika terdapat dua atau lebih proses yang akan mengakses sumber daya yang sedang dipakai oleh proses yang lainnya. Pendekatan untuk mengatasi deadlock dipakai tiga buah pendekatan, yaitu: 1. Memastikan bahwa tidak pernah dicapai kondisi deadlock 2. Membiarkan deadlock untuk terjadi dan memulihkannya 3. Mengabaikan apa pun deadlock yang terjadi  Dari ketiga pendekatan diatas, dapat diturunkan menjadi empat buah metode untuk mengatasi deadlock, yaitu: 1. Pencegahan deadlock 2. Menghindari deadlock 3. Mendeteksi deadlock 4. Pemulihan deadlock  Silberschatz (1994) merumuskan sebuah strategi penanggulangan deadlock terpadu yang dapat disesuaikan dengan kondisi dan situasi yang berbeda, strateginya sendiri berbunyi: 1. Kelompokkan sumber daya kedalam kelas yang berbeda 2. Gunakan strategi pengurutan linear untuk mencegah kondisi circular waityang nantinya akan mencegah deadlock diantara kelas sumber daya 3. Gunakan algoritma yang paling cocok untuk suatu kelas sumber daya yang berbeda satu dengan yang lain