Jumat, 16 Januari 2015

KONGKURENSI

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
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)
Deadloc
k 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 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