Anda di halaman 1dari 10

Nama : Siti Aminah

Prodi : S1 Pendidikan Teknik Informatika

Off : C 2016

Tugas : Resume Materi Konkurensi

Mata Kuliah : Sistem Operasi

KONKURENSI

1. Pengertian Konkurensi

Konkurensi adalah proses-proses (lebih dari satu proses) yang terjadi pada saat bersamaan.
Konkurensi merupakan suatu landasan umum perancangan sistem operasi. Proses-proses
konkuren yang berinteraksi mempunyai beberapa masalah yang harus diselesaikan antara
lain yaitu :

 Mutual exclusion

Mutual exclusion adalah jaminan hanya satu proses yang mengakses sumber daya pada
satu interval waktu tertentu. Sumber daya yang tidak dapat dipakai bersama pada saat
bersamaan.

 Sinkronisasi

 Deadlock

 Startvation

2. Prinsip-prinsip Konkurensi

Prinsip-prinsip dari konkurensi adalah :

 Alokasi waktu pemroses untuk proses-proses


Bertugas menjadwalkan alokasi pemroses di antara proses–proses ready dalam
memori. Saat proses diberi jatah waktu oleh pemroses

 Pemakaian bersama dan persaingan untuk mendapatkan sumber daya

Persaingan antar proses terjadi ketika beberapa proses akan menggunakan sumber daya
yang sama.

Jika ada 2 proses yang akan mengakses ke suatu sumber daya tunggal, kemudian satu
proses dialokasikan kesumber daya tersebut oleh SO proses yang lainnya akan
menunggu.

 Komunikasi antarproses

Adalah cara atau mekanisme pertukaran data antara satu proses dengan proses lainnya,
baik itu proses yang berada di dalam komputer yang sama, atau komputer jarak jauh
yang terhubung melalui jaringan.

Terdapat dua macam cara berkomunikasi, yaitu:

Komunikasi langsung. Dalam komunikasi langsung, setiap proses yang ingin


berkirim pesan harus mengetahui secara jelas dengan siapa mereka berkirim pesan. Hal
ini dapat mencegah pesan salah terkirim ke proses yang lain.

Komunikasi tidak langsung. Berbeda dengan komunikasi langsung, jenis komunikasi


ini menggunakan sejenis kotak surat atau port yang mempunyai ID unik untuk
menerima pesan. Proses dapat berhubungan satu sama lain jika mereka membagi port
mereka.

 Sinkronisasi aktivitas banyak proses

Sinkronisasi aktivitas banyak proses yaitu kerja sama diantara proses.


3. Penyebab muncul Konkurensi pada konteks yang berbeda

 Banyak aplikasi (multiple application).

Multiprogramming memungkinkan banyak proses sekaligus dijalankan. Proses-proses


dapat berasal dari aplikasi-aplikasi berbeda. Pada sistem multiprogramming bisa
terdapat banyak aplikasi sekaligus yang dijalankan di sistem komputer.

 Aplikasi terstruktur.

Perluasan prinsip perancangan modular dan pemrograman terstruktur adalah suatu


aplikasi dapat secara efektif diimplementasikan sebagai sekumpulan proses. Dengan
sekumpulan proses, maka tiap proses menyediakan satu layanan spesifik tertentu.

 Struktur sistem operasi.


Keunggulan strukturisasi dapat juga diterapkan ke pemrograman sistem. Beberapa
sistem operasi aktual yang dipasarkan dan yang sedang dalam riset telah
diimplementasikan sebagai sekumpulan proses. Sistem operasi bermodelkan
client/server menggunakan pendekatan ini.
 Untuk Strukturisasi Satu Proses.
Saat ini untuk peningkatan kinerja maka satu proses dapat memiliki banyak thread yang
independen. Thread-thread tersebut harus dapat bekerjasama untuk mencapai tujuan
proses.

4. Kesulitan-kesulitan yang timbul oleh konkurensi

Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan


multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat
diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti:

1) Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:

a. Aktivitas proses-proses lain

b. Cara sistem operasi menangani interupsi

c. Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi.


2) Beberapa kesulitan yang dapat muncul, di antaranya adalah:

a. Pemakaian bersama sumber daya global. Jika dua proses menggunakan variabel
global yang sama, serta keduanya membaca dan menulis variabel itu maka
urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis.

b. Pengelolaan alokasi sumber daya agar optimal Jika proses A meminta suatu
kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend
sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut
dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi.

c. Pencarian kesalahan pemrograman. Pencarian kesalahan pada pemrograman


kongkuren lebih sulit dibanding pencarian kesalahan pada program-program
sekuen.

3) Proses-proses konkuren mengharuskan beberapa hal yang harus ditangani, antara


lain:

a. Sistem operasi harus mengetahui proses-proses yang aktif

b. Sistem operasi harus mengalokasikan dan mendealokasikan beragam sumber


daya untuk tiap proses aktif. Sumber daya yang harus dikelola, antara lain:

 Waktu pemroses.

 Memori

 Berkas-berkas

 Perangkat I/O

 Sistem operasi harus memproteksi data dan sumber daya fisik masing-masing
proses dari gangguan proses-proses lain.

 Hasil-hasil proses harus independen terhadap kecepatan relatif proses-proses


lain dimana eksekusi dilakukan.

5. Pokok Penyelesaian Masalah Kongkurensi


Pada dasarnya penyelesaian masalah kongkurensi terbagi menjadi 2, yaitu:

1. Mengasumsikan adanya memori yang digunakan bersama

2. Tidak mengasumsikan adanya memori yang digunakan bersama. Adanya memori


bersama lebih memudahkan penyelesaian masalah kongkurensi. Metode memori
bersama dapat dipakai untuk singleprocessor ataupun multiprocessor yang mempunyai
memori bersama. Penyelesaian ini tidak dapat digunakan untuk multiprocessor tanpa
memori bersama atau untuk sistem tersebar.

Strategi untuk menghadapi deadlock dapat dibagi menjadi tiga pendekatan,


yaitu:

1. Mengabaikan adanya deadlock.

2. Memastikan bahwa deadlock tidak akan pernah ada, baik dengan metode
Pencegahan, dengan mencegah empat kondisi deadlock agar tidak akan pernah
terjadi. Metode Menghindari deadlock, yaitu mengizinkan empat kondisi deadlock,
tetapi menghentikan setiap proses yang kemungkinan mencapai deadlock.

3. Membiarkan deadlock untuk terjadi, pendekatan ini membutuhkan dua metode


yang saling mendukung, yaitu:

 Pendeteksian deadlock, untuk mengidentifikasi ketika deadlock terjadi.

 Pemulihan deadlock, mengembalikan kembali sumber daya yang dibutuhkan


pada proses yang memintanya.
6. Pengertian Deadlock
Deadlock adalah suatu kondisi dimana dua proses atau lebih tidak dapat meneruskan
eksekusinya
Resources (1)
Contoh resources sistem komputern printersn tape drivesn Proses-proses membutuhkan
akses ke resource secara teraturn
Contoh 1 : suatu proses memegang (hold) resource A dan meminta resource Bn pada saat
yang sama proses lain sedang memegang resource B dan meminta resource An masing-
masing proses melakukan block, dalam kondisi seperti ini terjadi deadlock

Resources (2)
Contoh 2 :n semaphores A dan B, di-inisialisasi 1n
P0 P1
wait (A); wait(B)
wait (B); wait(A)
. .
. .
. .
signal(A) signal(B)
signal(B) signal(A)

Resources (3)
Contoh 3 :n
Bridge Crossingn
Traffic hanya satu arahn
Masing-masing bagian jembatan dapat digambarkan sebagai resource.n
Jika deadlock terjadi, dapat diselesaikan dengan cara satu mobil mundur ke belakang.n
Beberapa mobil harus kembali jika terjadi deadlock
Memungkinkan terjadinya starvation
Resources (4)
Deadlock terjadi ketika…n
proses-proses diberikan hak akses secara eksklusif ke devices (resources)n
Preemptable resourcesn
dapat diambil dari proses tanpa menimbulkan efek yang burukn
Nonpreemptable resourcesn
akan menyebabkan proses gagal jika diambiln

7. Kondisi Terjadinya Deadlock


Kondisi Mutual exclusion hanya satu proses dalam satu waktu yang dapat memegang
(hold) resourcen
Hold and wait conditionn
suatu proses memegang satu resource dan me-request resource yang lain
No preemption conditionn resource
hanya dapat di-release setelah proses menyelesaikan task-nya pada resourcen tersebut
Circular wait condition
Masing-masing proses menunggu resource yang digunakan oleh proses lain secara
berantai.n
n Terdapat himpunan proses yang sedang menunggu {P0, P1, …, P0} sedemikian sehingga
P0 menunggu resource yang dipegang oleh P1 , P1 sedang menunggu resource yang
dipegang oleh P2, …, Pn–1 . Pn–1 menunggu resource yang dipegang oleh Pn . Dan Pn
menunggu resource yang dipegang oleh P0 .

Metode-metode Penanganan Deadlocks


 Memastikan bahwa sistem tidak akan pernah masuk ke dalam kondisi (state)
deadlock.n
 Memungkinkan sistem untuk masuk ke dalam kondisi deadlock dan kemudian
melakukan recovery (pemulihan).n
 Mengabaikan masalah deadlock dan membuat deadlock tidak pernah terjadi dalam
sistem; digunakan pada OS umumnya (Unix).n
Metode Pencegahan Deadlock (1)
Cara pencegahan (Prevention) dari sisi permintaan (request) resources :
 n Mutual Exclusion – tidak diperlukan untuk resource-resource yang di-share; harus
dipegang (hold) untuk resource-resource yang tidak di-share (nonsharable resources).
 Hold and Wait – harus dijaminn bahwa kapanpun suatu permintaan proses pada
resource, proses tersebut tidak memegang resource yang lain.
 Membutuhkan proses untukn me-request dan mengalokasikan resources sebelum
memulai eksekusi, atau membolehkan proses untuk me-request resource hanya ketika
proses tidak sedang memegang resource. Utilisasi resource yang rendah
memungkinkan terjadinya starvation.n

Metode Pencegahan Deadlock (2)


No Preemptionn
n Jika suatu proses yang memegang beberapa resource me-request resource yang lain yang
tidak dapat secara langsung dialokasikan, maka semua resource yang sedang dipegang
dibebaskan (released).
Preempted resources
ditambahkan ke list resources dimana proses sedang menunggu.n
Proses akan di-restart hanya jika dapat mengambil kembali (regain) resource, juga resource
yang baru yang di-request.n
Circular Waitn
n Membuat penomoran pada proses-proses yang mengakses resource. Suatu proses
dimungkinkan untuk dapat meminta resource kapanpun, tetapi permintaannya harus dibuat
terurut.

Syarat Langkah Kelemahan


 Mutual Exclusion Spooling resource Dapat menyebabkan chaos
 Hold & Wait Meminta resource diawal Sulit memperkirakan di awal dan tidak optimal
 No Pre-emptive Mengambil resource di tengah jalan Hasil proses tidak akan baik
Circular Wait Penomoran permintaan resource Tidak ada penomoran yang memuaskan
semua pihak
Metode Penghindaran Deadlock (1)
 Memberi kesempatan ke permintaan resource yang tidak mungkin menyebabkan
deadlock.n
 Jika pemberian akses tidak mungkin mengarah pada deadlock, maka resource akan
diberikan pada proses yang meminta.n
 Jika tidak aman, proses yang meminta akan di-suspend sampai suatu waktu
permintaannya aman untuk diberikan.n
 Kondisi aman (safe state)n
Jika tidak terjadi deadlock Kondisi tidak aman (unsafe state)n Jika tidak terdapat cara
untuk memenuhi semua permintaann

Metode Penghindaran Deadlock (2)


 Membutuhkan sistem yang memiliki informasi resource yang tersedia.n
 Masing-masing proses memastikan jumlah maksimum resource yang diperlukan.n
 Algoritma penghindaran (avoidence) deadlock memastikan tidak akan terjadi kondisi
circular wait.n
 n Kondisi (state) alokasi resource didefinisikan sebagai jumlah dan alokasi resource
yang tersedia dan maksimum permintaan resource oleh proses.

Basic Facts
Jika sistem dalam kondisi aman (safe state) Þ tidak ada deadlock.n
Jika sistem dalam kondisi tidak aman (unsafe state) Þ kemungkinan dapat terjadi deadlock.
Pendekatan penghindaran (avoidence) memastikan bahwa sistem tidak akan pernah
masuk ke dalam kondisi unsafe state.n

Deteksi dan Pemulihan Deadlock


Menentukan apakah deadlock sedang terjadi, kemudian proses-proses dan resource yang
terlibat dalam deadlock tersebut.n Setelah kondisi deadlock terdeteksi, maka langkah
pemulihan deadlock dilakukan.n.
Cara Pemulihan Deadlock
Ada beberapa cara untuk pemulihan deadlock :n
 Menggagalkan semua proses yang deadlock
 Mem-backup semua proses yang deadlock dan me-restart semua proses tersebutn

 Menggagalkan proses-proses yang deadlock secara berturut-turut hingga tidak ada


deadlock.n
 Menggagalkan pengalokasian resource-resource secara berturut-turut hingga tidak ada
deadlock.n

Kriteria proses-proses yang akan disingkirkan :n


 Memiliki waktu proses (yang telah berjalan) kecil.n
 Jumlah keluaran sedikitn
 Memiliki estimasi sisa waktu eksekusi terbesar.n
 Jumlah total resource terkecil yang telah dialokasikann
 Memiliki prioritas terkeciln

REFERENSI

Jale. 2013. Pengertian Konkurensi. (Online).


http://jeleeeee.blogspot.co.id/2013/04/pengertian-konkurensi.html, diakses pada 24
Februari 2018

Rundengan, NoursLoudy. 2013. Makalah Konkurensi”. (Online)


https://noursloudy.wordpress.com/2014/05/29/makalah-konkurensi-untuk-tugas-
mata-kuliah-sistem-operasi/, diakses pada 24 Februari 2018

Anda mungkin juga menyukai