Anda di halaman 1dari 23

KONKURENSI Sistem Operasi

Pengertian :
Konkuren Concurrent = Yang terjadi bersamasama Konkurensi adalah kejadian dimana terjadi proses-proses (beberapa proses) yang berada pada saat yang sama

oleh : Muhibbuddin/1021077/AMIK PN

Prinsip-prinsip Konkurensi
Konkurensi meliputi hal-hal sbb :
- Alokasi waktu pemroses untuk proses-proses - Pemakaian bersama dan persaingan untuk

mendapatkan sumber daya - Komunikasi antar Proses - Sinkronisasi aktivitas banyak proses

oleh : Muhibbuddin/1021077/AMIK PN

Konkurensi dapat muncul pada konteks berbeda antara lain :


Banyak Aplikasi (multiple application), pada

System Multiprogramming bisa terdapat banyak aplikasi sekaligus yang dijalankan. Aplikasi Terstruktur, pada prinsip Perancangan Modular dan Pemrograman Terstruktur dapat diimplementasikan sebagai sekumpulan proses Struktur Sistem Operasi, biasa terdapat pada SO yang bermodelkan client/server Untuk Strukturisasi Satu Proses, misalkan satu proses dapat memiliki banyak Thread independen yang harus dapat bekerjasama untuk mencapai tujuan proses
3 oleh : Muhibbuddin/1021077/AMIK PN

Interaksi antar proses yang konkuren


Proses-proses sling tidak peduli (Independen), Proses-proses ini tidak dimaksudkan untuk bekerja sama untuk mencapai tujuan tertentu. Pada multiprogramming dengan proses-proses independen, dapat berupa batch atau sesi interaktif, atau campuran keduanya. 2. Proses-proses saling mempedulikan secara tidak langsung, Proses-proses tidak perlu saling mempedulikan identitas proses-proses lain, tapi sama-sama mengakses obyek tertentu yang perlu bekerja sama dalam memakai bersama obyek tersebut (I/O).
1.
4 oleh : Muhibbuddin/1021077/AMIK PN

Masalah-masalah yang timbul akibat konkurensi


Mutual Exclusion ( Saling Pengecualian ) 2. Sinkronisasi ( Penyamaan ) 3. Deadlock ( Jalan Buntu ) 4. Startvation
1.

oleh : Muhibbuddin/1021077/AMIK PN

Mutual Exclusion
Merupakan kondisi dimana terdapat sumber daya yang tidak dapat dipakai bersama pada waktu yang bersamaan, hanya satu proses yang mengakses sumber daya pada satu interval waktu tertentu. (misalnya : printer, disk drive). Bagian program yang sedang mengakses memory atau sumber daya yang dipakai bersama disebut critical section.

oleh : Muhibbuddin/1021077/AMIK PN

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 memblocked 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 yang ada. Proses hanya tinggal pada critical section selama satu waktu yang berhingga

oleh : Muhibbuddin/1021077/AMIK PN

Metode Mutual Exclusion


Metode Variable Lock

Locking adalah salah satu mekanisasi pengontrol konkuren. Konsep dasar : pada saat suatu transaksi memerlukan jaminan kalau record yang diinginkan tidak akan berubah secara mendadak, maka diperlukan kunci untuk record tersebut. Fungsi kunci (lock) adalah menjaga record tersebut agar tidak dimodifikasi transaksi lain. Metode ini sederhana ketika proses masuk critical section lebih dahulu memeriksa variable lock. - Jika variable lock bernilai 0, proses men-set variable locknya menjadi 1 kemudian masuk ke dalam critical section. - Jika variable lock bernilai 1, maka proses menunggu sampai nilai variable lock nya menjadi 0. Metode ini tidak menjamin proses tidak masuk critical section yang telah dimasuki proses lain. Metode bergantian secara ketat Metode ini mengasumsikan dapat mengalir masuk critical section secara bergantian terus-menerus. Metode ini melakukan refleksi terhadap variabel yang berfungsi untuk memenuhi critical section.
8 oleh : Muhibbuddin/1021077/AMIK PN

Sinkronisasi
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.
9 oleh : Muhibbuddin/1021077/AMIK PN

Problem Klasik pada Sinkronisasi


Ada tiga hal yang selalu memjadi masalah pada

proses sinkronisasi:
Problem Bounded buffer. 2. Problem Reades and Writer. 3. Problem Dining Philosophers.
1.

10

oleh : Muhibbuddin/1021077/AMIK PN

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. Deadlock merupakan kondisi terparah karena banyak proses dapat terlibat dan semuanya tidak dapat mengakhiri prosesnya secara benar.
11 oleh : Muhibbuddin/1021077/AMIK PN

Resource
Sistem operasi di sini berperan sebagai pengatur

berbagai tipe resource yang berlainan, karena pada dasarnya proses-proses maupun job-job tersebut ingin mengakses resource yang sama. Shareable resource misalnya printer, tape drive.

12

oleh : Muhibbuddin/1021077/AMIK PN

Karakteristik Deadlock

Kondisi yang dapat menimbulkan terjadinya deadlock: Mutual exclusion. Apabila proses telah menggunakan suatu resource, maka tidak boleh ada proses lain yang menggunakan resource tsb. Hanya satu proses yang dapat menggunakan sebuah resource pada satu waktu. Hold & Wait. Pada suatu proses sedang mengakses suatu resource, proses tsb dapat meminta ijin untuk mengakses resource lain yang dipakai oleh proses lain. No Preemption. Jika suatu proses meminta ijin untuk mengakses resource, sementara resource tersebut tidak tersedia, maka permintaan ijin tidak dapat dibatalkan. Circular Wait Condition. Jika proses P0 sedang mengakses Resource R1 dan minta ijin untuk mengakses resource R2, dan pada saat yang bersamaan P1 sedang mengakses resource R2 dan minta ijin untuk mengakses R1.

13

oleh : Muhibbuddin/1021077/AMIK PN

Metode Mengendalikan Deadlock


Menggunakan suatu protokol untuk meyakinkan

bahwa sistem tidak akan pernah mengalami deadlock. Mengijinkan sistem mengalami deadlock, namun kemudian harus segera dapat memperbaikinya. Mengabaikan semua masalah dan menganggap deadlock tidak akan pernah terjadi lagi di dalam sistem.

14

oleh : Muhibbuddin/1021077/AMIK PN

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

15

deadlock terjadi. Pemulihan deadlock, mengembalikan kembali sumber oleh : Muhibbuddin/1021077/AMIK PN daya yang dibutuhkan pada proses yang memintanya.

Pencegahan Deadlock
Mutual exclusion.

16

Harus tetap menjaga resource-resource yang bersifat non-shareable. Yaitu, proses menahan sebuah resource, proses lain yang meminta resource tersebut harus menunggu sampai proses melepaskannya. Jika terjadi pada perangkat I/O dan berkas, maka sulit untuk menghindari mutual exclusion pada sumber daya non shareable. Hold & Wait. Apabila suatu proses minta ijin untuk mengakses suatu resource, maka proses tersebut tidak boleh membawa resource yang lainnya. Sebelum proses meminta resource, maka harus melepas semua resource yang dibawa. 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. Circular Wait. Memberi nomor pada setiap resource yang ada, dan setiap resource hanya boleh mengakses resource2 secara berurutan. Untuk menghindari deadlock ikuti prinsip preemptive.
oleh : Muhibbuddin/1021077/AMIK PN

Penghindaran Deadlock
State Selamat State Tak Selamat (unsafe state)

State dikatakan sebagai state tak selamat jika tidak terdapat cara untuk memenuhi semua permintaan yang saat ini ditunda dengan menjalankan prosesproses dengan suatu urutan. Perlu diingat!, bahwa state tak selamat bukan berarti deadlock, hanya menyatakan bahwa state tersebut memiliki kemungkinan deadlock.

17

oleh : Muhibbuddin/1021077/AMIK PN

Mendeteksi Deadlock dan Memulihkan Deadlock


Metode ini mengunakan pendekatan dengan teknik untuk menentukan apakah deadlock sedang terjadi serta proses-proses dan sumber daya yang terlibat dalam deadlock tersebut. Setelah kondisi deadlock dapat dideteksi, maka langkah pemulihan dari kondisi deadlock dapat segera dilakukan. Langkah pemulihan tersebut adalah dengan memperoleh sumber daya yang diperlukan oleh proses-proses yang membutuhkannya. Beberapa cara digunakan untuk mendapatkan sumber daya yang diperlukan, yaitu dengan terminasi proses dan pre-emption (mundur) suatu proses. Metode ini banyak digunakan pada komputer mainframe berukuran besar.
18 oleh : Muhibbuddin/1021077/AMIK PN

Terminasi Proses
Metode ini akan menghapus proses-proses yang terlibat pada kondisi deadlock dengan mengacu pada beberapa syarat. Beberapa syarat yang termasuk dalam metode ini adalah, sebagai berikut: Menghapus semua proses yang terlibat dalam kondisi deadlock (solusi ini terlalu mahal). Menghapus satu persatu proses yang terlibat, sampai kondisi deadlock dapat diatasi (memakan banyak waktu). Menghapus proses berdasarkan prioritas, waktu eksekusi, waktu untuk selesai, dan kedalaman dari rollback.
19 oleh : Muhibbuddin/1021077/AMIK PN

Resources Preemption
Metode ini lebih menekankan kepada bagaimana menghambat suatu proses dan sumber daya, agar tidak terjebak pada unsafe condition. Beberapa langkahnya, yaitu: Pilih salah satu - proses dan sumber daya yang akan di-preempt. Rollback ke safe state yang sebelumnya telah terjadi. Mencegah suatu proses agar tidak terjebak pada starvation karena metode ini.

20

oleh : Muhibbuddin/1021077/AMIK PN

Startvation
Startvation adalah keadaan dimana pemberian

21

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 bila ada 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 oleh : Muhibbuddin/1021077/AMIKdan efesien dalam suatu strategi yang benar, adil PN Sistem Operasi.

Perhatikan contoh berikut: Terdapat tiga proses, P1, P2, dan P3. P1, P2 dam P3 memerlukan pengaksesan sumber daya R secara periodik. Skenario yang terjadi adalah sbb: P1 sedang diberi sumber daya R, P2 dan P3 blocked menunggu sumber daya R. Ketika P1 keluar dari critical section, P2 dan P3 diijinkan mengakses R. 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.

22

oleh : Muhibbuddin/1021077/AMIK PN

Daftar Pustaka :
Dari berbagai sumber di wa Gogel

(www.google.co.id).

23

oleh : Muhibbuddin/1021077/AMIK PN

Anda mungkin juga menyukai