Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Konkurensi SISTEM OPERASI Slide perkuliahan

Presentasi serupa


Presentasi berjudul: "Konkurensi SISTEM OPERASI Slide perkuliahan"— Transcript presentasi:

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

5

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


Download ppt "Konkurensi SISTEM OPERASI Slide perkuliahan"

Presentasi serupa


Iklan oleh Google