Thursday, May 7, 2015

Session 7 - 8 | Concurrency

Concurrency

  • Komunikasi antara proses - proses
  • Membagi sumber
  • Sinkronisasi dari multiple proses
  • Alokasi dari processor time
  • Multiple aplikasi
  • Structure aplikasi
  • Operating-System Structure
Problem in Concurrency
  • Membagi global resources
  • Menejemen dari alokasi sumber
  • Programming error susah untuk ditemukan

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
Mutual Exclusion 
  • 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