- Komunikasi antar proses.
- Berbagi sumber daya.
- Sinkronisasi beberapa proses.
- Alokasi waktu processor.
Concurrency berguna untuk mengatasi :
- Multiple Application
- Multiprogramming - Structured Application
- Aplikasi yang dapat mengatur proses concurrent. - Operating system structure
- Sistem Operasi yang mengatur sekumpulan thread atau proses.
Masalah - masalah dalam concurrency :
- Sharing global resources.
- Pengelolaan alokasi sumber daya.
- Sulit untuk menemukan error pada program.
O/S Concerns
Ada beberapa hal yang di pengaruhi oleh concurrency:
- OS harus dapat melacak proses yang aktif yang dapat menimbulkan concurrency.
- Mengalokasikan dan dealokasi sumber daya berikut:
- Processor time
- Memory
- Files
- I/O devices - OS harus dapat melindungi data dan sumber daya.
- Hasil dari suatu proses harus independen dari kecepatan eksekusi proses lainnya.
Persaingan antar proses dari sumber daya:
- Mutual Exclusion : hanya ada satu proses yang diperbolehkan menggunakan resources.
- Deadlock : dimana semua proses ingin menggunakan resources yang sama.
- Starvation : setiap proses saling mengalah.
Cooperation among process:
- By Sharing
- By Communication
Mutual Exclusion:
- Hanya ada satu proses yang diperbolehkan menggunakan resources.
- Sebuah proses yang stop di bagian non-critical harus melakukannya tanpa mengganggu proses lainnya.
- No deadlock and starvation.
- Alasan untuk menciptakan Mutucal exclusion:
- Disabling Interrupts
- Lock Variables
- Strict Alternation
- Peterson's solution
- The TSL Instruction
Semaphore
- Variable yang bernilai integer digunakan untuk memberi sinyal.
- Dapat digunakan untuk mengatasi concurrency.
- Ada 3 operasi yang digunakan semaphore:
- Inisialisasi
- Increment
- Decrement - Jika suatu proses menunggu sinyal, maka proses tersebut ditunda hingga sinyal di kirimkan.
- Wait dan Operasi sinyal tidak dapa diganggu.
- Queue digunakan untuk proses yang menunggu.
- Variable Semophore:
- Diinisialisasi ke bilangan non-negatif.
- Wait operation decrement nilai semaphore.
- Signal operation increment nilai semaphore.
Mutex : mirip dengan semaphore, tetapi hanya menggunakan 2 operator atau penanda.
Monitor
- Konstruksi bahasa pemograman yang mendukung akses kontrol untuk sharing data.
- Encapsulates
- Hanya ada satu proses yang aktif dalam monitor setiap saat.
Message Passing : melakukan komunikasi dengan saling kirim - mengirim pesan antar sender dan receiver.
www.binus.ac.id
www.skyconnectiva.com
www.binus.ac.id
www.skyconnectiva.com
Tidak ada komentar:
Posting Komentar