Jumat, 08 Mei 2015

Concurrency


Ciri-ciri Concurrency        :

Multiprogramming adalah istilah yang digunakan ketika terdapat banyak proses yang dijalankan hanya oleh 1 processor
Multiprocessing adalah istilah yang digunakan ketika terdapat banyak proses yang dijalankan oleh lebih dari satu atau banyak processor
Distributed processing merupakan istilah yang digunakan ketika terdapat banyak proses di eksekusi sekaligus dalam waktu yang bersamaan

Concurrency terjadi ketika terdapat banyak proses berjalan dalam waktu yang bersamaan. Akan tetapi proses yang berjalan bersamaan ini sebenarnya tidak benar-benar berjalan bersamaan, terdapat jeda waktu singkat diantara proses-proses tersebut sehingga proses-proses tersebut terlihat berjalan secara bersamaan.

Terdapat masalah-masalah yang dapat timbul dalam concurrency, diantaranya   :
1.       Pembagian sumber daya secara global
2.       Pengaturan dalam pengalokasian sumber daya
3.       Sulit untuk melacak tempat terjadi kesalahan
 
Fokus dalam sistem operasi        :
1.       Sistem operasi dapat mengendalikan beragam proses
2.       Sistem operasi harus dapat mengalokasikan dan mendealokasikan berbagai sumber daya untuk setiap proses yang aktif. Sumber daya yang biasa digunakan     :
a.       Memory
b.      Processor time
c.       I/O devices
d.      File-file

3.       Sistem operasi harus dapat melindungi data dari proses-proses lain agar tidak mengganggu
4.       Hasil dari suatu proses haruslah tidak bergantung pada kecepatan dari proses.

Terdapat 3 masalah dalam kompetisi antar proses            :
1.       Mutual exclusion
Suatu kondisi yang terjadi dimana suatu resource hanya dapat digunakan untuk satu proses saja, jadi proses lain harus menunggu
2.       Deadlock
Deadlock dapat terjadi ketika terdapat proses – proses yang saling menunggu resource, sedangkan resource tersebut sedang digunakan. Contoh : terdapat 2 proses yaitu P1 dan P2, dan terdapat 2 resource R1 dan R2. Untuk dapat menyelesaikan tugasnya 2 proses tersebut membutuhkan 2 resource, OS menentukan P1 memakai R1, dan P2 memakai  R2, P1 dan P2 pun akan menunggu resource yang sedang digunakan satu sama lain
3.       Starvation
Merupakan suatu algoritma yang digunakan untuk menentukan proses mana yang akna dikerjakan terlebih dahulu berdasarkan job terpendek
Semaphore merupakan special variable yang digunakan untuk pemberian sinyal, dan digunakan dalam mutual exclusion, untuk memberi setiap proses mengenai informasi resource apakah sedang digunakan atau tidak. Sinyal ini juga tidak dapat di interrupt. Bentuk variable semaphore ini hanya bilangan integer dan tidak boleh biilangan negative
Mutex merupakan special variable yang digunakan unutk memberikan sinyal-sinyal, variable ini menampung tipe data integer tetapi hanya untuk binary number

Tidak ada komentar:

Posting Komentar