Sistem Operasi

Posted by Unknown 0 komentar


KONKRUENSI Dan DEADLOCK
       
Konkurensi adalah proses-proses (lebih dari satu proses) yang terjadi pada saat bersamaan. Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama. Pada proses-proses konkuren yang berinteraksi mempunyai beberapa masalah yang harus diselesaikan:
a.  Mutual Exclusion
b.  Sinkronisasi
c.  Deadlock
d.  Startvation

Prinsip-Prinsip Konkurensi
Konkurensi meliputi hal-hal sebagai berikut :
•    Alokasi waktu pemroses untuk proses-proses.
•    Pemakaian bersama dan persaingan untuk mendapatkan sumber daya.
•    Komunikasi antarproses.
•    Sinkronisasi aktivitas banyak proses.
Konkurensi dapat muncul pada konteks berbeda, antara lain:
a.   Banyak aplikasi (multiple application).
b.   Aplikasi terstruktur.
c.   Struktur sistem operasi.
d.   Untuk Strukturisasi Satu Proses.

Interaksi Antar Proses
Pada sistem dengan banyak proses (kongkuren), terdapat 2 katagori interaksi, yaitu:
a.   Proses-proses Saling Tidak Peduli (Independen).
b.   Proses-proses Saling Mempedulikan Secara Tidak Langsung.

Beberapa Kesulitan Yang Ditimbulkan Konkurensi
1.  Pemakaian bersama sumber daya global
2.  Pengelolaan alokasi sumber daya agar optimal
3.  Pencarian kesalahan pemrograman (Debuging).
4.  Mengetahui Proses-Proses Aktif.
5.  Alokasi dan Dealokasi bragam sumber daya untuk tiap proses aktif.
6.   Proteksi Data dan Sumber Daya Fisik.
7.  Hasil-hasil harus Independen dengan proses eksekusi.


Dalam kesempatan ini akan menjelaskan tentang masalah konkruensi deadlock.  

Deadlock

Deadlock adalah keadaan dimana 2 atau lebih proses saling menunggu meminta resources untuk waktu yang tidak terbatas lamanya. Analoginya seperti pada kondisi jalan raya dimana terjadi kemacetan parah. Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh 2 proses.




 Model Deadlock
• Meminta (request): meminta layananperangkat masukan/keluaran.
• Memakai (use): memakai perangkat masukan/keluaran.
• Melepaskan (release): melepaskan pemakaian perangkat masukan/keluaran.

a.   Deadlock Problem
Apa itu deadlock?
Analogi :
Traffic stuck, antrian kendaraan yang saling menunggu Menunggu keadaan yang tidak akan pernah terjadi kebuntuan.

b. Karakteristik Deadlock
Situasi deadlock dapat terjadi bila terdapat 4 kondisi yang berjalan serentak pada sistem. Mutual Exclusion Sebuah resource hanya dapat digunakan oleh sebuah proses pada suatu waktu tertentu. (resource yang non- shareable.) Hold and Wait terdapat proses yang sedang menunggu dan memegang resource.

c. Karakteristik Deadlock (cont.)
- Non-preemption
Resource tidak dapat digunakan sebelum proses yang menggunakan telah selesai menggunakan dan kemudian melepaskannya.
Penyebab Deadlock
 Mutual Exclusion
 Meniadakan MUTEX
Masalah pada teknik ini:
 – Tidak setiap resource eksklusif dapat di spooling.
 Kompetisi terhadap ruang disk dan spooling dapat menuntun ke arah  deadlock

 Hold and Wait
Meniadakan Syarat Hold & Wait
• Mengalokasikan semua resource atau tidak sama sekali
• Masalah: –Sukar mengetahui lebih dulu semua resource yg diperlukan suatu proses.
• Cara ini dapat menjadi sangat tidak efisien.
• Hold & Release
• Circular Waiting
Circular Wait
• Contoh Circular Wait
• No Preemption

Meniadakan Kondisi
Non-Preemption
• Non preemption mencegah proses2 lain harus menunggu.
• Masalah: – Saat proses A menulis ke printer, tiba-tiba dihentikan proses B yang juga akan menulis ke printer yang sama. Bila dimungkinkan kondisi preemption ini maka kedua proses akan mencetak secara tak benar.

Strategi mengatasi Deadlock

1. Prevention : memastikan paling sedikit satu penyebab Deadlock tidak berlaku.
Prevention
• Mutual Exclusion : membuat file spool untuk resource yang digunakan bersama-sama
• Hold and Wait : memaksa sebuah proses untuk melepaskan resource yang dimilikinya ketika meminta resource baru
• Circular Waiting : memberikan penamaan resource berdasarkan urutan atau level
• No Preemption : membolehkan adanya preemption.

2. Avoidance : sistem menolak request terhadap resource yang berpotensi deadlock,
Algoritma Banker.
Avoidance
• Resource manager menolak proses yang meminta resource yang berpotensi deadlock.
• Jika ada permintaan resource yang maksimum digunakan, maka proses tersebut akan dipaksa untuk melepaskan resource yang sudah dimiliknya.
• Perlu adanya informasi tambahan.
Algoritma Banker
• Didasarkan pada kondisi bank, dimana konsumen meminjam sejumlah uang, lalu meminta pinjaman uang lagi
• Proses dan resource dimodelkan dalam satu tabel
3. Detection and Recovery : membiarkan Deadlock terjadi, lalu mendeteksinya, kemudian melakukan recovery, Algoritma Ostrich.
Detection dan Recovery
• Membiarkan deadlock terjadi lalu mendeteksinya kemudian melakukan tindakan recovery seperlunya
• Algoritma yang paling dikenal adalah algoritma Ostrich
• Tindakan recovery yang dilakukan adalah : melakukan preemption, membuat checkpoint untuk rollback lalu membunuh proses yang prioritasnya kecil.
 

0 komentar:

Posting Komentar

Ricky Pratama's Blog support EvaFashionStore.Com - Original design by Bamz | Copyright of Sarana IT dan ITC.