Anda di halaman 1dari 22

KONGKURENSI

OLEH:
IDHAM KHALID (D 411 06 040)
AHMAD SUPARMAN (D 411 06 0 )
PENGERTIAN
• Kongkurensi merupakan landasan
umum perancangan sistem operasi

• Proses-proses disebut kongkuren jika


proses-proses berada pada saat
yang sama
MASALAH YANG DIHADAPI
• Mutual exclusion
• Deadlock
• Starvation
• Sinkronisasi
PRINSIP-PRINSIP
KONGKURENSI
• Kongkurensi meliputi hal-hal berikut
ØAlokasi waktu pemroses untuk proses-
proses
ØPemakaian bersama dan persaingan
untuk mendapatkan sumber daya
ØKomunikasi antar proses
ØSinkronisasi aktivitas banyak proses
• Kongkurensi dapat muncul pada tiga konteks
berbeda
ØUntuk banyak aplikasi
ØUntuk strukturisasi dari aplikasi
ØUntuk strukturisasi dari satu proses
ØUntuk strukturisasi sistem operasi
Ø Untuk banyak
aplikasi(Multiprograming)
 multiprograming memungkinkan
banyak proses dilaksanakan sekaligus
 contoh:
o aplikasi ppd – daemon yang bertugas
menjaga transfer data lewat kanal point
to point protocol
o Aplikasi diald – daemon yang bertugas
untuk secara otomatis menghidup
matikan modem atau saluran serial
sehingga seolah-olah pengguna terus
terhubung pada ISP
Ø Untuk strukturisasi aplikasi
 perluasan prinsip perancangan modular
dan pemrograman terstruktur adalah suatu
aplikasi dapat secara efektif
dimplementasikan sebagai sekumpulan
proses.
Ø Untuk strukturisasi satu proses
 strukturisasi satu aplikasi dapat
dilakukan dengan banyak proses atau banyak
thread
Ø Untuk strukturisasi sistem operasi
 keunggulan strukturisasi dapat juga
diterapkan ke pemrogram sistem.beberapa
sistem operasi aktual yang dipasarkan dan
yang sedang dalam riset telah di
KESULITAN-KESULITAN YANG
SERING DITIMBULKAN
KONGKURENSI
• Beberapa kesulitan yang dapat muncul
Ø Pemakaian sumber daya global
Ø Pengelolaan alokasi sumber daya agar
optimal
Ø Pencarian kesalahan pemrograman
• Proses-proses kongkuren
mengharuskan hal-hal ditangani yaitu
:
Ø Mengetahui proses-prose yang aktif
Ø Alokasi dan dealokasi beragam sumber
daya untuk tiap proses aktif
Ø Proteksi data dan sumber daya fisik
proses
Ø Hasil-hasil Proses harus independen
Mutual Exclusion, Deadlock ,
dan Starvation
• Mutual Exclusion
 Mutual Exclusion terjadi apabila ada
dua atau lebih Program yang
memaksa masuk ke Critical
Region.sedang Critical Region hanya
menerima satu program dalam satu
waktu
 sedangkan Sistem Operasi hanya
menyediakan satu layanan untuk
masuk ke critical region yang sedang
dimasuki program lain.
 Dampak dari Mutual Exclusion
adalah Deadlock dan Starvation
• Deadlock
Ilustrasi deadlock :

P1 P2

R1 R2
 karena untuk melanjutkan eksekusi
memerlukan kedua sumber daya
sekaligus maka kedua proses akan
saling menunggu sumber daya lain
selamanya.maka,tak ada proses yang
dapat melepaskan sumber daya lain
selamanya.tak ada proses yang dapat
melepaskan sumber daya yang telah
dipegangnya karena menunggu sumber
daya lain yang tak pernah
diperolahnya.kondisi inilah yang di
sebut deadlock
 kondisi deadlock merupakan
kondisi terparah karena banyak proses
dapat terlibat dan tidak dapat
• Starvation
P1

P2 P2
R P1
P3 P3

P1

P2 P2
P1 P3
P3
 Seperti yang terlihat pada gambar
diatas jika hak akses bergantian
terus-menerus antara P1 dan P3
maka P2 tidak akan pernah
memperoleh pengaksesan sumber
daya R,meski tidak ada
deadlock.pada situasi ini,P2
mengalami starvation.
INTERAKSI ANTAR PROSES
 Pada sistem dengan banyak
proses (kongkuren),terdapat tiga
kategori interaksi,yaitu
Ø Proses-proses saling tidak perduli
(independen)
Ø Proses-proses memperdulikan secara
tidak langsung
Ø Proses-proses memperdulikan secara
langsung
Ø
• Proses-proses Saling Tidak
Perduli(Independen)
 Proses ini tidak dimaksudkan untuk
bekerja bersama untuk mencapai tujuan
tertentu.pada multiprogramming dengan
proses-proses independen,dapat berupa
batch atau sesi interaktif,atau campuran
keduanya
 Meski proses tidak bekerja sama,sistem
operasi perlu mengatur persaingan diantara
proses-proses itu dalam memperoleh sumber
daya yang terbatas
 Contoh :
 dua aplikasi dapat berusaha mengakses
komputer yang sama.bila kedua aplikasi
benar-benar mengakses printer yang sama
• Proses-proses saling memperdulikan
secara tidak langsung
 Proses-proses tidak perlu saling
memperdulikan identitas proses-proses
lain tapi sama-sama mengakses objek
tertentu,seperti buffer
masukan/keluaran.proses-proses itu
perlu bekerja sama(cooperation) dalam
memakai bersama objek tertentu
• Proses-proses saling memperdulikan
secara langsung
 Proses-proses dapat saling berkomunikasi
dan dirancang bekerja sama untuk satu
aktivitas
Derajat kepedulian Hubungan Akibat satu proses Masalah pengendalian
terhadap lainnya yang perlu dilakukan

Proses tak perduli Persaingan Hasil satu proses Mutual exclusion

independen terhadap aksi Deadlock


proses lain Starvation

Pewaktuan proses dapat


berdampak

Proses secara tak langsung Kerjasama dengan hasil satu proses dapat Mutual eksklution
peduli terhadap proses lain pemakaian bersama bergantung satu informasi Deadlock
(yaitu objek yang dipakai yang diperoleh dari proses Starvation

bersama) lain Koherensi data

Pewaktuan proses dapat

berdampak

Proses secara langsung Kerjasama dengan Hasil-hasil satu proses Deadlock


peduli terhadap proses komunikasi dapat bergantung pada starvation

lain(tersedia primitif- informasi yang diperoleh


primitif untuk proses itu) dari proses lain
Pewaktuan proses dapat

berdampak
Persaingan di antara proses-
proses untuk sumber daya
• Proses-proses berkompetisi ketika
proses-proses bersaing
mendapatkan sumber daya yang
sama.
• Pada proses-proses berkompetisi
ini,tidak ada pertukaran informasi
antara proses-proses itu.
• Kasus ekstrim yang menjadi dampak
dari persaingan proses ini adalah di
blocked terus-menerus sehingga
tak pernah mengakses sumber
 pesaingan proses-proses untuk
memperoleh sumber daya
menimbulkan tiga masalah yang harus
di selesaikan
ØMutual exclution
ØDeadlock
ØStarvation
§ Pengendalian persaingan
 pengendalian persaingan
melibatkan sistem operasi yakni proses-
proses itu sendiri harus menyatakan
keperluan mutual exclution sumber
daya dan sistem operasi menangani
agar tidak terlanggar kondisi mutual
exclution
 serta tidak terjadi starvation dan
KERJASAMA DIANTARA PROSES
DENGAN PEMAKAIAN BERSAMA
• Dalam kasus kerja sama pemakaian sumber daya bersama
meliputi proses-proses yang saling berinteraksi tanpa
dinyatakan secara eksplisit
 contoh :
 banyak proses mengakses variabel atau berkas yang
dipakai bersama.proses-proses dapat menggunakan dan
memperbarui data yang dipakai bersama tanpa peduli
proses-proses lainproses mengetahui bahwa proses-proses
harus bekerja sama untuk menjamin integritas daya yang
dipakai bersama tersebut.
Kerja sama diantara proses dapat mengalami masalah yakni :

Ø Mutual exclution
Ø Deadlock
Ø Starvation
Perbedaannya adalah item-item data dapat diakses dengan

dua mode yaitu


1. Operasi pembacaan dan penulisan harus mutually exclusive
2. Operasi penulisan saja yang harus mutually exclusive.
Kerjasama di antara proses-
proses dengan komunikasi
 ketika proses-proses bekerja sama
dengan komunikasi,beragam proses
berpartisipasi dalam suatu usaha dengan
menghbungkan semua proses.
 komunikasi dicirikan dengan berisi
pesan-pesan dengan berisi pesan-pesan
dengan suatu urutan.
Contoh :

 deadlock adalah dua proses d


blocked,dimana masing-masing proses di
blocked karena menunggu komuikasi dari
proses lain.kedua proses saling menunggu
komunikasi dari lainnya dan tak dapat
POKOK PENYELESAIAN
MASALAH KONGKURENSI
Pada dasarnya penyelesaian masalah
kongkurensi terbagi menjadi dua,yaitu

1.Mengasumsikan adanya memori


yang digunakan bersama
2.Tidak mengasumsikan adanya
memori yang digunakan bersama
KESIMPULAN
• Kongkurensi merupakan suatu kondisi dimana ada
lebih dari satu proses yang berada pada saat yang
sama
• Masalah yang di timbulkan kongkuren
– Mutual exclution
– Deadlock
– Starvation
– Sinkronisasi
§ Terdapat beberapa interaksi yang dilakukan antar
proses yakni
Ø Proses saling tidak perduli
Ø Proses saling memperdulikan secara tidak
langsung
Ø Proses saling memperdulikan secara langsung
v Pada dasarnya penyelesaian masalah kongkurensi ada
dua
Ø Mengasumsikan adanya memori yang