Anda di halaman 1dari 5

Nama : M Romi Saputra

NPM : 1557201001830
Kelas : 4A

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

PRINSIP PRINSIP KONKURENSI

Karena konkurensi merupakan landasan umum pada perancangan suatu sistem operasi, maka beberapa
hal yang merupakan prinsip-prinsip konkurensi harus ada dalam sistem operasi yang akan dirancang.
Konkurensi meliputi beberapa hal berikut ini:

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

Fasilitas atau kemampuan menyediakan dukungan mutual exclusion harus memenuhi kriteria sbb:

Mutual exclusion harus dijamin, bahwa tidak ada proses lain, kecuali dirinya sendiri. Di sini terjadi proses
tunggal.

Proses yang berada di noncritical section, dilarang mem-blocked proses-proses lain yang ingin masuk
critical section. Hal ini bisa terjadi startvation.

Harus dijamin bahwa proses yang ingin masuk critical section tidak menunggu selama waktu yang tak
terhingga. Ini bisa mengakibatkan masalah deadlock dan antrian proses bertambah panjang.

Ketika tidak ada proses pada critical section, maka proses yang ingin masuk critical section harus ijinkan
masuk tanpa waktu tunda.

Tidak ada asumsi mengenai kecepatan relatif proses atau jumlah proses yang ada.

Proses hanya tinggal pada critical section selama satu waktu yang tidak terhingga

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

Strategi untuk menghadapi deadlock dapat dibagi menjadi tiga pendekatan, yaitu:

a. Mengabaikan adanya deadlock.

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.

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.

Pencegahan Deadlock
1.Meniadakan Mutual exclusion.

Harus tetap menjaga resource-resource yang bersifat non-shareable. Yaitu, proses menahan sebuah
resource, proses lain yang meminta resource tsb harus menunggu sampai proses melepaskannya. Jika
terjadi pada perangkat I/O dan berkas, maka sulit untuk menghindari mutual exclusion pada sumber daya
non shareable.

2.Meniadakan Syarat Hold & Wait.

Apabila suatu proses minta ijin untuk mengakses suatu resource, maka proses tersebut tidak boleh
membawa resource yang lainnya. Sebleum proses meminta resource, maka harus melepas semua resource
yang dibawa.

3.Meniadakan Non Preemption.

Jika suatu proses minta ijin mengakses resource, sementara resource tersebut tidak dapat dipenuhi
secepatnya, maka proses tersebut harus membebaskan semua resourcenya terlebih dahulu.

4.Meniadakan Circular Wait.

Memberi nomor pada setiap resource yang ada, dan setiap resource hanya boleh mengakses resource
secara berurutan.

Mendeteksi Deadlock dan Memulihkan Deadlock

Metode deteksi digunakan pada system yang mengijinkan terjadinya deadlock. Tujuan metode ini adalah
memeriksa apakah telah terjadi deadlock dan menentukan proses-proses dan sumber daya-sumber daya
yang terlibat deadlock secara presisi. Begitu telah dapat ditentukan, system dipulihkan dari deadlock
dengan metode pemulihan.

Metode pemulihan dari deadlock berupaya untuk menghilangkan deadlock dari system sehingga system
beroperasi kembali, bebas dari deadlock. Proses-proses yang terlibat deadlock mungkin dapat
menyelesaikan eksekusi dan membebaskan sumber daya-sumberdayanya.

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

Hal ini disebabkan bias pada kebijaksanaan atau strategi alokasi sumber daya. Kondisi seperti ini harus
dihindari pada sistem operasi karena tidak adil, tapi dikehendaki penghindaran dilakukan seefisien
mungkin. Penanganan ini merupakan persoalan yang sulit untuk menemukan kriteria yang benar, adil dan
efesien dalam suatu strategi Sistem Operasi.

Perhatikan contoh berikut:

a. terdapat tiga proses, P1, P2, dan P3.

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

Skenario berikut terjadi:


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

b. Ketika P1 keluar dari critical section, P2 dan P3 diijinkan mengakses R.

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

4. Singkronisasi
Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan. tujuan utama
sinkronisasi adalah menghindari terjadinya inkonsitensi data karena pengaksesan oleh beberapa proses
yang berbeda (mutual exclusion) serta untuk mengatur urutan jalannya proses-proses sehingga dapat
berjalan dengan lancar dan terhindar dari deadlock dan starvation. Sinkronisasi umumnya dilakukan
dengan bantuan perangkat sinkronisasi. Penyelesaian terhadap masalah ini sangat penting karena
perkembangan teknologi sistem komputer menuju ke sistem multiprocessing, terdistribusi dan paralel
yang mengharuskan adanya proses-proses kongkuren.

Anda mungkin juga menyukai