v
Prinsip
Kongkurensi
v
Interaksi
antar Proses
v
Mutual
Exclusion
Definisi
ü
Merupakan sebuah kondisi dimana terdapat lebih
dari satu proses berada pada saat yang sama.
ü
Proses-proses yang konkuren memiliki beberapa
masalah:
o Mutual
Exclusion
o Starvation
o 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
Ø 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.
Ø 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.
Ø 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.
Ø 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.
Interaksi
Antar Proses
Antar Proses
Ø Proses-proses saling tidak peduli (independen)
Ø Proses-proses saling mempedulikan secara tidak langsung
Ø Proses-proses saling peduli secara langsung
Ø Proses-proses saling tidak peduli (independen)
o
Proses-proses ini tidak dimaksudkan
untuk bekerja untuk mencapai tujuan tertentu.
o
Pada multiprogramming dengan
proses-proses independen, dapat berupa batch atau sesi interaktif, atau
campuran keduanya.
Ø Proses-proses saling mempedulikan secara tidak langsung
o
Proses-proses tidak perlu saling
mempedulikan identitas proses-proses lain, tapi sama-sama mengakses objek
tertentu, seperti buffer masukan/keluaran.
o
Proses-proses itu perlu bekerja sama
(cooperation) dalam memakai bersama objek tertentu.
Ø Proses-proses saling peduli secara langsung
o
Proses-proses dapat saling
berkomunikasi dan dirancang
bekerja sama untuk suatu aktivitas.
Ø Tabel interaksi proses
Mutual
Exclusion
Exclusion
Ø 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 :
o Deadlock
o Starvation
Tidak ada komentar:
Posting Komentar