Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Konkurensi: Mutual Exclusion dan Sikronisasi

Presentasi serupa


Presentasi berjudul: "Konkurensi: Mutual Exclusion dan Sikronisasi"— Transcript presentasi:

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 Struktur aplikasi
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(); . 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 Pengaruh terhadap proses lain Masalah pengendalian potensial
Tingkat kepedulian Hubungan Pengaruh terhadap proses lain Masalah pengendalian potensial Proses mengabaikan proses yang lain Kompetisi Hasil sebuah proses tidak tergantung pada aksi proses yang lain Timing proses mungkin dapat terpengaruhi Mutual Exclusion Deadlock Starvation Proses yang secara tidak lansung mempedulikan proses yang lain Kerjasama melalui “sharing” Hasil suatu proses dapat tergantung pada informasi yang diperoleh dari proses lain Data coherence Proses secara lansung memperhatikan proses yang lain Kerjasama melalui komunikasi

11 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

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

13 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

14 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

15 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

16 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

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

18 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

19 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

20 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.

21 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

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


Download ppt "Konkurensi: Mutual Exclusion dan Sikronisasi"

Presentasi serupa


Iklan oleh Google