Sistem Operasi (Operating Systems) Minggu 7

Slides:



Advertisements
Presentasi serupa
Sinkronisasi dan Deadlock Universitas Airlangga
Advertisements

D EADLOCK Kelompok 6 Baskoro Arif Widodo( ) Fevi Henda Ayumitha( ) Khoirun Nisa’( )
Tim Teaching Grant Mata Kuliah Sistem Operasi
6 Deadlock.
Pertemuan 04- Penjadwalan Proses sistem operasi
Arief Cahyo S Rachmad Wahyudi S Abdul Qodir Jailani M. Choirur Rozi Rahmat Aidil FR
Deadlock.
Matakuliah: Sistem Operasi
PERTEMUAN – 7 KULIAH SISTEM OPERASI DEADLOCK
Slide 7 – Penjadwalan Process
Sistem Operasi (Operating Systems) Minggu 6
PENJADWALAN PROSES.
Sistem Operasi (Operating Systems) Minggu 5
Sistem Operasi (Operating Systems) Minggu 8
Penjadwalan Sistem Interaktif
Deadlock.
Masalah Klasik Komunikasi Antar Proses
Deadlock.
SINKRONISASI DAN DEADLOCK
MATERI 5 SISTEM OPERASI Scheduling Algorithm Oleh : Mufadhol, S.Kom
Sinkronisasi dan Deadlock Proses
Deadlock.
Sistem Operasi (Operating Systems) Minggu 4
Sistem Operasi 7 “Deadlock”.
Sistem Operasi DEADLOCK.
Penjadwalan Prosesor (CPU Scheduling)
PROCESS SCHEDULING A.A. Gde Bagus Ariana, ST..
DEADLOCK. Pokok Bahasan  Pengertian & Latar Belakang Deadlock  Penyebab Deadlock  Strategi untuk mengatasi Deadlock  Kesimpulan.
SISTEM OPERASI MODUL Deadlock Yuli Haryanto, M.Kom
L/O/G/O Deadlock Sistem Operasi danarpamungkas.wordpress.com.
Penjadwalan Process.
Konkurensi 3 Deadlock dan Starvation
Sistem Operasi Pertemuan 15.
Deadlock.
Deadlock Edi Sugiarto, S.Kom.
DEADLOCK.
Wahyu nurjaya wk, st., m.kom.
DEADLOCK.
Deadlock.
SISTEM OPERASI Dosen Pengampu : Erfanti Fatkhiyah, ST., M.Cs.
III. Penjadwalan Proses
Slide 7 – Penjadwalan Process
Penjadwalan Proses.
Deadlock.
VII. Deadlock dan Starvation
Jurusan Teknik Informatika UPN Surabaya
SINKRONISASI & DEADLOCK
Sinkronisasi dan Deadlock
Deadlock.
Tim Teaching Grant Mata Kuliah Sistem Operasi
DEADLOCK Situasi Deadlock terjadi, jika:
PENGENDALIAN DEADLOCK
Sistem Operasi: Penjadwalan Proses
DEADLOCK KELOMPOK 8 Sistem Operasi Budi Nofianto
Sistem Operasi: Deadlock
Koordinasi Antar Proses DI DALAM SISTEM TERDISTRIBUSI
Konkurensi SISTEM OPERASI Slide perkuliahan
Deadlock SISTEM OPERASI.
DEADLOCK.
Konkurensi SISTEM OPERASI Slide perkuliahan
Deadlock.
SINKRONISASI DAN DEADLOCK
8 Deadlock.
Beberapa istilah yg sering muncul
Tim Teaching Grant Mata Kuliah Sistem Operasi
Slide 7 – Penjadwalan Process
SISTEM OPERASI MODUL Deadlock Maria Cleopatra, S.Kom
Tim Teaching Grant Mata Kuliah Sistem Operasi
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Transcript presentasi:

Sistem Operasi (Operating Systems) Minggu 7 Dr. Ananda Kusuma e-mail: ananda_kusuma@yahoo.com Universitas Multimedia Nusantara Serpong, Tangerang

Agenda Review kuliah Minggu 6 Topik Minggu 7: Deadlock Presentasi Kelompok 2 : jam 15.50-16.30

Review Minggu 6 CPU Scheduling (Penjadwalan CPU)

Contoh Soal Terdapat 5 jobs A, B, C ,D dan E dengan arrival time, run time dan prioritas masing-masing seperti tabel dibawah. ( Catatan: prioritas 4 lebih tinggi dari prioritas 3). Tentukan average turnaround time dengan algoritma scheduling sbb.: First Come First Served Shortest Job First Shortest Remaining Time Next Non-preemptive Priority Scheduling Job Arrival Time (menit) Run Time (menit) Prioritas A 7 1 B 9 4 C 2 D 5 3 E -

Deadlock

Deadlock Diberikan suatu himpunan yang berisikan beberapa process. Dikatakan deadlock apabila tiap process di dalam himpunan ini menunggu event yang hanya bisa dimunculkan oleh process lain di himpunan. Contoh: Producer-consumer dgn race condition, producer dan consumer mencapai konsidi sleep dan saling menunggu untuk di-wakeup Resource deadlock: misal sistem punya 2 tape drives. Ada dua process yang gunakan masing-masing tape drive dan saling menunggu tape drive yang lain Apabila hanya ada satu process di himpunan, maka deadlock dapat terjadi pada level thread, dan menjadi tanggung jawab programmer untuk menangani A B C Deadlock: A set of processes is deadlocked if each process in the set is waiting for an event that only another process in the set can cause it. Starvation: kondisi di mana process tidak dalam kondisi blocked, akan tetapi tidak pernah mendapatkan jatah CPU karena misalnya diberikan prioritas rendah dan CPU sibuk melayani process2x lain dengan prioritas yg lebih tinggi(Moreover, unlike deadlock, it is possible for a starved proc ess to make the transition to the running state. It’s just that entities in the system are conspiring to ensure that this transition never occurs.)

Starvation dan Livelock Starvation: Suatu kondisi di mana process berada di state ready (tidak dalam kondisi blocked), akan tetapi tidak pernah mendapatkan jatah CPU. Ini dapat terjadi karena diberikan prioritas rendah, dan CPU sibuk melayani process-process lain dengan prioritas lebih tinggi. Livelock: suatu kondisi di mana walau process dapat menggunakan CPU (state running), namun tidak dapat melanjutkan eksekusi sampai selesai. Misalnya apabila sinkronisasi antar process menggunakan busy waiting (spinlock), dan dalam kondisi tiap process saling menunggu lock dilepaskan untuk masuk ke critical region Z Y X A B Deadlock: A set of processes is deadlocked if each process in the set is waiting for an event that only another process in the set can cause it.

Persyaratan Kondisi Deadlock Mutual Exclusion Condition Pada satu waktu, tiap resource available atau bisa digunakan oleh hanya satu process Hold and Wait Condition Process yang sedang menggunakan suatu resource masih diperbolehkan untuk request resource lain dan menunggunya sampai tersedia No preemption condition Tidak ada resource yang dapat dilepaskan secara paksa dari process yang sedang menggunakannya  process itu sendiri yang nanti akan melepaskannya Circular wait condition Kondisi menyerupai lingkaran rantai yang terdiri dari beberapa processes dan resources di mana tiap process menunggu resource yang digunakan oleh process lain di sebelahnya

Pemodelan Deadlock dengan Graph Theory (Teori Graf) Graph terdiri atas Nodes dan Arcs Modelkan deadlock dengan directed graph Nodes Circles  memodelkan Process Squares  memodelkan Resource Directed Arc Directed arc dari circle ke square  process request resource dan saat ini sedang blocked menunggu resource tersebut Directed arc dari square ke circle  resource sudah di-granted ke process dan process sedang menggunakannya

Resource Allocation Graph (a) Holding a resource. (b) Requesting a resource. (c) Deadlock.

Contoh Penggunaan Graph Deteksi deadlock dengan satu resource untuk tiap jenis. Contoh di bawah: A holds R, want S, B holds nothing, wants T, dst Apakah ini deadlock? Deteksi deadlock dengan satu resource untuk setiap jenis Contoh: sebuah sistem dengan 7 proses (A – G) dan 6 resource (R – W), dengan status pemilikan dan permintaan resource sbb: A holds R, wants S B holds nothing, wants T C holds nothing, wants S D holds U, wants S and T E holds T, wants V F holds W, wants S G holds V, wants U

Contoh pengaturan alokasi resource menggunakan graph Bagaimana mengatur pengalokasian untuk menghindari deadlock?

Strategi untuk menghadapi Deadlock Just Ignore the problem  Ostrich Algorithm Detection and Recovery Deteksi deadlock kemudian lakukan tindakan Dynamic avoidance Alokasikan resource secara berhati-hati Prevention Hilangkan salah satu dari 4 kondisi deadlock Ignore Detection and Recovery Mendeteksi kemudian ambil action Dynamic avoidance, dengan cara mengalokasikan resource secara berhati – hati Prevention, dengan cara menghilangkan salah satu kondisi Deadlock

Deadlock Detection & Recovery Technique ini membiarkan deadlock terjadi, deteksi terjadinya dan lakukan recovery Deadlock detection: One resource of each type Contoh: 1 printer, 1 tape drive, 1 cdrom drive, 1 plotter 1 buah resource lainnya  contoh di slide awal tentang adanya cycle di graph sebagai penanda adanya deadlock Multiple resources of each type Contoh: 3 printer, 2 tape drive, 2 cdrom drive, dsb. Gunakan matrix-based algorithm Recovery: Rollback, killing process ataupun forced preemption

Deadlock Detection: Multiple resources of each type Notasi Matrix dan Vector E: existing resource vector A: Available resource vector C: Current allocation matrix R: Request matrix Persyaratan: E : Existing resource vector A : Available resource vector C : Current allocation matrix R : Request matrix

Deadlock Detection: Multiple resources of each type Untuk tiap process Pi, di mana baris ke i dari matrix R kurang atau sama dengan vector A Kalau ada, mark (tandai) process Pi, update baris ke i dari C dengan menambahkannya dengan baris ke i dari R, dan update vector A Kemudian tambahkan baris ke i dari C ke vector A (artinya process Pi release semua resources setelah selesai) Lanjutkan untuk semua process. Apabila ada process yang tidak ditandai (unmarked), maka terjadi deadlock Contoh: E : Existing resource vector A : Available resource vector C : Current allocation matrix R : Request matrix

Deadlock Detection: Multiple resources of each type Untuk tiap process Pi, di mana baris ke i dari matrix R kurang atau sama dengan vector A Kalau ada, mark (tandai) process Pi, update baris ke i dari C dengan menambahkannya dengan baris ke i dari R, dan update vector A Kemudian tambahkan baris ke i dari C ke vector A (artinya process Pi release semua resources setelah selesai) Lanjutkan untuk semua process. Apabila ada process yang tidak ditandai (unmarked), maka terjadi deadlock Contoh: E : Existing resource vector A : Available resource vector C : Current allocation matrix R : Request matrix

Deadlock Avoidance Slide sebelumnya mengambil asumsi process mengambil resource yang di-request secara bersamaan. Kalau diambil satu persatu, apakah dapat dirancang algorithm yang menghindari deadlock (deadlock avoidance). Konsep safe dan unsafe state Safe state: state di mana terdapat suatu sceduling order (urutan penjadwalan) sehingga semua process dapat berjalan sampai selesai. (bahkan walaupun process request semua resources yang diperlukan secara serentak) Unsafe state: tidak dapat menjamin semua process untuk selesai. Unsafe state tidak berarti deadlock, karena masih dapat berjalan sebelum nantinya terkena deadlock Banker’s algorithm (liat Tanenbaum hal 449-452) Setiap terjadi perubahan state karena ada request yang dipenuhi, state tersebut haruslah safe state

Contoh Soal Terdapat 4 processes dan 5 resources yang akan dialokasikan. Alokasi resources saat ini (Allocated), maksimum alokasi resources yang diinginkan (Maximum) dan resources yang masih tersisa (Available) diberikan pada tabel di bawah. Berapa nilai minimum x sehingga kondisi ini tergolong safe state?

Deadlock Prevention Attacking the mutual exclusion condition Rancang hanya satu process saja yang akan mengakses resource Contoh: printer daemon dan spooling. Attacking the hold and wait condition Request seluruh resources yang diperlukan sebelum eksekusi Attacking the no-preemption condition Attacking the circular wait condition Hindari terbentuknya cyclic graph Penomoran resources secara global, tiap process akses resources sesuai urutan nomor

Review untuk Ujian Tengah Semester

Akhir Kuliah Minggu 7 Terima kasih atas perhatiannya!