1 / 22

Konkurensi: Mutual Exclusion dan Sikronisasi

Konkurensi: Mutual Exclusion dan Sikronisasi. Dasar . Proses yang berhubungan dengan thread merupakan konsep utama untuk dasar sistem operasi moderen Dasar disain sistem operasi moderen  manajemen proses: Multiprogramming Multiprocessing Distributed processing . Kurensi.

bell
Download Presentation

Konkurensi: Mutual Exclusion dan Sikronisasi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Konkurensi: Mutual Exclusion dan Sikronisasi

  2. Dasar • Proses yang berhubungan dengan thread merupakan konsep utama untuk dasar sistem operasi moderen • Dasar disain sistem operasi moderen  manajemen proses: • Multiprogramming • Multiprocessing • Distributed processing

  3. Kurensi • Komunikasi antar proses • Pemakaian sumber daya bersama • Sinkronisasi multiproses • Alokasi waktu prosesor

  4. Kokurensi • Aplikasi – aplikasi yang banyak • Multiprogramming • Struktur aplikasi • Aplikasi dapat merupakan suatu kesatuan proses-proses yang serempak (concurrent) • Struktur Sistem Operasi • Sistem operasi merupakan sebuah kesatuan proses atau thread

  5. Kesulitan Konkurensi • Berbagi sumber daya yang global • Manajemen alokasi sumberdaya • Kesukaran untuk menempatkan program – program yang salah

  6. Contoh Sederhana void echo() { chin = getchar(); chout = chin; putchar(chout); }

  7. Contoh Sederhana Process P1 Process P2 . . in = getchar(); . . in = getchar(); chout = chin; chout = chin; putchar(chout); . . putchar(chout); . .

  8. Yang Berhubungan Sistem Operasi • Menempati track proses yang aktif • Keberhasilan penempatan dan alokasi sumber daya • Waktu prosesor • Memori • File – file • Perangkat I/O • Melindungi data dan sumber daya • Hasil proses harus dapat tidak terikat pada kecepatan eksekusi dari proses konkuren (serempak / bersamaan) yang lain

  9. Interaksi Proses • Proses mengabaikan proses yang lain • Proses yang secara tidak lansung mempedulikan proses yang lain • Proses secara lansung memperhatikan proses yang lain

  10. Kompetisi antar Proses umtuk Sumberdaya • Mutual Exclusion • Critical section • Hanya satu program pada saat bersamaan yang diperbolehkan dalam critical section • Sebagai contoh hanya satu proses pada satu waktu yang diizinkan mengirimkan perintah ke printer • Deadlock • Starvation

  11. Kerjasama antar proses melalui Sharing • Penulisan harus dapata ekslusif satu sama lain • Bagian kritis digunakan untuk menyediakan integritas data

  12. Kerjasama antar proses melalui Komunikasi • Message yang lewat • Mutual exclusion bukanlah sebuah kebutuhan kontrol untuk kerjasama kekurangan yang terjadi • Kemungkinan untuk menemui deadlock • Masing-masing proses menunggu message dari proses lain • Kemungkinan menemui starvation • Dua proses mengirimkan message untuk satu sama lainnya sambil menunggu mesaage yang lain

  13. Kebutuhan untuk Mutual Exclusion • Hanya satu proses pada waktu yang sama diizinkan kedalam critical section untuk mendapatkan sumber daya • Sebuah proses yang dihentikan (halt) dalam kondisi non-critical section harus melakukan tanpa interfensi proses yang lain • Tidak terjadi deadlock atau starvation

  14. Kebutuhan untuk Mutual Exclusion • Sebuah proses tidak harus tertunda aksesnya ke critical section walaupun tidak ada proses lain yang menggunakannya • Tidak ada asumsi yang dibuat tentang proses kecepatan relatif atau jumlah proses • Sebuah proses berada didalam critical section untuk waktu yang terbatas

  15. Usaha Pertama • Busy Waiting • Proses selalu memeriksa untuk melihat jika ada suatu yang dapat masuk kedalam critical section • Proses tidak dapat melakukan sesuatu yang produktif sampai mendapatkan izin untuk memasuki critical section

  16. Coroutine • Dirancang untuk dapat mengirimkan dan mengembalikan kembali kontrol eksekusi diantara dirinya sendiri • Tidak cukup mendukung proses konkuren

  17. Usaha Kedua • Masing-masing proses dapat menguji status lain tetapi tidak dapat mengubahnya • Ketika sebuah proses ingin masuk ke critical section terlebih dahulu memeriksa proses yang lain • Jika tidak ada proses lain dalam critical section, maka mereka dapat menentukan status untuk critical section • Metoda ini tidak menjamin mutual exclusion • Masing-masing proses dapat memeriksa tanda flag dan kemudian mulai masuk kedalam critical section pada saat yang bersamaan

  18. Usaha Ketiga • Mengatur tanda flag untuk masuk kedalam critical section sebelum memeriksa proses lain • Jika proses lain didalam critical section ketika sudah ditandai dengan flag, proses lainnya di- block sambil menunggu proses tersebut melepaskan critical section • Deadlock memungkinkan untuk terjadi ketika dua prtoses saling berebut memberi tanda flag untuk masuk ke critical section. Sekarang, masing-masing proses harus menunggu proses lain untuk melepaskan critical section

  19. Usaha Keempat • Sebuah proses menentukan tanda flag untuk menandai keinginannya masuk ke critical section tetapi dipersiapkan untuk mereset tanda flag-nya • Proses-proses lain diperiksa. Jika mereka berada didalam wilayah critical, tanda flag di reset dan kemudian menetapkan keinginannya masuk ke wilayah critical. Kemudian diulangi sampai proses dapat masuk ke wilayah critical.

  20. Usaha Keempat • Memungkinkan masing-masing proses untuk menentukan flag mereka sendiri, memeriksas proses yang lain, skenario ini tidak akan bertahan sangat panjang, bukan merupakan deadlock. Ini yang tidak diinginkan

  21. Mengkoreksi Solusi • Masing – masing mendapatkan giliran untuk critical section • Jika suatu proses menginginkan critical section, mereka menetapkan flag-nya untuk menunggu gilirannya

More Related