KONKURENSI

TUGAS ARTIKEL
NAMA           : RUSADI
NIM                : 13130032
KELAS          : 13.4C.02


KONKURENSI
Mutual Exclusion dan  Deadlock  



Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi, orang hanya mengunakan komputer dengan menggunakan sinyal analog dan sinyal digital. Seiring dengan berkembangnya pengetahuan dan teknologi, pada saat ini terdapat berbagai sistem operasi dengan keunggulan masing-masing. Pengertian sistem operasi secara umum ialah pengelola seluruh sumberdaya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer. Dalam sistem operasi terdapat istilan Sinkronisasi. Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan. Akses berbarengan untuk berbagi dua atau bersamaan dapat mengakibatkan inkosistensi data. Pemeliharaan konsistensi data memerlukan mekanisme untuk memastikan eksekusi dari proses kerjasama. Shared memory merupakan solusi ke masalah bounded-butter yang mengijinkan paling banyak n-1 materi dalam buffer pada waktu yang sama. Suatu  solusi, jika semua N buffer digunakan tidaklah sederhana. Dimisalkan kita memodifikasi producer-consumer code dengan menambahkan suatu variable counter, dimulai dari 0 dan masing-masing waktu tambahan dari suatu item baru diberikan kepada buffer. Tujuan utama sinkronisasi adalah untuk 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 system komputer menuju ke sistem multiprocessing, terdistribusi dan paralel yang mengharuskan adanya proses-proses kongkuren. Untuk dapat mengatasi masalah tersebut maka kita harus Untuk dapat mengatasi masalah tersebut maka kita harus memahami dahulu tentang proses dari Mutual Exclusion, deadlock dan starvation tersesebut
Konkurensi merupakan landasan unum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama. Proses-proses yang mengalami kongkuren dapat sepenuhnya tak bergantung dengan proses yang lainnya (independent) namun dapat juga saling berinteraksi, sehingga membutuhkan sinkronisasi atau koordinasi proses agar terkendali dengan baik. Proses-proses kongkuren berkompetisi ketika proses-proses bersaing menggunakan sumber daya yang sama. Dua proses atau lebih perlu mengakses sumber daya yang sama pada suatu saat. Masing-masing proses tidak peduli keberadaan proses-proses lain dan masing-masing proses tidak dipengaruhi proses proses lain. Pada proses-proses berkompetisi ini, tidak ada pertukaran informasi antara proses-proses itu. Eksekusi satu proses dapat berpengaruh terhadap kelakuan proses-proses yang berkompetisi. Jika dua proses ingin mengakses satu sumber daya tunggal maka sistem operasi mengalokasikan untuk salah satu proses dan mengharuskan proses lain menunggu. Proses yang ditolak pengaksesan menjadi melambat. Kasus ekstrim yang dapat terjadi adalah proses di-blocked terus-menerus sehingga tak pernah mengakses sumber daya. Proses tak pernah dapat berakhir dengan suskses. Kondisi tidak pernah dapat kesempatan dialokasikan sumber daya disebut startvation. Sistem operasi harus menghindarkan terjadinya kondisi ini. Persaingan proses-proses untuk memperoleh sumber daya menimbulkan tiga masalah :
1. Mutual exclusion
2. Deadlock
3. Startvation

A.  Mutual Exclusion

Merupakan kondisi dimana terdapat sumber daya yang tidak dapat dipakai bersama pada waktu yang bersamaan (misalnya: printer, disk drive) maka terdapat. jaminan hanya satu proses yang mengakses sumber daya pada satu interval tertentu. Syarat penting solusi penjaminan mutual-exclusion adalah :
-          Bebas dari deadlock
-          Bebas dari startvation
-          Fairness
-          Fault-tolerance

Pendekatan penjaminan mutual-exclusion tersebar :
1. Algoritma terpusat
-          Satu proses merupakan coordinator
-          Waktu proses-proses lain ingin masuk critical region proses mengirim pesan ke koordinator memberitahu critical region yang ingin dimasukinya dan meminta ijin.
-          Jika tidak ada proses lain di critical region koordinator mengirim balik jawaban pemberian ijin
-          Ketika ijin tiba, proses yang meminta segera memasuki critical region
-          Jika da proses lain di critical region koordinaror menolak ijin
2. Klasifikasi algoritma tersebar :
-          Nontoken-bassed algorithms
-          Token based algorithms
a.       Nontoken-based algorithm
-          Lamport’s algorithm
-          Richart-agrawala algorithm
-          Maekawa algorithm
b.      Beberapa pendekatan token based algorithm:
-          Token-ring algorirthm
-          Suzuki-kasami’s broadcast algorirthm
-          Singhal’s heuristic algorirthm
-          Raymond’s tree-based algorirthm


B. Deadlock

Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses untuk melepaskan seumber daya atau resources yang sedang dipakai. Deadlock yang mungkin dapat terjadi pada suatu proses disebabkan proses itu menunggu suatu kejadian tertentu yang tidak akan pernah terjadi. Dua atau lebih proses dikatakan berada dalam kondisi deadlock, bila setiap proses yang ada menunggu suatu kejadian yang hanya dapat dilakukan oleh proses lain dalam himpunan tersebut. Terdapat kaitan antara overhead dari mekanisme koreksi dan manfaat dari koreksi deadlock itu sendiri. Pada beberapa kasus, overhead atau ongkos yang harus dibayar untuk membuat sistem bebas deadlock menjadi hal yang terlalu mahal dibandingkan jika mengabaikannya. Sementara pada kasus lain, seperti pada real-time process control, mengizinkan deadlock akan membuat sistem menjadi kacau dan membuat sistem tersebut tidak berguna. Contoh ilustrasi, terjadi pada sebuah persimpangan jalan. Beberapa hal yang dapat membuat deadlock pada suatu persimpangan, misalnya:
Terdapat satu jalur pada jalan. Mobil digambarkan sebagai proses yang sedang menuju sumber daya. Untuk mengatasinya beberapa mobil harus preempt (mundur). Sangat memungkinkan untuk terjadinya starvation (kondisi proses tak akan mendapatkan sumber daya). 

a) Syarat terjadinya Deadlock
Menurut Coffman dalam bukunya "Operating System" menyebutkan empat syarat bagi terjadinya deadlock, yaitu:
1.    Mutual Exclusion :  Suatu kondisi dimana setiap sumber daya diberikan tepat pada satu proses pada suatu waktu.
2.    Hold and Wait : Kondisi yang menyatakan proses-proses yang sedang memakai suatu sumber daya dapat meminta sumber daya yang lain.
3.    Non-pre-emptive : Kondisi dimana suatu sumber daya yang sedang berada pada suatu proses tidak dapat diambil secara paksa dari proses tersebut,sampai proses itu melepaskannya.
4.    Circular Wait : Kondisi yang menyatakan bahwa adanya rantai saling meminta sumber daya yang dimiliki oleh suatu proses oleh proses lainnya.
b) Strategi menghadapi Deadlock
Strategi untuk menghadapi deadlock dapat dibagi menjadi tiga pendekatan, yaitu:
1.    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.
2.    Membiarkan deadlock untuk terjadi, pendekatan ini membutuhkan dua metode yang saling mendukung, yaitu:
a.    Pendeteksian deadlock, untuk mengidentifikasi ketika deadlock terjadi.
b.    Pemulihan deadlock, mengembalikan kembali sumber daya yang dibutuhkan pada proses yang memintanya.

c) Mencegah Deadlock
Metode ini merupakan metode yang paling sering digunakan. Metode Pencegahan dianggap sebagai solusi yang bersih dipandang dari sudut tercegahnya deadlock. Tetapi pencegahan akan mengakibatkan kinerja utilisasi sumber daya yang buruk. Metode pencegahan menggunakan pendekatan dengan cara meniadakan empat syarat yang dapat menyebabkan deadlock terjadi pada saat eksekusi Coffman (1971). Secara ringkas pendekatan yang digunakan pada metode pencegahan deadlock dan masalah-masalah yang menghambatnya, terangkum dalam tabel dibawah ini.
d) Menghindari Deadlock
Pendekatan metode ini adalah dengan hanya memberi kesempatan ke permintaan sumber daya yang tidak mungkin akan menyebabkan deadlock. Metode ini memeriksa dampak pemberian akses pada suatu proses, jika pemberian akses tidak mungkin menuju kepada deadlock, maka sumber daya akan diberikan pada proses yang meminta. Jika tidak aman, proses yang meminta akan disuspend sampai suatu waktu permintaannya aman untuk diberikan. Kondisi ini terjadi ketika setelah sumber daya yang sebelumnya dipegang oleh proses lain telah dilepaskan. Kondisi aman yang dimaksudkan selanjutnya disebut sebagai safe-state, sedangkan keadaan yang tidak memungkinkan untuk diberikan sumber daya yang diminta disebut unsafe-state.
e) 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 prosesproses 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.




Post a Comment

0 Comments