Anda di halaman 1dari 25

KONKURENSI

SISTEM OPERASI
Kelompok 2 :
1. Aditiya Pratama (2257201052)
2. Debby Dwina Andaresi (2257201072)
3. Grace Juneria (2257201075)
4. Malini Lestari (2257201055)
5. Margaretha Ria Purba (2257201056)
6. Naomi Simbolon (2257201064)
TABLE OF CONTENTS

01 Pengertian Konkurensi

02 Masalah-Masalah Pada Proses Konkurensi

03 Prinsip-Prinsip Konkurensi

04 Interaksi Antar Proses

05 Kesulitan-Kesulitan Yang Ditimbulkan Konkurensi

06 Pokok-Pokok Penyelesaian Masalah Pada Konkurensi


01
Pengertian Konkurensi
Apa Itu Konkurensi?

Konkurensi merupakan landasan umum perancangan sistem operasi.


Proses-proses disebut konkuren jika proses-proses berada pada saat
yang sama. Dikatakan sebagai landasan umum perancangan sistem
operasi karena dalam menciptakan suatu sistem operasi, sistem
operasi tersebut umumnya harus bisa menjalankan beberapa proses
(lebih dari satu proses) pada saat yang bersamaan.
02
Masalah-Masalah Pada
Proses Konkurensi
Masalah-Masalah Pada Proses Konkurensi
◆ Mutual Exclusion

Mutual exclusion adalah jaminan hanya satu proses yang


mengakses sumber daya pada satu interval waktu tertentu,
dimana sumber daya tersbut tidak dapat dipakai bersama
pada saat bersamaan.

contoh : sumber daya printer hanya bisa diakses 1 proses,


tidak bisa bersamaan. Sumber daya ini disebut sumber daya
kritis.
◆ Deadlock
Deadlock adalah suatu kondisi dimana dua proses atau lebih tidak dapat
meneruskan eksekusinya oleh pemroses. Pada umumnya deadlock terjadi
karena proses mengalami startvation, yaitu suatu job yang sedang
dieksekusi dan eksekusi job tersebut tidak ada hentinya, tidak diketahui
kapan berhentinya proses tersebut atau bahkan job yang antri bisa dikatakan
mempunyai status mati, padahal proses-proses lain sedang menunggu
sumber daya proses.

Kondisi Deadlock merupakan kondisi terparah karena banyak proses dapat


terlibat dan semuanya tidak dapat mengakhiri prosesnya secara benar.
Metode Mengendalikan Deadlock :

1. Menggunakan suatu protokol untuk meyakinkan bahwa sistem


tidak akan pernah mengalami deadlock.

2. Mengijinkan sistem mengalami deadlock, namun kemudian


harus segera dapat memperbaikinya.

3. Mengabaikan semua masalah dan menganggap deadlock tidak


akan pernah terjadi lagi di dalam sistem.
◆ Startvation
Startvation adalah keadaan dimana pemberian akses bergantian terus menerus,
dan ada suatu proses yang tidak mendapatkan gilirannya. Juga dapat
dimaksudkan bahwa kondisi bila beberapa proses-proses menunggu alokasi
sumber daya sampai tak berhingga, sementara proses-proses lain dapat
memperoleh alokasi sumber daya.

Contoh :

terdapat tiga proses, P1, P2, dan P3.

1. P1, P2 dan P3 memerlukan pengaksesan sumber daya R secara periodik.


Skenario berikut terjadi :

1. P1 sedang diberi sumber daya R, P2 dan P3 blocked menunggu


sumber daya R.

2. Ketika P1 keluar dari critical section, P2 dan P3 diijinkan


mengakses R.

3. Asumsi P3 diberi hak akses. Kemudian setelah selesai, hak


akses kembali diberikan ke P1 yang satu itu kembali
membutuhkan sumber daya R.

Jika pemberian hak akses bergantian terus menerus antara P1 dan


P3, maka P2 tidak pernah memperoleh pengaksesan sumber daya
R, meski tidak ada deadlock. Pada situasi ini, P2 mengalami situasi
yang disebut dengan startvation
◆ Sinkronisasi Proses
Sinkronisasi proses merupakan suatu proses secara bersama-sama dan saling
berbagi data bersama dapat mengakibatkan race condition atau inkosistensi
data.

Sinkornisasi di perlukan untuk menghindari terjadinya ketidak konsistenan


data akibat adanya akses secara konkuren.

Proses-proses tersebut disebut konkuren jika proses itu ada dan berjalan pada
waktu yangbersamaan.
◆ Sebagai penyimpanan data sementara dan non sementara agar dapat
mempermudah pekerjaan.
◆ Masalah pada Sinkronisasi terdapat dari masalah lainnya, seperti masalah
Race Condition dan Critical Section.
03
Prinsip-Prinsip Konkurensi
Prinsip-Prinsip Konkurensi
• Alokasi waktu pemroses untuk proses-proses.
Hal ini berkaitan dengan penjadwalan proses pada suatu sistem operasi. Penjadwalan
proses merupakan kumpulan kebijakan dan mekanisme dalam sistem operasi yang
berkaitan dengan urutan kerja yang dilakukan sistem operasi. Penjadwalan proses
bertugas untuk mengatur proses mana yang harus berjalan, kapan dan seberapa lama
proses tersebut dijalankan.

• Pemakaian bersama dan persaingan untuk mendapatkan sumber daya.


Dalam hal ini, sebuah sistem operasi harus bisa mengatur pemakaian sumber daya pada
saat terjadinya konkurensi. Sumber daya yang ada jumlahnya terbatas, sehingga pada saat
banyak proses yang berjalan sistem harus dapat mengatur pengalokasian sumberdaya agar
tidak terjadi starvation. Selain itu terdapat juga sumber daya yang tidak bersifat shareable
atau tidak dapat digunakan secara bersaman, sumber daya seperti itu disebut sumber daya
kritis.
• Komunikasi antar proses.
Untuk mengatur kegiatan proses yang berjalan bersamaan, mereka harus dapat saling
berkomunikasi, dimana proses-proses yang ingin dikomunikasikan harus memiliki sebuah
cara untuk berkomunikasi satu dengan lainnya. Mereka dapat menggunakan komunikasi
secara langsung atau tak langsung.

• Sinkronisasi aktivitas banyak proses.


Sinkronisasi aktivitas banyak proses ini mencakup semua hal di atas. Untuk terjadinya
sinkronisasi antar proses-proses yang berjalan diperlukannya komunikasi antar proses
yang berjalan. Setelah proses-proses tersebut berkomunikasi, sistem akan dapat membagi
sumber daya yang ada baik itu sumber daya kritis atau tidak. Selan itu, sistem juga dapat
mengatur penjadwalan proses dengan baik.
Konkurensi dapat muncul pada konteks berbeda, antara lain :

1. 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.

2. 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.

3. 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.
04
Interaksi Antar Proses
Interaksi Antar Proses
Pada sistem dengan banyak proses (kongkuren), terdapat 3 katagori interaksi antar
proses berdasarkann derajat pengetahuan keberadaan proses lainnya, yaitu:

1. Proses tidak saling mengetahui keberadaannya.


Proses seperti ini merupakan proses yang tidak dimaksudkan untuk bekerjasama.
Pada multiprogramming dengan proses-proses independen, dapat berupa batch atau
sesi interaktif, atau campuran keduanya. Walaupun proses saling tidak melakukan
kerjasama, sistem operasi perlu memperhatikan kompetisi sumber daya. Misalnya
dua aplikasi independen dapat sama-sama menginginkan akses ke disk, file , atau
printer yang sama. Sistem operasi harus mengatur akses tersebut.
2. Proses mengetahui keberadaan proses lainnya secara tidak langsung.
Proses seperti ini adalah proses yang tidak harus saling mengetahui akan
keberadaan proses lainnya berdasarkan namanya namun memiliki akses berbagi ke
beberapa objek, misalkan bufer I/O. Proses seperti itu menunjukkan adanya operasi
dalam melakukan berbagi pemakaian ojek.

3. Proses mengetahui keberadaan proses lainnya secara langsung.


Proses-proses seperti ini adalah proses yang dapat berkomunikasi satu dengan
lainnya berdasarkan nama dan merupakan proses yang dirancang untuk bekerja
sama dalam melakukan aktivitas-aktivitas tertentu. Demikian pula, proses seperti
ini menunjukkan adanya kooperasi.
05
Kesulitan-Kesulitan Yang
Ditimbulkan Konkurensi
Kesulitan-Kesulitan Yang
Ditimbulkan 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:
(1) Waktu pemroses. (2) Memori.
(3) Berkas-berkas. (4) Perangkat I/O.

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

d) Hasil-hasil proses harus independen terhadap kecepatan relatif proses-proses lain dimana
eksekusi dilakukan.
06
Pokok-Pokok Penyelesaian Masalah
Pada Konkurensi
Pokok-Pokok Penyelesaian Masalah
Pada Konkurensi
Pada dasarnya penyelesaian masalah konkurensi 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 konkurensi.


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.
THANK YOU!

Anda mungkin juga menyukai