- Komunikasi antara proses - proses
- Membagi sumber
- Sinkronisasi dari multiple proses
- Alokasi dari processor time
- Multiple aplikasi
- Structure aplikasi
- Operating-System Structure
Problem in Concurrency
O/S Concerns
- Harus bisa track dari active proses
- alokasi dan dealokasi sumber
- Processor time
- Memory
- Files
- I/O devices
- Menjaga data dan sumber
- Hasil dari proses harus independen dari kecepata eksekusi proses lain yang concurrent
Competition among Processes for resources
- Mutual Exclusion
- Critical section
- Hanya 1 program dalam suatu waktu yang dibolehkan dalam critical section
- Contoh: hanya 1 proses dalam suatu waktu yang dibolehkan kirim comman ke printer
- Deadlock
- Starvation
Cooperation among Processes
- By Sharing
- Menulis harus mutually exclusive
- Critical section yang digunakan untuk memberikan data integrity
- By Communication
- Message are passes
- Mutual exclusion tidak mengontrol permintaan
- Possible to have deadlock
- Setiap proses menunggu untuk sebuah pesen dari proses lain
- Possible to have starvation
- 2 proses mengirim pesan untuk setiap proses selama proses lain menunggu untuk menerima pesan
- Hanya 1 proses dalan suatu waktu yang dibolehkan dalam critical section untuk sebuah sumber
- A process that halts in its non-critical section must do so without interfering with other processes
- Tidak ada deadlock dan starvation
- Sebuah proses tidak harus menunda akses untuk critical section ketika tidak ada satu pun yang menggunakan itu
- Tidak ada asumpsi yang dibuat tentang kecepatan proses yang relative atau jumlah dari proses
- Sebuah proses tetap didalam critical section untuk waktu yang terbatas
Mutual Exclusion by Busy Waiting
- Disabling interrupts
- Lock variables
- Strict alternation
- Peterson's solution
- The TSL instruction
Semaphore
- Variable khusu yang dipanggil semaphore yang digunakan untuk signalling
- Jika sebuah proses menunggu untuk signalling, proses akan disuspen sampai signal dikirim
- Menunggu dan signal operation tidak dapat di interrupt
- Queue(Antrian) digunakan untuk menyimpan atau menahan proses yang menunggu pada semaphore
- Semaphore adalah variable yang mempunyai nilai interjer
- Tidak dapat diinisialisasikan sebagai negative number
- Menunggu operasi pengurangan nilai semaphore
- Signal operasi menambahkan nilai semaphore
No comments:
Post a Comment