Kamis, 24 Januari 2013

Beberapa single-user mikrokomputer sistem operasi seperti MS-DOS menyediakan sedikit atau tidak sama sekali arti dari pemrosesan yang konkuren. Diskusikan dampak yang paling mungkin ketika pemrosesan yang konkuren dimasukkan ke dalam suatu sistem operasi?


 
Beberapa single-user mikrokomputer sistem operasi seperti MS-DOS menyediakan sedikit atau tidak sama sekali arti dari pemrosesan yang konkuren. berikut dampak yang paling mungkin ketika pemrosesan yang konkuren dimasukkan ke dalam suatu sistem operasi
  1. Mutual exclusion, yaitu terdapat dua proses yang pada saat bersamaan berada dalam critical region yang bisa menghambat proses lain
  2. Deadlock, yaitu suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain
  3. Starvation, Yaitu proses seolah-olah berhenti, menunggu request akses ke critical section diperbolehkan
  4. Sinkronisasi

Terimakasih,, Semoga Bermanfaat ^^

Rabu, 23 Januari 2013

Algoritma Pergantian page LRU "Least Recently Used"


Dikarenakan algoritma optimal sangat sulit dalam pengimplementasikannya, maka dibuatlah algoritma lain yang performance-nya mendekati algoritma optimal dengan sedikit cost yang lebih besar. Algoritma in mengganti halaman yang paling lama tidak dibutuhkan. Asumsinya, halaman yang sudah lama tidak digunakan sudah tidak dibutuhkan lagi dan kemungkinan besar halaman yang baru di-load akan digunakan kembali.

Sama seperti algoritma optimal. Algoritma LRU tidak mengalami Anomali Belady. Algoritma ini memakai Linked list untuk mendata halaman mana yang paling lama tidak terpakai. Linked list ini lah yang membuat cost membesar, karena harus meng-update linked list paling depan adalah halaman yang baru saja digunakan. Semakin lama tidak dipakai, halaman akan berada semakin belakang dan diposisi terakhir adalah halaman yang paling lama tidak digunakan dan siap untuk di-swap.

contoh dari gambar Algoritma LRU

Selasa, 22 Januari 2013

Penanganan DeadLock



Algoritma ostrich yaitu strategi mengabaikan masalah yang mungkin terjadi atas dasar pada masalah itu sendiri yang mungkin sangat jarang terjadi untuk itu muncul istilah seperti seolah kita menempel kepala kita di pasir dan berpura-pura bahwa tidak ada masalah. Hal tersebut lebih efektif dibanding upaya pencegahannya itu sendiri. Algoritma ini juga bisa digunakan untuk menangani jika terjadi deadlock pada pemrograman concurren.

Gambaran Algoritma Ostric 
  • Jangan lakukan apapun, cukup restart sistem
    (ostrich: benamkan kepala ke pasir dan berpura-pura tidak masalah sama sekali)
  • Dilakukan bila :
    - Deadlock sangat jarang terjadi
    - Algoritma deadlock lainnya biayanya lebih tinggi
  • Diimplementasikan oleh Windows dan UNIX
  • Trade off
    - Kenyamanan (convenience) vs keakuratan (correctness)

Minggu, 20 Januari 2013

kondisi deadlock


1.Mutual Exclusion . 
Kondisi yang pertama adalah mutual exclusion yaitu proses memiliki hak milik pribadi terhadap sumber daya yang sedang digunakannya. Jadi, hanya ada satu proses yang menggunakan suatu sumber daya. Proses lain yang juga ingin menggunakannya harus menunggu hingga sumber daya tersebut dilepaskan oleh proses yang telah selesai menggunakannya. Suatu proses hanya dapat menggunakan secara langsung sumber daya yang tersedia secara bebas.

2.Hold and Wait .
 Kondisi yang kedua adalah hold and wait yaitu beberapa proses saling menunggu sambil menahan sumber daya yang dimilikinya. Suatu proses yang memiliki minimal satu buah sumber daya melakukan request lagi terhadap sumber daya. Akan tetapi, sumber daya yang dimintanya sedang dimiliki oleh proses yang lain. Pada saat yang sama, kemungkinan adanya proses lain yang juga mengalami hal serupa dengan proses pertama cukup besar terjadi. Akibatnya, proses-proses tersebut hanya bisa saling menunggu sampai sumber daya yang dimintanya dilepaskan. Sambil menunggu, sumber daya yang telah dimilikinya pun tidak akan dilepas. Semua proses itu pada akhirnya saling menunggu dan menahan sumber daya miliknya.

3.No Preemption .
Kondisi yang selanjutnya adalah no preemption yaitu sebuah sumber daya hanya dapat dilepaskan oleh proses yang memilikinya secara sukarela setelah ia selesai menggunakannya. Proses yang menginginkan sumber daya tersebut harus menunggu sampai sumber daya tersedia, tanpa bisa merebutnya dari proses yang memilikinya.

4.Circular Wait .
Kondisi yang terakhir adalah circular wait yaitu kondisi membentuk siklus yang berisi proses-proses yang saling membutuhkan. Proses pertama membutuhkan sumber daya yang dimiliki proses kedua, proses kedua membutuhkan sumber daya milik proses ketiga, dan seterusnya sampai proses ke n-1 yang membutuhkan sumber daya milik proses ke n. Terakhir, proses ke n membutuhkan sumber daya milik proses yang pertama. Yang terjadi adalah proses-proses tersebut akan selamanya menunggu.

Definisi Deadlock


Deadlock adalah keadaan dimana dua program memegang kontrol terhadap sumber daya yang dibutuhkan oleh program yang lain. Tidak ada yang dapat melanjutkan proses masing-masing sampai program yang lain memberikan sumber dayanya, tetapi tidak ada yang mengalah.
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.


Karakteristik Deadlock
Karakteristik-karakteristik ini harus dipenuhi keempatnya untuk terjadi deadlock. Namun, perlu diperhatikan bahwa hubungan kausatif antara empat karakteristik ini dengan terjadinya deadlock adalah implikasi. Deadlock mungkin terjadi apabila keempat karakteristik terpenuhi.