Concurrency (chapter 7-8)
Untuk mengatasi concurrency :
1. Multiple application : programmnya yang concurrent
2. Structured application : prosessnya yang concurrent
3. Operating-system structure : threadnya yang concurrent
Masalah dalam concurrency :
1. Sharing global resources : ex printer
2. Management of allocation of resources : alokasi memori lebih aman
3. Programming errors difficult to locate : ex bisa terjadi deadlock jika concurrency tidak diatur
OS Concerns
1. Mencari tahu dulu proses yang aktif apa saja sehingga bisa menimbulkan concurrency problem
2. Resources yang perlu di allocate dan deallocate
3. Melindungi data dan resources
4. Hasil prosesnya harus independent dari hasil esekusi dari proses lain
Kompetisi antar proses
1. Mutual exclusion
a. Critical sections
Hanya 1 program pada satu waktu yang dikasi hak khusus
2. Deadlock
3. Starvation
Dia mikirnya ada yang make padahal tidak ada
Mutual Exclusion
· Adanya 1 proses yang bisa menggunakan resources yang sifatnya critical
· Tidak adanya deadlock
· Local variables
· Kalo interrupt bisa ekslusif
· Multiprocessing : banyak proses kalo kita Cuma disable 1 interupt di satu proses maka bisa saja kemungkinan terjadi interrupt threadnya , walaupun sudah eksklusif maka tidak menutup kemungkinan ada interrupt pada threadnya sehingga harus dipikirkan juga
Semaphores
Nilai integer yang digunakan uuntuk memberi signal diantara proses-proses dalam menjalankan suatu proses semaphores akan dikasih tanda apa saja yang harus dilakukan.
Masalah Producer-Consumer
o Dia gak akan bisa ke konsumen sebelum producer menghasilkan product
o Hanya sigle customer yang bisa mendapatkan product pada satu waktu.
Mutex : Cuma ada 2 operasi/ penanda
Dining philosopher problem ada 2 solusinya :
1. Monitor -> dia mengecek forknya available /tidak
0 komentar: