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