Senin, 17 Juni 2013


Masalah - masalah konkuren

 1. Mutual Exclusion
          Merupakan persoalan untuk menjamin hanya satu proses yang mengakses sumber daya pada suatu interval waktu tertentu. Keberadaan mutual exclusion ini berfungsi untuk mencegah penggunaan secara bersamaan resource tertentu (contohnya variabelglobal) oleh potongan kode program yang disebut critical section.
           Mutual exclusion ini dapat ditimbulkan akibat adanya interaksi antara proses-proses yang berjalan. Denganadanya interaksi proses yang memungkinkan adanya kompetisi antar proses, konsep bagi-pakai maupuncooperative antar proses maka kemungkinan terjadinya critical section akan terjadi.
          Untuk mengatasi hal tersebut maka dibuatlah sebuah sistem manajemen proses mutual exclusion. Mutualexclusion pertama kali diungkapkan oleh Edsger Djikstra pada tahun 1965. Sejak saat itu banyak solusi yangditawarkan untuk mengatasi adanya mutual exclusion.

Contoh ilustrasi Eksekusi Daemon Printer
       Daemon untuk printer adalah proses penjadwalan dan pengendalian untuk mencetak berkas-berkas di printer sehingga seolah-olah printer dapat digunakan secara simultan oleh proses-proses. Daemon untuk printer mempunyai ruang penyimpanan di harddisk (disebut direktori spooler) untuk menyimpan berkas - berkas yang akan dicetak. terdapat variabel in yang menunjuk slot bebas di ruang harddisk yang dipakai untuk menyimpan berkas yang hendak di cetak.

Konsep Mutual Exclusion
   Jadi konsep utama dari mutual exclusion adalah bagaimana melakukan manipulasi dan membuat kebijakan tentang bagaimana tata cara pengaksesan critical section oleh proses satu dengan yang lain yang mengakses secara simultan. Mutual exclusion baik yang terjadi pada proses uniprocessing, multiprocessing maupun sistemyang cooperative, solusi yang harus dilakukan bagaimana pengontrolan akses ke sumberdaya.

Persyaratan mutual exclusion adalah sebagai berikut,
a. Mutual exclusion harus dilaksanakan : diantara sejumlah proses yang memiliki bagian kritis bagi sumberdaya yang sama atau objek bagi pakai, pada suatu saat tertentu hanya sebuah proses yang diizinkanmemasuki daerah kritisnya.
b. Suatu proses yang berhenti di dalam bagian kritisnya tidak boleh menganggu proses lainnya.
c. Suatu proses yang memerlukan akses ke bagian kritis tidak boleh di-
delay -kan dalam waktu yang tidak tertentu.
d. Apabila di dalam bagian kritis tidak ada proses,proses yang ingin masuk ke dalam bagian kritisnya harusdiizinkan masuk tanpa delay.
e. Tidak ada asumsi dibuat tentang kecepatan proses relative atau jumlah prosesor.
f. Suatu proses berada pada di dalam bagian kritisnya dalam waktu tertentu saja.
Terdapat beberapa cara untuk memenuhi persyaratan mutual exclusion , yakni dengan pendekatan software,pendekatan mesin (instruksi-instruksi mesin special purpose) dan feature-feature dukungan sistem operasi.

2. Deadlock 
a. Prinsip dari Deadlock

      Deadlock dalam arti sebenarnya adalah kebuntuan. Kebuntuan yang dimaksud dalam sistem operasi adalah kebuntuan proses. Jadi Deadlock ialah suatu kondisi dimana proses tidak berjalan lagi ataupun tidak ada komunikasi lagi antar proses. Deadlock disebabkan karena proses yang satu menunggu sumber daya yang sedang dipegang oleh proses lain yang sedang menunggu sumber daya yang dipegang oleh proses tersebut. Dengan kata lain setiap proses dalam set menunggu untuk sumber yang hanya dapat dikerjakan oleh proses lain dalam set yang sedang menunggu
.

Coofman, et al. [cof-71] menyatakan empat syarat terjadi nya deadlock, yaitu :
a. Mutual exclusion condition
b. Hold and wait condition
c. Non-preemption condition
d. Circular wait condotion

Mutual exclusion condition
Kondisi dimana sumber daya saat itu diberikan pada satu proses.

Hold and wait condition
Kondisi dimana proses - proses yang sedang menggenggam sumber daya, menunggu sumber daya sumber daya baru.

Non-preemption condition 
Kondisi dimana sumber daya yang sebelumnya diberikan, tidak akan diambil paksa dari proses yang sedang menggenggamnya. sumber daya tersebut secara eksplisit dilepaskan dari proses yang menggenggamnya.

Circular wait condotion
Kondisi dimana harus terdapat rental sirkuler dari dua proses atau lebih, masing-masing menunggu sumber daya yang digenggam oleh anggota berikutnya rantai itu.

Metode untuk mengatasi deadlock dapat dikelompokkan menjadi tiga, yaitu:
a. Meotde pencegahan (deadlock prevention)
b. Metode penghindaran (deadlock avoidance)
c. Metode deteksi dari pemulihan (deadlock detection and recovery)

3. Starvation 
     Starvation adalah keadaan dimana satu atau beberapa proses 'kelaparan' karena terus dan terus menunggu kebutuhan sumber dayanya dipenuhi. Namun, karena sumber daya tersebut tidak tersedia atau dialokasikan untuk proses lain, akhirnya proses yang membutuhkan tidak bisa memilikinya. Kondisi seperti ini merupakan akibat dari keadaan menunggu yang berkepanjangan.    
 

Tidak ada komentar:

Posting Komentar