MUTUAL EXCLUSION DAN DEADLOCK


MUTUAL EXCLUSION DAN DEADLOCK

A.    MUTUAL EXCLUSION
Mutual Exclusion merupakan upaya menjamin pengaksesan sumber daya dedicated benar-benar hanya oleh satu proses tunggal atau jaminan hanya satu proses yang mengakses sumber daya pada satu interval tertentu.
Pada system uniprosessor, status sumber daya dan pemakai dapat tesedia dimemori bersama dan solusi terhadap mutual-exclusion dapat diimplementasikan menggunakan variable bersama (mislanya semaphore) secara mudah.
Semaphore adalah pendekatan yang diajukan oleh Djikstra, dengan prinsip bahwa dua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana. Seperti proses dapat dipaksa berhenti pada suatu saat, sampai proses mendapatkan penanda tertentu itu. Sembarang kebutuhan koordinasi kompleks dapat dipenuhi dengan struktur penanda yang cocok untuk kebutuhan itu. Variabel khusus untuk penanda ini disebut semaphore.Semaphore mempunyai dua sifat, yaitu:
  1. Semaphore dapat diinisialisasi dengan nilai non-negatif.
  2. Terdapat dua operasi terhadap semaphore, yaitu Down dan Up.
·         Pendekatan penjamin mutual Exclusion di system tersebar :
o   Algoritma Terpusat
o   Algoritma Tersebar

·         Syarat penting solusi penjaminan mutual-exclusion adalah :
o   Bebas dari deadlock
o   Bebas dari starvation
o   Fairness
o   Fault-tolerance
Deadlock ialah suatu kondisi permanen dimana proses tidak berjalan lagi ataupun tidak ada komunikasi lagi antar proses.
Starvation adalah suatu proses meninggalkan critical section dan lebih dari satu proses menunggu (waiting).Beberapa proses dapat ditolak aksenya dalam waktu tak terbatas.
 ( YASSER )
(Sumber : Bambang Harianto,”Sistem Operasi” )



v  Token based algorithm
Satu token unik dipakai bersama diantara semua situs. Proses diijinkan untuk memasuki critical-section bila memiliki token.

§  Beberapa pendekatan token based algorithm
-          Token Ring Algorhitm
-          Suzuki-Kasami’s broadcast algorithm
-          Singhal’s heuristic algorithm
-          Raymond’s tree based algorithm

a.       Algortima Token Ring
Terdapat ring logic secara perangkat lunak.
             Keunggulan :
-          Algoritma ini menjamin hanya satu proses masuk critical region, karena hanya satu proses yang dapat mempunyai token.
-          Starvation tak terjadi karena adanya pengurutan peoses
Kelemahan :
-          Jika token hilang, token harus dibangkitkan lagi. Mendeteksi token hilang sulit, karena jumlah antara kedua kemunculan tak dibatasi.
-          Proses yang crash akan menimbulkan kesulitan

b.      Suzuki-Kasami’s broadcast algorithm
Algoritma ini, pada situs yang ingin memasuki critical region  yang tidak mempunyai token membroadcast pesan REQUEST untuk token ke semua sitis lain.

Masalah yang harus diselesaikan :
-          Pembedaan antara pesan usang dan pesan saat it (baru).
-          Penentuan situs yang mempunyai pesan REQUEST paling perlu.

c.       Singhal’s heuristic algorithm
Pada algoritma ini, masing-masing situs mengelola informasi tentang state dari situs  lain dan menggunkannya untuk memilih  sekumpulan situs yang paling berpelunag memiliki token.

d.      Raymond’s tree based algorithm
Pada algoritma ini situs-situs secara logic disusun dalam satu pohon berarah sehingga busur-busur pohon berarah ke situs yang mempunyai token.
( PRAYITNO)                         
(Sumber : Bambang Harianto,”Sistem Operasi” )



























DEADLOCK

Deadlock adalah  proses menunggu suatu kejadian tertentu yang tak akan pernah terjadi.
Contoh :

Misalkan terdapat dua buah proses , yaitu P1 dan P2 dan dua buah sumber daya kritis Yaitu R1 dan R2 . Proses P1 dan P2 harus mengakses  kedua sumber daya tersebut,dengan kondisi ini  maka akan terjadi  R1 akan diberikan kepada P1, dan R2 akan diberikan kepada P2 , karena didalam melakukan eksekusi kita memerlukan kedua sumber daya tersebut sekaligus maka kedua proses akan saling menunggu  sumber daya lain selamanya, proses tidak melepaskan sumber daya yang telah dipegangnya karena menunggu sumber daya lain yang tak pernah diperolehnya. Maka kedua proses dalam kondisi Deadlock  yang tidak dapat membuat kemajuan apapun, dan Deadlock merupakan kondisi terparah karena dapat melibatkan banyak proses dan semuanya tidak mengakhiri proses secara benar.

Urutan kejadian pengoperasian perangkat input/output adalah Sbb:
  1. Meminta (request)       :meminta pelayanan perangkat input/output
      b    Memakai (user)             :memakai perangkat input/output
      c    Melepaskan (release)    :melepaskan pemakaian perangkat input/output


1.Model Deadlock

Model deadlock dua proses dan dua sumber daya


Misalnya :
a.       Dua buah proses P1 dan P2
b   Dua buah sumber daya  R1 dan R2











 




  


    R0
 

    R0
 
                                                                                                                                                      




             Gbr    a                                                                                  Gbr  b


  Gambar.   1  Deadlock dua proses dan dua sumber daya




Dari gambar diatas dapat kita lihat bahwa P0 meminta sumber daya pada R0, sedangkan P1 meminta sumber daya pada R1 , kemudian  P0 sambil menggenggam sumber daya R0 meminta sumber daya R1 sedangkan P1 sambil mengenggam sumber dayaR1 juga meminta sumber daya pada R0  kejadian inilah yang mengakibatkan Deadlock seperti kita lihat pada gambar dibawah ini   graph deadlock ini digambarkan sebagai graph melingkar  dan terjadinya deadlock ini juga  ditandai dengan muncul nya graph melingkar:




 










                 Gambar 2. Graph Deadlock dengan dua prose dan dua sumber daya


Deadlock dapat juga terjadi dengan melibatkan lebih dari dua proses dan dua sumber daya.

    Syarat-Syarat  terjadinya Deadlock

Coffman.et al.  Menyatakan ada 4 syarat terjadinya deadlock

 
1.      Mutual exclusion
2.      Kondisi genggam dan tunggu
3.      Kondisi non preemption
4.      Kondisi menunggu secara sirkular


Mutual Exclusion                  : Tiap sumber daya pada saat itu  diberikan tepat pada satu proses.

 

Kondisi genggam & tunggu : Proses-prose yang sedang menggenggam sumber daya  me.-

                                                    nunggu s umber daya yang baru

Kondisi non preemption       : Sumber daya-sumber daya yang sebelumnya diberikan tidak
                                                   Dapat diambil paksa  dari proses itu, sumber daya  harus secara
                                                    explisitdilepaskan dari proses yang menggenggamnya.

Kondisi menunggu secara sirkular:  harus terdapat rantai sirkular dari dua proses atau lebih
                                                              masing-masing menunggu sumber daya yang digenggam
                                                              oleh anggota berikutnya pada rantai tersebut.


Ketiga syarat tersebut sangat diperlukan bagi terjadinya deadlock,tetapi ketiga kondisi itu belum berarti terjadinya deadlock, deadlock baru benar-benar terjadi jika dipenuhi syarat yang keempat,karena  syarat keempat ini merupakan  keharusan bagi terjadinya peristiwa deadlock. Bila salah satu kondisi ini saja tidak terpenuhi maka deadlock tidak terjadi.

( OKKY)                               
(Sumber : Bambang Harianto,”Sistem Operasi” )


   
2. Metode Mengatasi Deadlock

Tiga metode dalam mengatasi Deadlock:


  a.Metode pencegahan terjadinya Deadlock (Deadlock Preventation)
Metode ini banyak dipakai, dan metode ini berhubungan dengan pengkondisian sistem agar menghilangkan kemungkinan terjadinya deadlock, pencegahan adalah  sulusi yang terbaik dipandang dari sudut  tercegahnya deadlock. Dan metode ini sering menghasilkanutilisasi sumber daya yangburuk.

  b.Metode penghindaran terjadinya Deadlock (Deadlock Avoidence)
     Tujuan  dari metoda ini adalah untuk menghindari terjadinya kondisi-kondisi yang  me-
     mungkinkan terjadinya deadlock, dan memperoleh utilisasi sumber daya yg baik.
     Penghindaran bukan berarti  menghilangkan semua kemungkinan terjadinya deadlock,
     Secara teoritis deadlock dimungkinkan.
     Sistem operasi memeriksa semua permintaan sumber daya secara hati-hati, jika sistem
     operasi mengetahui  bahwa alokasi sumber daya menimbulkan resiko deadlock, maka 
     sistem akan menolak pengaksesan dan dengan demikian menghindari terjadinya deadlock
  
c. Metode deteksi dan pemulihan Deadlock (Deadlock detection and recovery)
    Metode deteksi ini digunakan pada sistem yang mengizinkan terjadinya deadlock, Tujuan
    dari metode ini adalah  untuk memeriksa apakah telah terjadi deadlock  dan menentukan
    proses serta sumber daya yang terlibat dalam  deadlock secara presisi setelah ditemukan
    sistem dipulihkan dari deadlock  dengan metode pemulihan. (metode pemulihan dari dead
    lock adalah  untuk menghilangkan deadlock sistem sehingga dapat beroperasi kembali)
    Proses yang terlibat dalam deadlock mungkin akan dapat menyelesaikan eksekusi  dan mem
    bebaskan sumber daya dari sumber dayanya.

3 .Strategi burung onta

   Strategi ini diasumsikan bahwa deadlock jarang terjadi jika dibandingkan dengan kejadian komputer crash.  Jadi mengapa kita harus bersusah payah mengatasi deadlock sedangkan sistem lebih sering rusak karena crash, disebut dengan strategi burung onta karena burung onta akan menyembunyikan kepalanya ketanah apabila akan terjadi bahaya yang mengancam dirinya. Jadi sebenarnya strategi ini  adalah sama sekali tidak berusaha mengatasi deadlock .



( IRWAN )                            
(Sumber : Bambang Harianto,”Sistem Operasi” )


4.Pencegahan Deadlock


Havendar mengemukakan bahwa  jika keempat syarat tersebut diatas tidak dipenuhi maka tidak akan terjadi deadlock, sehingga Havendar menyarankan  strategi – strategi  untuk meniadakan dengan syarat :
A.Setiap proses harus meminta semua sumber yang diperlukan sekaligus dan tidak berlanjut
    sampai semua diberikan.

B Jika proses telah/sedang  memegang sumber daya tertentu , untuk permintaan berikutnya
   Proses harus melepas sumber daya yang dipegangnya , jika diperlukan  proses harus me-
   Minta kembali sekaligus dengan sumber daya yang baru.

C.Buat urutan yang linear  untuk semua sumber daya pada semua proses, jika proses telah di-
   alokasikan pada suatu type sumber daya maka proses berikutnya  boleh meminta  type sum
   ber daya berikutnya.

    Metode pencegahan Deadlock :

(a).Meniadakan mutual exclusion : yaitu mencegah hanya satu proses yang mengakses   sumber   daya pada suatu interval waktu tertentu,

(b).Meniadakan syarat Hold dan Wait, cara ini dapat dilakukan dengan : mengalokasikan se-
   mua sumber daya atau tidak sama sekali dan hold and release.
   proses untuk mengalokasikan semua sumber daya atau tidak sama sekali  permintaan ini
   hanya dapat dilayani bila semua sumber daya tersedia ,jika sumber daya tersedia proses
   dialokasikan  jika diperlukan dan berjalan sampai selesai. Jika sumber daya tidak tersedia
   atau hanya satu sumber daya maka proses harus menunggu sampai semua sumber daya yg
  diperlukan tersedia untuk dialokasikan padanya,
  yang  menjadi permasalahan adalah sukar untuk mengetahui lebih dulu sumber daya yang
  diperlukan  suatu proses karena  pada awal proses tidak diketahui berapa sumber daya yg
  diperlukan, jika proses hanya butuh satu disk diawal eksekusi (atau lebih buruk lagi tanpa
  disk)  dan menistrahatkan disk-disk yang lain. Perlunya proses utnuk menerima seluruh 
  disk yang diperlukan sebelum eksekusi dimulai menyebabkan sumber daya komputer me
  nganggur  dalam waktu yang lama, sementara proses yg memerlukan harus menunggu.
  Hold and release (genggam dan lepas)yaitu pada  saat terjadi permintaan satu  sumber daya
  Maka proses harus melepaskan sumber daya lain yg telah digunakan, jadi hanya satu sum –
  ber daya  yg dialokasikan untuk proses. Cara ini tidak mungkin karena ada proses yang di
  Syaratkan harus memegang beberapa sumber daya sekaligus,misalnya menggambar pada
  Plotter yang memerlukan plotter serta disk untuk menyimpan data gambar yang diplot.

(c).meniadakan kondisi non preempation :yaitu mencegah proses lain harus menunggu me
   nunggu proses preemption  sehingga tidak ada tunggu menunggu. Contohnya : saat proses
   A menulis ke printer tiba-tiba di stop oleh proses B yang juga akan menulis ke printer
   yang sama bila dimungkinkan preemption ini maka  kedua proses  akan mencetak  seca   
   ra tidak benar.

(d).Meniadakan kondisi menunggu sirkular: Kondisi ini dapat ditiadakan dengan cara yaitu
   proses hanya dibolehkan menggenggam satu sumber daya pada satu saat , jika perlu sum
   ber daya yang kedua maka proses harus melepaskan sumber daya pertama. (sama dengan
   hold & release), cara ini tidak dimungkinakn karena terdapat proses yang mengharuskan 
  memegang lebih dari satu sumber daya pada saat yg sama untuk menyelesaikan prosenya.
  Untuk meniadakan kondisi sirkular juga dapat dilakukan dengan penomoran global semua
  Sumber daya, karena proses dapat meminta kapanpun proses menginginkan,tetapi perminta
  an dibuat terurut secara numerik, cara ini tidak menimbulkan siklus , permasalah yang
  timbul tidak ada cara pengurutan nomor sumber daya yang memuaskan semua pihak.


5.Penghindaran Deadlock

  Gagasan dasar  penghindaran deadlock adalah  untuk memberi akses ke permintaan sumber daya yang tidak menimbulkan deadlock, cara ini biasa digunakan dengan mengalokasikan sumber daya dan memeriksa dampak pemberian akses ke suatu permintaan
Jika pemberian akses sumber daya tidak mungkin menimbulkan deadlock  maka sumber daya diberikan ke peminta sumber daya, jika timbul deadlock  maka proses yang meminta di suspend  sampai waktu permintaannya aman (tidak timbul deadlock) baru diberikan, kondisi ini biasanya terjadi  setelah satu suimber daya atau lebih  yang semula dipegang oleh proses-yang aktif   liannya dilepas.
Untuk penghindaran deadlock  diperlukan pengertian mengenai state selamat (safe state) dan dan state tak selamat (unsafe state), dinyatakan sebagai state selamat jika state tidak terjadi deadlock dan terdapat cara untuk memenuhi semua permintaan yang ditunda tanpa menghasilkan deadlock dengan menjalankan proses secara hati-hati & mengikuti urutan tertentu. Contohnya :
( GALIH )                             
(Sumber : Bambang Harianto,”Sistem Operasi” )

* State selamat (safe state) dan state tak selamat (unsafe state)

Safe State adalah cara untuk memenuhi permintaan yang ditunda tanpa menghasilkan deadlock dengan menjalankan proses secara hati-hati mengikuti urutan tertentu.
Contoh:
Pada sistem yang memiliki 10 sumber daya se type , proses A memerlukan sumber daya maksimum 10 , sedangkan pada saat ini ia menggenggam 2 sumber daya, sedangkan proses B memerlukan sumber daya maksimum 3 sedangkan saat ini menggenggam 1 sumber daya, proses C memerlukan sumber daya maksimum 7 sedangkan saat ini mengenggam 3 sumber daya ,maka masih tersedia sumber daya 4 seperti pada tabel dibawah ini :


      Proses
Jlh sumber  daya yg digenggam
Maks sumber daya yang dibutuhkan
A
2
10
B
1
3
C
3
7
          Tersedia                4

                     Gbr  5.1 state selamat

Gambar 5.1 disebut safe state karena ditemukan barisan pengalokasian yang memungkinkan semua proses selesai. Dengan penjadwalan secara hati-hati sistem terhindar dari deadlock.

Sistem terhindar dari deadlock  adalah dengan langkah sbb:

1.Alokasikan 4 sumber daya pada proses C sehingga sumber daya tersedia tinggal 1,nanti
   sampai proses C berakhir  sehingga

Proses
Jlh Sumber daya yg digenggam
Maks sumber daya  yang dibutuhkan
A
2
10
B
1
3
C
7
7
 Tersedia                                    0

Setelah selesai proses pada C maka diperoleh

Proses
Jlh sumber daya yg digenggam
Maks Sumber daya yang dibutuhkan
A
2
10
B
1
3
C
0
-
   Tersedia                                       7

 1Alokasikan 5 sumber daya nantikan sampai proses B berakhir

Proses
Jlh  Sumber  daya yg di genggam
Maks sumber daya yang dibutuhkan
A
2
10

B
3
3
C
0
-
           Tersedia                              5

  
Setelah proses B selesai maka hasilnya

Proses
Jlh Sumber daya yg di genggam
Maks sumber daya yang dibutuhkan
A
2
10
B
0
-
C
0
-
Tersedia                                       8

3.  Alokasikan 8 sumber daya pada proses A nantikan sampai selesai


Proses
Jlh Sumber daya yg di genggam
Maks sumber daya yang dibutuhkan
A
10
10
B
-
-
C
-
-
    Tersedia                                   0

  Setelah proses A selesai maka hasilnya

Proses
Jlh sumber daya yg di genggam
Maks sumber daya  yang dibutuhkan
A
0
-
B
0
-
C
0
-
   Tersedia
           0



 Dengan tiga langkah proses dan penjadwalan yang hati-hati  dapat menyelesaikan proses dengan sempurna.


State tak selamat  jika tidak terdapat cara untuk memenuhi semua permintaan yang  saat ini ditunda  dan menjalankan proses sesuai urutan. State  tak selamat  bila alokasi sumber daya tak terkendali.


Proses
Jml sumber daya yg digenggam
Maks sumber daya yang  di     butuhkan
A
2
10
B
1
3
C
3
7
  Tersedia                               4
  
     State berubah menjadi tak selamat :
   
·         Dua permintaan sumber daya oleh proses A dilayani dan
·          Satu permintaan sumber daya oleh proses B dilayani  maka state berubah menjadi

Proses
Jlh sumber daya yg digenggam
Maks sumber daya dibutuhkan
A
4
10
B
2
3
C
3
7
   Tersedia                                     1

     Pada state ini tidak  terdapat baris pengalokasian yang dapat membuat semua proses selesai ,   
     Contohnya :

    Langkah : 1  Alokasikan satu sumber daya pada proses B sehingga sumber daya tersedia
                        Hanya 1 dan nantikan proses B selesai.



Proses
Jlh sumber daya yg digenggam
Maks sumber daya dibutuhkan
A
4
10
B
3
3
C
3
7
  Tersedia                                     0

    Setelah selesai proses B maka menjadi

Proses
Jml sumber daya yg di genggam
Maks sumber daya dibutuhkan
A
4
10
B
0
-
C
3
7
 Tersedia
3




Sekarang tersedia 3 sumber daya sementara proses A membutuhakn 6 sumber daya dan proses C membutuhkan  4 sumber daya. Keterangan diatas tadi adalah untuk alokasi sumber daya sejenis , pengertian state selamat dan tak selamat dapat diperluas  untuk sumber daya tak sejenis. Yang perlu diingat bahwa  state tak selamat bukan berarti telah terjadi deadlock, tetapi state tersebut kemungkinan menuju deadlock.


* Algoritma bunker olek Dijkstra

Disebut algoritma  karena memodelkan bunker disebuah kota kecil yang berurusan  dengan sekumpulan nasabah yang memohon kredit, pada algoritma ini kondisi mutual exclusion, hold and wait dan non preemption diizinkan dan proses melakukan klaim penggunaan sumber daya eksklusif  yang diperlukan, proses diizinkan menggenggam sumber daya  sambil meminta dan menunggu sumber daya yang lain. Serta sumber daya itu tidak diizinkan di preemption proses lain. Proses dapat meminta sumber daya pada suatu waktu, sistem operasi dapat mengakses dan menolak sumber daya permintaan, jika ditolak  proses masih menggenggam  sumber daya yg telah dialokasikan dan menunggu sampai waktu yg tak terhingga sampai permintaan dipenuhi.
Dan sistem hanya meberikan permintaan yang menghasilkan state selamat, sedangkan permintaan yang menghasilkan state tak selamat ditolak sampai permintaan dipenuhi. Karena sistem selalu memelihara agar dalam kondisi state selamat maka cepat atau lambat dalam waktu yang tak terhingga  semua permintaan dapat dipenuhi dan semua proses berakhir.


* Kelemahan Algoritma Banker

1.Proses jarang mengetahui jumlah  sumber daya maksimum  diperlukan di awalnya.
2.Jumlah proses tidak tetap
3.Sumber daya yang tersedia  tiba tiba dapat saja dicopot
4.Proses harus independen yaitu urutan proses eksekusi tidak dibatasi kebutuhan sinkronisasi
   antar proses.
5.Algoritma menghendaki memberikan semua permintaan pada waktu yang tak terhingga
6.Algoritma menghendaki client mengembalikan sumber daya setelah waktu yang tak terhingga

( PRAYITNO)                         
(Sumber : Bambang Harianto,”Sistem Operasi” )

6. Deteksi dan pemulihan Deadlock

   Deteksi adanya dealock adalah cara untuk menentukan apakah deadlock terjadi serta mengidentifikasi proses dan sumber daya yang terlibat dalam deadlock. Umumnya algoritma yang dibutuhkan untuk deteksi adalah menentukan keberadaan  menunggu sirkular  (circular wait), penggunaan algoritma ini melibatkan over head run time  karena secara kontinyu dijalankan untuk mendeteksi  menunggu sirkular, sembaranag algoritma pendeteksian siklus graph berarah dapat digunakan. Perioda yang biasa dilakukan adalah memonitor permintaan dan pelepasan sumber daya. Setiap terdapat permintaan & pelepasan maka dilakukan  pembaharuan graph dan deteksi adanya siklus. Bila terdapat siklus berarti terjadi menunggu sirkular dan deadlock terjadi.

Pemulihan dari deadlock yaitu begitu sistem terdapat deadlock  maka deadlock harus diputuskan denagn menghilangkan salah satu atau lebih persyaratannya.
Pemulihan dari deadlock ditentukan oleh beberapa faktor :

-          Belum tentu secepatnya dapat menentukan deadlock
-          Kebanyakan sistem tidak memilki fasiltas atau fasilitasnya buruk untuk mensuspend proses,menghilangkan dari sistem dan meresume proses dilain waktu, pada sistem waktu nyata yang harus berfungsi kontinyu proses tidak dapat di suspend dan resume.
-          Jika terdapat kemampuan sistem resume dan suspend yang efektif kemampuan ini dapat melibatkan sejumlah overhead, berarti memerlukan perhatian operator yang berkemampuan tinggi,operator ini tidak selalu tersedia.
-          Pemulihan memerlukan sejumlah kerja yang berarti.

Pada sistem operasi yang hanya tiga state dasar (running,ready dan blocked) maka tak ada cara lain kecuali menyingkirkan proses itu, proses akan hilang dari memori dan harus dimuat kembali, sedangkan pada operasi modern sistem biasanya menerapkan state supended blocked dan suspended ready diman sumber dayanya dilepas tetapi proses masih di memory dan akan ditetapkan kembali proses untuk sumber daya begitu terjadi resume.
Pendekatan yang digunakan untuk pemulihan deadlock :

·         Singkirkan semua proses yang melibatkan deadlock (cara ini sering digunakan)
·         Backup semua proses yang terlibat deadlock ke suatu check point yang didefinisikan sebelumnya dan jalankan kembali semua proses itu, cara ini memerlukan mekanisme rollback dan restart,resikonya deadlock semula dapat terjadi lagi , tetapi karena tidak tertentu pemrosesan kong kuren ,biasa tidak akan terjadi deadlock serupa.
·         Secara berurutan singkirkan proses sampai tidak terjadi deadlock lagi, urutan proses yang disingkirkan berdasarkan kriteria ongkos minimum, setelah penyingkiran algoritma  deteksi harus dijaalankan untuk melihat apakah masih terjadi deadlock.
·         Secara berurutan preemp sumber daya tidak ada deadlock lagi,


Kriteria-kriterianya sebagai berikut:

-    Waktu pemrosesan yang telah dijalankan paling kecil
-          Jumlah baris keluaran yang diproduksi kecil
-          Mempunyai estimasi sisa waktu eksekusi besar
-          Jumlah total sumber daya terkecil yang telah dialokasikan
-          Prioritas terkecil.


7. Startegi Penanggulanag Deadlock Terpadu

Silberschatz  menyarankan satu pendekatan terpadu yaitu:

-          Kelompokkan  sumber daya menjadi kelas sumber daya
-          Gunakan strategi pengurutan linear seperti yg dijelaskan pada pencegahan menunggu sirkular, strategi ini untuk mencegah deadlock diantara kelas sumber daya yang berbeda.
-          Dalam satu kelas sumber daya gunakan algoritma yang sesuai untuk kelas sumber daya tsb.    




8.   Starvation

Ilustarsi  dead clock  misalnya:

·         Terdapat tiga buah proses yaitu P1, P2 dan P3.
·         P1,P2 dan P3 memerlukan pengaksesan sumber daya  R secara kontinyu:

   Skenario berikutnya adalah :
     
·         P1 sedang diberi sumber daya R  maka P2 dan P3 di blocked menunggu sumber daya R
·         Ketika P1 keluar dari critical section maka P2 dan P3 diizinkan mengakses R
·         Asumsi kita P3 diberi hak akses kemudian setelah selesai maka hak akses diberikan kembali kepada P1  yang saat itu kembali membutuhkan sumber daya R.
·         Jika hak akses hanya bergantian  P1 dan P3 saja secara terus menerus maka P2 tidak memperoleh akses sumber daya R, kondisi ini tidak terjadi deadlock , hanya saja P2 mengalami startvation (tidak ada kesempatan untuk dilayani.)

( OKKY)                                      

   TGL 21-4-2013 15.40








Daftar Kelompok
Ketua : YASSER (12.5.00102)

Anggota:
1.      MUHAMMAD IRWAN Z.         (12.5.00065)
2.      OKKY IGITYA R.                      (12.5.00076)
3.      PRAYITNO TRI U.                     (12.5.00077)
4.      GALIH ICHTIAR S.                   (12.5.00106)






Read More...

Video Gallery