Posted by : Unknown Jan 13, 2015

Selamat siang Gan

Hari ini saya akan menlanjutkan materi dari kemarin yaitu:

KONGKURENSI & MUTUAL EXCLUSION

dibawah berikut adalah bagian dari materi Kongkurensi & Mutual Exclusion.
  1. Prinsip Kongkurensi
  2. Interaksi antar Proses
  3. Mutual Exclusion
Nah tahap 1 yang saya akan bahasa yaitu : Prinsip Kongkurensi.sebelum itu ,apa kalian tahu apa itu Kongkurensi? Kongkurensi adalah Merupakan sebuah kondisi dimana terdapat lebih dari satu proses berada pada saat yang sama dan proses-proses yang konkuren memilki beberapa masalah:
  • Mutual Exclusion
  • Starvation
  • Deadlock
Prinsip Kongkurensi
Kongkurensi merupakan kegiatan yang berhubungan dengan :
  • Alokasi waktu pemroses untuk proses-proses yang aktif.
  • Pemakaian bersama dan persaingan untuk mendapatkan sumber daya.
  • Komunikasi antar proses.
  • Sinkronisasi aktivitas banyak proses
Konteks Kongkurensi
Kongkurensi dapat muncul pada konteks yang berbeda, yaitu:
  • Untuk banyak aplikasi
  • Untuk strukturisasi dari aplikasi
  • Untuk strukturisasi dari satu proses
  • Untuk strukturisasi sistem operasi
Untuk banyak aplikasi
  • Multiprogramming memungkinkan banyak proses sekaligus dijalankan.
  • Proses-proses dapat berasal dari aplikasi-aplikasi berbeda.
  • Pada sistem multiprogramming bisa terdapat banyak aplikasi sekaligus yang dijalankan di sistem komputer.
Untuk strukturisasi dari aplikasi
  • Perluasan prinsip perancangan modular dan pemrograman terstruktur adalah suatu aplikasi dapat secara efektif diimplementasikan sebagai sekumpulan proses.
  • Dengan sekumpulan proses, maka tiap proses menyediakan satu layanan spesifik tertentu.
Untuk strukturisasi dari satu proses
  • Saat ini untuk peningkatan kinerja maka satu proses dapat memiliki banyak thread yang independen.
  • Thread-thread tersebut harus dapat bekerjasama untuk mencapai tujuan proses.
Untuk strukturisasi sistem operasi
  • Keunggulan strukturisasi dapat juga diterapkan ke pemrograman sistem.
  • Beberapa sistem operasi aktual yang dipasarkan dan yang sedang dalam riset telah diimplementasikan sebagai sekumpulan proses.
  • Sistem operasi bermodelkan client/server menggunakan pendekatan ini.
Masalah yang didapatkan :
Kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi.
Kecepatan proses pada sistem dipengaruhi oleh :
  • Aktivitas-aktivitas proses-proses lain.
  • Cara sistem operasi menangani interupsi.
  • Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi.
Beberapa kesulitan yang muncul:
Pemakaian bersama sumber daya global.
  • Bila terdapat 2 proses menggunakan variabel global yang sama serta keduanya membaca dan menulis ke variable itu,maka urutan pembacaan dan penulisan terhadap variabel itu menjadi kritis.
Pengelolaan alokasi sumber daya agar optimal.
  • Apabila proses A meminta suatu kanal masukan/keluaran tertentu dan dipenuhi, kemudian terjadi proses A di-suspend sebelum menggunakan kanal tersebut.
  • Jika sistem operasi mengunci kanal (tidak memperbolehkan atau mencegah proses lain untuk menggunakannya), maka tindakan tersebut menghasilkan inefisiensi.
Pencarian kesalahan pemrograman.
  • Pencarian kesalahan pada pemograman kongkuren lebih sulit dibanding pencarian kesalahan pada program-program sekuen.
Masalah lainya dari Kongkurensi:
Mutual Exclusion
- Sumber daya yang tidak dapat dipakai bersama pada saat bersamaan.
Starvation
- Startvation adalah keadaan dimana pemberian akses bergantian terus-menerus, dan ada suatu proses yang tidak mendapatkan gilirannya.
Deadlock
- Deadlock merupakan kondisi terparah karena banyak proses dapat terlibat dan semuanya tidak dapat mengakhiri prosesnya secara benar.

dan cara penagananya :
  • Mengetahui proses-proses yang aktif.
  • Alokasi dan dealokasi beragam sumber daya untuk tiap proses aktif.
  • Proteksi data dan sumber daya fisik masing-masing proses dari gangguan (intervensi) proses-proses lain.
  • Hasil-hasil proses harus independen terhadap kecepatan relatif proses-proses lain dimana eksekusi dilakukan.
dan sekarang membahasa tahap ke 2 yaitu :Interaksi antar Proses.
Interaksi  antar proses dipecah menjadi 3 bagian yaitu:
  1. Proses-proses saling tidak peduli (independen)
  2. Proses-proses saling mempedulikan secara tidak langsung
  3. Proses-proses saling peduli secara langsung
Proses-proses saling tidak peduli (independen)
  • Proses-proses ini tidak dimaksudkan untuk bekerja untuk mencapai tujuan tertentu.
  • Pada multiprogramming dengan proses-proses independen, dapat berupa batch atau sesi interaktif, atau campuran keduanya.
Proses-proses saling mempedulikan secara tidak langsung
  • Proses-proses tidak perlu saling mempedulikan identitas proses-proses lain, tapi sama-sama mengakses objek tertentu, seperti buffer masukan/keluaran.
  • Proses-proses itu perlu bekerja sama (cooperation) dalam memakai bersama objek tertentu.
Proses-proses saling peduli secara langsung
  • Proses-proses dapat saling berkomunikasi dan dirancang bekerja sama untuk suatu aktivitas.
Contoh tabel interaksi antar proses.

Selanjutnya masuk ke tahap terakhir yaitu : Mutual Exclusion. apa kalian tahu apa itu Mutual Exclusion?
Mutual Exclusion adalah Kondisi dimana terdapat sumber daya yang tidak dapat dipakai bersama pada waktu yang bersamaan (misalnya : printer, disk drive).
  • Kondisi demikian disebut sumber daya kritis, dan bagian program yang menggunakan sumber daya kritis disebut critical region / section.
  • Hanya satu program pada satu saat yang diijinkan masuk ke critical region.
  • Sistem operasi menyediakan layanan (system call) yang bertujuan untuk mencegah proses lain masuk ke critical section yang sedang digunakan proses tertentu.
  • Pemograman harus menspesifikasikan bagian-bagian critical section, sehingga system operasi akan menjaganya.
  • Pemaksaan atau pelanggaran mutual exclusion menimbulkan :
           - Deadlock
- Starvation

Contoh Mutual Exclusion
Misalnya ada sebuah jaringan komputer sebuah Bank, dimana server untuk penyimpanan data terpusat.
  • Seorang nasabah dapat melakukan penyimpanan maupun penarikan dari cabang mana saja dan kapan saja termasuk pengambilan lewat ATM.
  • Sehingga jika ingin data tepat, jika ada salah satu nasabah melakukan transaksi, record nasabah bersangkutan harus dikunci supaya record tersebut tidak dapat akses oleh orang lain.
  • Setelah transaksi selesai, record tempat data nasabah disimpan, record baru dibuka kembali. Ini adalah salah satu contoh penjaminan bahwa satu sumber daya hanya bisa dipakai oleh satu proses.


nah sampai sini saja gan
saya akan menlanjutkan materi berikutnya di post selanjutnya

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Welcome to My Blog

Pages

Total Pageviews

- Copyright © Science Krisna -Robotic Notes- Powered by Blogger - Designed by Johanes Djogan -