Академический Документы
Профессиональный Документы
Культура Документы
GAMBARAN MASALAH
BARBERSHOP PROBLEM
THE DINING PHILOSOPHER
CONTOH KASUS
Procedure echo;
Var out, in : character;
Begin
Input(in, keyboard);
Out := in;
Output(out, display)
End.
Jumat 2 September 2016
MULTIPROGRAMMING
MUTUAL EXCLUSION
Sumber daya kritis (critical resource) tidak bisa
dipakai secara bersama pada satu saat
critical region
Jaminan bahwa hanya sebuah proses yang
menggunakan satu sumber daya pada interval
waktu tertentu
Sistem operasi bertugas memastikan tidak boleh
ada proses yang akan masuk critical region
(program) yang sudah ada proses lain dengan
mekanisme tertentu
Jumat 2 September 2016
Begin {utama}
parbegin
P(1);
P(2);
..
P(n);
Parend
End
MENJAGA MUT_EX
Pendekatan Software
Algoritma Dekker
Algoritma Peterson
Pendekatan Hardware
Interupt Disabling
Intruksi Mesin Khusus (test and set)
KRITERIA PENYELESAIAN
MUTUAL EXCLUSION HRS DIJAMIN
PROSES YG DI NONCRITICAL
SECTION, DILARANG MEMBLOCK
PROSES LAIN YG MAU MASUK CS
DIJAMIN TDK ADA
DEADLOCK&STARVATION
JIKA CS KOSONG MAKA PROSES LAIN
BOLEH MASUK TANPA WAKTU TUNGGU
Jumat 2 September 2016
ALGORITMA DEKKER
Var turn : 0..1;
PROSES P0
-WHILE TURN<>0 DO
(NOTHING)
<CRITICAL SECTION>
TURN := 1;
--
PROSES P1
-WHILE TURN<>1 DO
(NOTHING)
<CRITICAL SECTION>
TURN := 0;
--
PROSES P0
-WHILE flag[1] DO
{NOTHING}
Flag[0]:=true;
<CRITICAL SECTION>
Flag[0] := false;
--
PROSES P1
-WHILE flag[0] DO
{NOTHING}
Flag[1]:=true;
<CRITICAL SECTION>
Flag[1] := false;
--
PROSES P0
-Flag[1]:=true;
WHILE flag[0] DO
{NOTHING}
<CRITICAL SECTION>
Flag[1] := false;
--
PROSES P1
-Flag[1]:=true;
WHILE flag[0] DO
Begin flag[1]:=false;
Delay for short time;
Flag[1]:=true; end;
<CRITICAL SECTION>
Flag[1] := false;
--
MASALAH
DEADLOCK
o Kondisi sistem yang saling menunggu alokasi
resource
o Sistem berhenti (tidak jalan) & tdk complete
STARVATION
o Kondisi beberapa proses menunggu alokasi
resource yg digunakan oleh beberapa proses
lain secara bergantian
o Proses lain bisa complete, sistem jalan
Jumat 2 September 2016
DEADLOCK
STARVATION
TERDAPAT PROSES P1, P2, P3
Syarat Deadlock
Mutual Exclusion. Jaminan sebuah resource
kritis hanya dipakai oleh sebuah proses pada
suatu saat
Hold and Wait .Suatu proses dapat
mempertahankan Resource sambil menunggu
assignment resource
Tidak ada preemptive. Tidak ada Resource
yang dapat dipaksa dilepaskan dari proses yang
menggunakannya
Circular Wait. Rantai tertutup proses-proses
Jumat 2 September 2016
PENCEGAHAN DEADLOCK
Mutual Exclusion tidak dapat dihindarkan
Hold and wait mengharuskan proses meminta semua
resource yang dibutuhkan dan blokir proses ybs sampai
semua permintaan dikabulkan [lama]
Preemptive : proses boleh meminta resource kalau
sudah melepaskan dan setiap setiap permintaan bisa
dilayanani (termasuk penggunaan resource yang dikuasai
proses lain-prioritas) ; PROSES yang ditolak
penggunanan resource harus mengembalikan semua
resource
circular wait adanya urutan penggunaan resouce I<j
maka Ri <Rj
Jumat 2 September 2016
PENGHINDARAN DEADLOCK
jangan memulai proses apabila kebutuhan
menyebabkan deadlock (Process
Initialitation Denial)
jangan mengalokasikan resource yang
menyebabkan deadlock (Resource
Allocation Denial)
Hubungan
Ri = vi + (k=1..n) Aki, untuk semua i semua resource
tersedia DAN dialkokasikan
Cki Ri, bagi semua k, I : Tidak satupun proses yang
bisa mengklaim lebih banyak dari resource yang ada
Aki Cki bagi k dan I tidak ada proses dialokasikan
resource melebihi yang dibutuhkan
Proses Pn+1 akan dibolehkan jika
Ri C(n+1) + sigma 9k=1..n) Cki bagi semua I
proses akan dimulai apabila klaim maksimum seluruh
proses dan klaim proses baru dipenuhi [kurang atau
sama jumlah resource]
RESOURCE ALLOCATION
DENIAL
State sistem merupakan alokasi
sumberdaya saat itu terhadap prosesprosesnya. Terdiri dari vektor sumber
(resource), Tersedia (available), Alokasi
(allocation) dan klaim (Claim)
Safe state : satu state yang terdapat
rangkaian semua proses dapat berjalan
hingga selesai tanpa deadlock
Pertanyaan
Apakah semua proses bisa berjalan
hingga complete dengan sumber daya
yang ada? Jika YAA Maka safe state
Apakah tidak ada proses bisa berjalan
hingga complete dengan sumber daya
yang ada? Jika TIDAK Maka Unsafe
state
Jumat 2 September 2016