Вы находитесь на странице: 1из 27

KONGKURENSI

Kondisi proses-proses berada pada


saat yang sama sehingga berkompetisi
Terdapat pada Multiprogramming,
Multiprocessing dan distributed
Processing

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

GAMBARAN MASALAH
BARBERSHOP PROBLEM
THE DINING PHILOSOPHER

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

Kondisi Antar Proses


Independent (Contoh Batch)
Dependent secara tidak langsung
resource share(kooperatif :contoh Buffer)
Dependent langsung (kooperatif dg
komunikasi)

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

PENGARUH INTERAKSI PROSES

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

Aspek yang berkaitan

Alokasi waktu oleh pemroses


Sharing sumber daya
Komunikasi antar proses
Sinkronisasi aktifitas proses

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

Kapan Kongkurensi muncul ?


Banyak Program Aplikasi : beberapa
aplikasi aktif
Struktur program Aplikasi (Modular) :
beberapa aplikasi dipandang sebagai
himpunan proses konkuren
Struktur Sistem Operasi : S. O sebagai
himpunan proses

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

CONTOH KASUS
Procedure echo;
Var out, in : character;
Begin
Input(in, keyboard);
Out := in;
Output(out, display)
End.
Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

MULTIPROGRAMMING

Proces P1 panggil procedur echo


Proces P2 menginterupsi pada akhir input
Proces P2 sampai complete
Proces P1 meneruskan procedur echo

APA YANG TERJADI, DGN OUTPUT P1??

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

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

Kuliah Sistem Operasi # S1 Ilmu


Komputer

MUTUAL EXCLUSION (..lanjut)


Program mut_ex;
Const n = ; (*jumlah
proses*);
Procedure P(I:integer);
Begin
Repeat
Entercritical;
<critical_section>;
Exitcritical;
<remainder>
forever
end;
Jumat 2 September 2016

Begin {utama}
parbegin
P(1);
P(2);
..
P(n);
Parend
End

Kuliah Sistem Operasi # S1 Ilmu


Komputer

MENJAGA MUT_EX
Pendekatan Software
Algoritma Dekker
Algoritma Peterson
Pendekatan Hardware
Interupt Disabling
Intruksi Mesin Khusus (test and set)

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

MUT_EX DGN LOCK


While lock <> 0 do begin End; { lock = 1
maka mengunci; lock = 0 tidak}
Lock =1;
Enter_critical_region;
Lock:=0;
End

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

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

Kuliah Sistem Operasi # S1 Ilmu


Komputer

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;
--

Bagaimana dengan waku sistem dan


kegagalan sistem ??
Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

ALGORITMA DEKKER (LANJUT)


flag : array[0..1] of boolean;

PROSES P0
-WHILE flag[1] DO
{NOTHING}
Flag[0]:=true;
<CRITICAL SECTION>
Flag[0] := false;
--

Jumat 2 September 2016

PROSES P1
-WHILE flag[0] DO
{NOTHING}
Flag[1]:=true;
<CRITICAL SECTION>
Flag[1] := false;
--

Kuliah Sistem Operasi # S1 Ilmu


Komputer

ALGORITMA DEKKER (LANJUT


PROSES P0
-Flag[0]:=true;
WHILE flag[1] DO
{NOTHING}
<CRITICAL SECTION>
Flag[0] := false;
-Jumat 2 September 2016

PROSES P0
-Flag[1]:=true;
WHILE flag[0] DO
{NOTHING}
<CRITICAL SECTION>
Flag[1] := false;
--

Kuliah Sistem Operasi # S1 Ilmu


Komputer

ALGORITMA DEKKER (LANJUT


PROSES P0
-Flag[0]:=true;
WHILE flag[1] DO
Begin flag[0]:=false;
Delay for short time;
Flag[0]:=true; end;
<CRITICAL SECTION>
Flag[0] := false;
-Jumat 2 September 2016

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;
--

Kuliah Sistem Operasi # S1 Ilmu


Komputer

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

Kuliah Sistem Operasi # S1 Ilmu


Komputer

DEADLOCK

TERDAPAT PROSES P1, P2


TERDAPAT CRITICAL RESOURCE R1, R2
P1 R1; P2 R2 (INIT STATE)
P1 R2; P2 R1 (NEXT STATE)
P1 R2; P2 R1(??)

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

STARVATION
TERDAPAT PROSES P1, P2, P3

TERDAPAT PROSES P1, P2


TERDAPAT CRITICAL RESOURCE R
P1, P2
R (BERGANTIAN)
P3
R (NEXT STATE)
P3
R (???)

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

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

Kuliah Sistem Operasi # S1 Ilmu


Komputer

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

Kuliah Sistem Operasi # S1 Ilmu


Komputer

PENGHINDARAN DEADLOCK
jangan memulai proses apabila kebutuhan
menyebabkan deadlock (Process
Initialitation Denial)
jangan mengalokasikan resource yang
menyebabkan deadlock (Resource
Allocation Denial)

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

PROCESS INITIAL DENIAL

Misal n proses dengan m resouce


Matrik sumber = (R1, , Rm) : Total Resource dalam
sistem
Tersedia = (Vi, , Vm) : Total tiap Resource yang tidak
dialokasikan
Klaim : { matrik C11, C12, .C1m sampai Cn1,
Cn2, Cnm keperluan maksimum setiap proses per
sumber daya
Cij = kebutuhan proses I terhadap Resource j.
Alokasi { matrik A11, A12, .A1m sampai An1, An2,
Anm Alokasi
Aij = alokasi Resource j saat itu bagi proses I

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

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]

Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

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

Unsafe adalah sebaliknya


Jumat 2 September 2016

Kuliah Sistem Operasi # S1 Ilmu


Komputer

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

Kuliah Sistem Operasi # S1 Ilmu


Komputer

Вам также может понравиться