kongkurensi

advertisement
KONGKURENSI
STMIK-IM Bandung
Oleh :
Chalifa Chazar
[email protected]
KONGKURENSI



Merupakan landasan umum dalam perancangan
sistem operasi
Proses-proses disebut kongkuren jika prosesproses (lebih dari satu proses) berada pada saat
bersamaan
Proses-proses berinteraksi memerlukan
singkronisasi agar terkendali dengan baik
PERMASALAHAN YANG TIMBUL




Mutual exclusion
Deadlock
Starvation
Singkronisasi
PRINSIP-PRINSIP KONGKURENSI

Kongkurensi meliputi hal-hal sbb:
 Alokasi
layanan pemroses untuk proses-proses
 Pemakaian bersama dan persaingan untuk
mendapatkan sumber daya
 Komunikasi antarproses
 Singkronisasi aktivitas banyak proses

Kongkurensi dapat muncul pada 4 konteks
berbeda, yaitu:
 Banyak
aplikasi
 Strukturisasi dari aplikasi
 Strukturisasi dari satu proses
 Strukturisasi sistem operasi
BANYAK APLIKASI



Multiprogramming memungkinkan banyak
proses sekaligus dijalankan
Proses dapat berasal dari aplikasi-aplikasi yang
berbeda
Pada sistem multiprogramming bisa terdapat
banyak aplikasi sekaligus yang dijalankan di
sistem komputer
STRUKTURISASI APLIKASI


Perluasan prinsip perancangan modular dan
pemograman terstruktur adalah suatu aplikasi
dapat secara efektif diimplementasikan sebagai
sekumpulan proses
Dengan sekumpulan proses maka masingmasing proses menyediakan satu layanan secara
spesifik tertentu
STRUKTURISASI SATU PROSES


Untuk meningkatkan kinerja maka satu proses
dapat memiliki banyak thread (unit dasar dari
utilitas CPU) yang independen
Thread-thread harus dapat bekerja sama untuk
mencapai tujuan proses
STRUKTURISASI SISTEM OPERASI


Keunggulan strukturisasi dapat juga diterapkan
ke pemograman sistem
Beberapa sistem operasi aktual yang dipasarkan
dan yang sedang dalam riset telah
diimplementasikan sebagai sekumpulan proses
KESULITAN YANG DITIMBULKAN


Masalah yang dihadapai proses-proses konkuren
yaitu kecepatan eksekusi proses-proses di
sistem tidak dapat diprediksi
Kecepatan proses pada sistem bergantu hal-hal
sbb:
 Aktivitas-aktivitas
proses-proses lain
 Cara sistem operasi menangani interupsi
 Kebijaksanaan penjadwalan yang dilakukan oleh
sistem operasi

Beberapa kesulitan yang dapat muncul:
 Pemakaian
bersama sumber daya global
 Pengelolaan alokasi sumber daya agar optimal
 Pencarian kesalahan pemrograman

Pemakaian bersama sumber daya global
 Jika
2 proses menggunakan variabel global yang
sama serta keduanya membaca dan menulis
variabel itu maka urutan terjadinya pembacaan dan
penulisan terhadap variabel bersama menjadi kritis

Pengelolaan alokasi sumber daya agar
optimal
 Jika
proses A meminta suatu kanal I/O tertentu dan
kemudian proses A di suspend sebelum
menggunakan kanal tersebut
 Jika sistem operasi mengunci kanal tersebut dan
orang lain tidak dapat menggunakannya, maka akan
terjadi inefisiensi terhadap alokasi sumber daya

Pencarian kesalahan pemrograman
 Pencarian
kesalahan pada pemrograman kongkuren
lebih sulit dibanding pencarian kesalahan pada
program-program sekuen

Proses-proses konkuren mengharuskan
beberapa hal yang perlu ditangani, yaitu:
 Mengetahui
proses-proses yang aktif
 Alokasi dan dealokasi beragam sumber daya untuk
tiap proses aktif
 Proteksi data dan sumber daya fisik proses
 Hasil-hasil proses harus independen

Mengetahui proses-proses yang aktif
 Sistem operasi mengelola senarai proses
 Senarai ini berupa senarai PCB proses
 Jumlah senarai sesuai dengan jumlah state yang
diimplementasikan sistem operasi

Alokasi dan dealokasi beragam sumber daya
untuk tiap proses aktif
 Sumber daya yang harus dikelola yaitu:
 Waktu pemroses
 Memori
 Berkas-berkas
 Peralatan-peralatan I/O
 dll

Proteksi data dan sumber daya fisik
 Proteksi data
dan sumber daya fisik masing-masing
proses terhadap gangguan (interferensi) prosesproses lain

Hasil-hasil proses harus independen
 Hasil-hasil
proses harus independen terhadap
kecepatan relatif proses-proses lain dimana
eksekusi dilakukan
INTERAKSI ANTAR PROSES

Pada sistem dengan banyak proses (konkuren),
terdapat 3 kategori interaksi, yaitu:
 Proses-proses saling
tidak peduli (independen)
 Proses-proses saling mempedulikan secara tidak
langsung
 Proses-proses saling mempedulikan secara
langsung
PROSES-PROSES SALING TIDAK PEDULI



Proses-proses ini tidak dimaksudkan untuk
bekerja bersama untuk mencapai tujuan
tertentu
Pada multiprogramming dengan proses-proses
independen, dapat berupa batch atau sesi
interaktif atau campuran keduanya
Meskipun proses-proses tidak bekerja bersama,
sistem operasi perlu mengatur persaingan di
antara proses-proses itu dalam memperoleh
sumber daya yang terbatas
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 I/O
Proses-proses perlu bekerja sama dalam
memakai bersama objek tertentu
PROSES-PROSES SALING
MEMPEDULIKAN SECARA LANGSUNG

Proses-proses dapat saling berkomunikasi dan
dirancang bekerja sama untuk suatu aktivitas
INTERAKSI ANTAR PROSES & MASALAH
YANG HARUS DIHADAPI (STA, 1995)
DERAJAT
KEPEDULIAN
HUBUNGAN
AKIBAT SATU PROSES
TERHADAP LAINNYA
MASALAH
PENGENDALIAN YANG
PERLU DILAKUKAN
Proses tak peduli
Persaingan
•Hasil satu proses
independen terhadap aksi
proses lain
•Pewaktuan proses dapat
berdampak
•Mutual exclusion
•Deadlock
•Starvation
Proses secara tak
langsung peduli
terhadap proses lain
(yaitu objek yang
dipakai bersama)
Kerjasama dengan
pemakaian bersama
•Hasil-hasil satu proses
dapat bergantung informasi
yang diperoleh dari proses
lain
•Pewaktuan proses dapat
berdampak
•Mutual exclusion
•Deadlock
•Starvation
•Kohesi data
Proses secara langsung
peduli terhadap proses
lain (tersedia primtifprimtif untuk proses
itu)
Kerjasama dengan
komunikasi
•Hasil-hasil satu proses
bergantung pada informasi
yang diperoleh dari proses
lain
•Pewaktuan proses dapat
berdampak
•Deadlock
•Starvation
POKOK PENYELESAIAN MASALAH
KONGKURENSI

Pada dasarnya penyelesaian masalah kongkurensi
terbagi menjadi 2, yaitu:





Mengasumsikan adanya memori yang digunakan bersama
Tidak mengasumsikan adanya memori yang digunakan
bersama
Adanya memori bersama lebih mempermudah dalam
menyelesaikan masalah konkurensi
Metode penyelesaian ini dapat dipakai untuk sistem
singleprocessor ataupun multiprocessor yang
mempunyai memori bersama
Penyelesaian ini tidak dapat digunakan untuk
multiprocessor yang tanpa memori bersama ataupun
untuk sistem tersebar
TUGAS



Mutual-exclution
Deadlock
Starvation
 Buat
makalah (kelompok) mengenai penjelasan
dari masing-masing istilah diatas
 Presentasikan minggu depan
 Makalah dan Presentasi dikumpulkan dalam bentuk
softcopy maksimal tgl 19 Maret jam 09.00
TERIMA KASIH
Chalifa Chazar, S.T, M.T
Email : [email protected]
Copyright @2015
Kuliah.a03080112.com
Download