Skip to main content

Dearlock dan Starvation pada Sistem Operasi

 Sebutkan dan Jelaskan Pengertian Deadlock dan Starvation. Dan berikan contohnya

Deadlock

Deadlock terjadi jika dua atau lebih proses menunggu tanpa ada batas waktu. Deadlock merupakan suatu kondisi yang saling menunggu.Karena beberapa poses saling menunggu maka tidak ada proses kemajuan. Deadlock ini salah satu masalah yang biasa terjadi,sebab saling menunggu. Apalbila deadlock terjadi pada sistem komputer, maka akan terjadi efek berantai dimana sumber daya yang seharusnya digunakan oleh proses lain tidak dapat digunakan sehingga proses lain juga akan terhambat eksekusinya.

Contoh deadlock:

  1. Terdapat 2 proses kita sebut P1 dan P2 yang masing-masing membutuhkan 2 sumber daya yang sama, kita sebut: S1 dan S2.
  2. P1 meminta ijin untuk menggunakan S1 terlebih dahulu. Karena S1 memang sedang tidak ada yang menggunakan, maka S1 diberikan kepada P1.
  3. Pada waktu yang hampir bersamaaan, P2 meminta ijin untuk menggunakan S2. Karena memang S2 sedang tidak ada yang menggunakan, maka S2 diberikan kepada P2.
  4. Setelah P1 mendapatkan S1, langkah selanjutnya adalah meminta ijin untuk menggunakan S2. Karena S2 sedang digunakan oleh P2, maka P1 menunggu sampai S2 dibebasakan.
  5. Disisi lain, P2 sudah mendapatkan S2, yang kemudian meminta ijin menggunakan S1. Karena S1 sedang digunakan oleh P1, maka P2 menunggu sampai S1 dibebaskan.
  6. Situasinya akan menjadi P1 menunggu P2 melepaskan S2, padahal S2 akan dilepaskan jika P2 sudah mendapatkan S1(yang sedang digunakan P1) dan menyelesaikan prosesnya. Begitu juga sebaliknya.

Starvation

Starvation merupakan suatu kondisi yang terjadi setelah deadlock. Starvation terjadi jika suatu proses tidak mendapatkan resource yang diminta atau tidak dapat menjalankan critical sectionnya dalam jangka waktu yang sangat lama. Suatu proses dikatakan mengalami starvation jika proses tersebut tidak mendapatkan sumber daya yang dibutuhkan dan mengalami penjadwalan yang buruk.penjadwalan berdasarkan prioritas akan memungkinkan proses dengan prioritas terendah tidak kebagian sumber daya krena disela oleh proses baru.Hal ini dapat diselesaikan dengan Aging dan round robin. Metode aging dilakukan dengan cara menaikkan prioritas proses sedikit demi sedikit pada proses yang berprioritas rendah seiring dengan watu tunggu.Sedangkan proses round robin dimana setiap proses mendapatkan unit satuan waktu CPU,setelah jatah waktu selesai,proses akan ditunda dan dimasukkan ke akhir dari ready queue.

Berikut contoh dari starvation :

  1. P1 menggunakan sumber daya S
  2. P2 dan P3 ingin menggunakan S, keadaan menunggu
  3. P1 melepaskan S, P3 diijinkan menggunakan S (bisa karena prioritas lebih tinggi)
  4. P1 membutuhkan S sebelum P3 selesai
  5. P1 diberikan akses ke S setelah P3 selesai
  6. P1 dan P3 bergantian menggunakan S, sedangkan P2 tidak pernah mendapatkan jatah menggunakan S.
loading...

Comments

Popular posts from this blog

Contoh Soal Membuat Algoritma Pseudocode dan Flowchart.

  Sebuah Angka Acak 3, 1, 4, 2. Buatlah algoritma yang direpresentasikan dalam bentuk flowchart dan pseudocode untuk mengurutkan data tersebut. Pseudocode start //definisikan varriabel: int Data [] ← {3,1,4,2} int i,j,hasil //print Data elemen sebelum diurut: for (i ← 0; i < Data.jumlahdata; i← i+1) Cetak i //proses pengurutan dan perbandingan data: for (i ← 0; i<jumlahElemen(**Data**); i←i+1 for (j ← 0; j<jumlahElemen(**Data**); j←j+1) //pengecekan angka lebih besar / lebih kecil: if (Data[i] < Data[j]) hasil ← Data[i] Data[i]←Data[j] Data[j] ← hasil //Print hasil pengurutan: for (j ← 0; j < jumlahElemen(**Data**); j ←j+1) print j Finish Flowchart

Contoh Soal Data dalam Sistem Bahasa Pemrograman R

  Tuliskan pernyataan R untuk membuat deret bilangan berikut : x = [-5 -4 -3 -2 -1 0 1 2 3] y = [5 4 3 2 1] z = [1000000 1166667 1333333 1500000 1666667 1833333 2000000] p = [9 9 9 5 5 5] q = [1 1 1 2 2 2 1 1 1 2 2 2] Jawaban : > x <- seq (from=-5,to=3,length=9) > x [1] -5 -4 -3 -2 -1 0 1 2 3 > y <- seq (from=5,to=1,length=5) > y [1] 5 4 3 2 1 > z <- seq (from=1000000,to=2000000,length=7) > z [1] 1000000 1166667 1333333 1500000 1666667 1833333 2000000 > p <- rep(c(9,5),each=3) > p [1] 9 9 9 5 5 5 > q <- rep(c(1,2,1,2),each=3) > q [1] 1 1 1 2 2 2 1 1 1 2 2 2 Tuliskan pernyataan R untuk membuat frame data siswa berikut : No Jurusan asal_daerah usia 1 Komputer Bogor 25 2 Fisika Bogor 25 3 Komputer Bandung 25 4 Fisika Bandung 25 5 Komputer Bogor 26 6 Fisika Bogor 26 7 Komputer Bandung 26 8 Fisika Bandung 26 Jawaban : > jurusan <- c("Komputer","Fisika","Komputer","Fisika","Komputer"

Contoh Soal Masalah pada Sistem Operasi

  Seorang tenaga IT kantor travel akan memasang sebuah printer baru untuk dapat digunakan oleh staf  frontdesk . Namun setelah dihubungkan, printer tersebut tidak langsung dapat digunakan. Analisis oleh anda mengapa hal tersebut terjadi? Sistem informasi harus dapat berkomunikasi dengan perangkat I/O yang ada. Printer yang baru dihubungkan ke komputer tidak dapat digunakan karena sistem tidak dapat bertukar informasi dengan hardware yang berada didalam komputer yang berhubungan dengan printer. Tenaga IT tersebut harus menginstall program driver khusus untuk printer pada komputer staf frontdesk agar komputer dan printer bisa saling bertukar data sehingga printer dapat digunakan. Dalam sebuah sistem operasi, Budi menjalankan banyak aplikasi sehingga komputer yang digunakan terjadi  “deadlock” . Analisis oleh Anda mengapa hal tersebut bisa terjadi! Deadlock adalah keadaan dimana sistem operasi terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk m
loading...