Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehWidyawati Budiman Telah diubah "6 tahun yang lalu
1
Konkurensi SISTEM OPERASI Slide perkuliahan
Sumber : - Modern Operating System, Tanenbaum Operating System, Internal and Design Principles, William Stallings Modul SO, Johni S. Pasaribu Ken Kinanti Purnamasari
2
KONKURENSI Keadaan dimana terdapat lebih dari satu proses yang dieksekusi pada suatu waktu. Interaksi antar proses : Persaingan (untuk mendapatkan resources) Kerjasama (komunikasi & sinkronisasi)
3
INTERAKSI PROSES Kompetisi : Tidak saling tahu
Kooperasi Bagi-Pakai : Saling tahu tidak langsung Kooperasi Komunikasi : Saling tahu langsung
4
MASALAH KONKURENSI Mutual Exclusion : satu proses, di suatu waktu
Deadlock : proses saling menunggu Starvation : satu proses selalu menunggu
6
RACE CONDITION Kondisi dimana beberapa proses dapat mengakses (read & write) data / variabel yang sama. Masalah Data yang digunakan suatu proses, dapat diubah (diganggu) oleh proses lain.
7
CRITICAL Critical Resource : sumber daya yang tidak dapat dipakai bersama pada suatu waktu. contoh : printer, disk Critical Section : bagian program/proses yang mengakses Critical Resource.
8
MUTUAL EXCLUSION Hanya ada satu proses yang dikerjakan di suatu waktu.
Pelanggaran Mutex menyebabkan : Deadlock Starvation
9
SYARAT MUTEX Hanya ada 1 proses dalam CS dalam suatu waktu.
Suatu proses yang tidak berhenti di CS-nya, tidak boleh mengganggu proses lain. Waktu tunggu suatu proses ditentukan di awal. Jika tidak ada proses di CS, proses baru boleh masuk. Tidak ada perkiraan kecepatan eksekusi & jumlah pemroses Suatu proses berada di CS untuk waktu yang terbatas.
10
PENDUKUNG MUTEX Algoritma yang digunakan untuk mendukung terjadinya Mutual Exclusion dengan busy waiting adalah : Dekker untuk kasus 2 buah proses Peterson dapat digeneralisasi untuk n-buah proses Busy waiting = sibuk menunggu tanpa aktivitas lain, sampai diijinkan masuk oleh CS
11
Program Dekker; const N = 2; var turn : integer;
flag : array[0..N-1] of boolean; procedure MasukCriticalSection; begin {mengerjakan kode-kode critical} end; procedure KeluarCriticalSection; {mengerjakan kode-kode yang tidak critical}
12
procedure Proses0; begin repeat flag[0] := true; turn := 1; while flag[1] do if turn = 1 then flag[0] := false; while turn = 1 do begin end; end; MasukCriticalSection; KeluarCriticalSection; until false
13
procedure Proses1; begin repeat flag[1] := true; turn := 0; while flag[0] do if turn = 0 then flag[1] := false; while turn = 0 do begin end; end; MasukCriticalSection; KeluarCriticalSection; until false
14
begin flag[0] := false; flag[1] := false; parbegin proses0; proses1; parend; end;
15
Program Peterson; const N = 2; var turn : integer;
flag : array[0..N-1] of boolean; procedure MasukCriticalSection; begin {mengerjakan kode-kode critical} end; procedure KeluarCriticalSection; {mengerjakan kode-kode yang tidak critical}
16
procedure Proses0; begin repeat flag[0] := true; turn := 1; while (flag[1] and turn = 1) do begin end; MasukCriticalSection; flag[0] := false; KeluarCriticalSection; until false end; Procedure Proses1; flag[1] := true; turn := 0; while (flag[0] and turn = 0) do begin end; flag[1] := false;
17
begin flag[0] := false; flag[1] := false; parbegin proses0; proses1; parend; end;
18
SEMAPHORE Variabel khusus yang digunakan untuk menandai.
Semaphore tidak dapat di-interupsi sampai kode program tertentu selesai dikerjakan. Semaphore tidak membutuhkan busy waiting. Memakai konsep wait dan signal.
19
SEMAPHORE Counting Semaphore nilai bertambah terus Binary Semaphore
nilai hanya berupa 0 atau 1
20
SEMAPHORE Beberapa proses yang berkaitan, menentukan proses lainnya dengan signal-signal. Sebuah proses akan dihentikan proses lainnya ketika mendapatkan signal tertentu. Semaphore merupakan variabel integer yang diakses operasi atomik standar (wait & signal). Terdapat 2 operasi terhadap Semaphore (Blocked & Wake up)
21
SEMAPHORE do wait (mutex); //critical_section signal (mutex);
//remainder section while true
22
Semaphore, Deadlock & Starvation
NEXT … MORE DETAIL ABOUT Semaphore, Deadlock & Starvation
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.