Pengertian
Kongkurensi
Perkembangan sistem komputer mendatang adalah menuju
ke sistem multiprocessing, multiprogramming, terdistribusi1 dan paralel2 yang mengharuskan
adanya proses-proses yang berjalan bersama dalam waktu yang bersamaan. Hal
demikian merupakan masalah yang perlu perhatian dari perancang sistem operasi. Kongkurensi
merupakan landasan umum perancangan sistem operasi. Proses -proses disebut kongkurensi jika proses-proses
(lebih dari satu proses) berada pada saatyang sama. Proses-proses yang mengalami
kongkuren dapat berdiri sendiri (independen) atau dapat saling berinteraksi,
sehingga membutuhkan sinkronisasi atau koordinasi proses yang baik. Untuk
penanganan kongkuren, bahasa pemograman saat ini telah memiliki mekanisme
kongkurensi dimana dalam penerapannya perlu dukungan sistem operasi dimana
bahasa berada.
Prinsip - prinsip
Kongkurensi meliputi hal-hal berikut
1. alokasi waktu
pemrosesan untuk proses-proses.
2. pemakaian bersama dan persaingan untuk mendapatkan sumber daya.
3. komunikasi antar proses
4. sinkronisasi aktivitas banyak proses
2. pemakaian bersama dan persaingan untuk mendapatkan sumber daya.
3. komunikasi antar proses
4. sinkronisasi aktivitas banyak proses
Permasalahan
Kongkurensi
Proses yang kongkuren ini mempunyai beberapa masalah yang harus diselesaikan,yaitu : 1. Mutual exclusion (pengeluaran timbal balik)
Merupakan kondisi dimana terdapat sumber daya yang tidak dapat dipakai bersama pada waktu yang bersamaan (misalnya : printer, disk drive).
2. Deadlock (buntu)
Deadlock merupakan kondisi terparah karena banyak proses dapat terlibat dan semuanya tidak dapat mengakhiri prosesnya secara benar.
3. Starvation(kelaparan)
Starvation adalah keadaan dimana pemberian akses bergantian terus-menerus,dan ada suatu proses yang tidak mendapatkan gilirannya.
4. Sinkronisasi.
Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan.
Proses yang kongkuren ini mempunyai beberapa masalah yang harus diselesaikan,yaitu : 1. Mutual exclusion (pengeluaran timbal balik)
Merupakan kondisi dimana terdapat sumber daya yang tidak dapat dipakai bersama pada waktu yang bersamaan (misalnya : printer, disk drive).
2. Deadlock (buntu)
Deadlock merupakan kondisi terparah karena banyak proses dapat terlibat dan semuanya tidak dapat mengakhiri prosesnya secara benar.
3. Starvation(kelaparan)
Starvation adalah keadaan dimana pemberian akses bergantian terus-menerus,dan ada suatu proses yang tidak mendapatkan gilirannya.
4. Sinkronisasi.
Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan.
Kesulitan
– Kesulitan Yang ditimbulkan Kongkurensi :
· 1. Pemakaian
bersama sumber daya global.
Apabila terdapat dua proses yang menggunakan variabel global yang sama serta keduanya membaca dan menulis ke variabel itu, maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis.
· 2. Pengelolaan
alokasi sumber daya agar optimal.Apabila terdapat dua proses yang menggunakan variabel global yang sama serta keduanya membaca dan menulis ke variabel itu, maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis.
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 lainuntuk menggunakannya), maka tindakan tersebut menghasilkan inefisiensi.
3. Pencarian kesalahan pemrograman.
Pencarian kesalahan pada pemograman kongkuren lebih sulit dibanding pencarian kesalahan pada program-program sekuen.
Untuk lebih jelasnya silahkan Klik dibawah ini.
Tidak ada komentar:
Posting Komentar