Chapter10.os

11

Click here to load reader

Transcript of Chapter10.os

Page 1: Chapter10.os

SISTEM OPERASI

Chapter 10Create By: Syaputri Artami

Prodi Pendidikan Teknik Informatika dan KomputerJurusan Teknik Informatika

Fakultas TeknikUNM

Page 2: Chapter10.os

Critical Section dan Mutual Exclusion

Merupakan bagian dari proses yang menggunakan memori dan/atau variable yang berbagi-bagi. Setiap prosesn yang yang dibagi-pakai memori mempunyai critical section yang saling terkait ketika menggunakan memori tersebut.

untuk mengatasi race condition adalah dengan menyakinkan bahwa hanya ada satu proses saja yang akan mengeksekusi critical section.

Page 3: Chapter10.os

Mutual Exclusion: pendekatan secara software

•Algoritma dekker•Algoritma peterson

Page 4: Chapter10.os

Mutual Exclusion : Dukungan hardware

•Pematian interrupt•Intruksi mesin khusus

Page 5: Chapter10.os

Semaphore

prinsip dasar semaphore adalah dua atau elbih proses bekerja sama dengan signal yang sederhana, misalnya proses dipaksa unutk berhenti di tempat yang ditunjukan sampai menerima suatu signal khusus. Untuk mengirim signal semaphore, proses mengeksekusi operasi wait() yang sederhana, jika signal yang bersangkutan belum dikirimkan, maka proses ditunda sampai pengiriman datang.

Page 6: Chapter10.os

Lanjutan

semaphore merupakan variable yang bertipe integer. Variable semaphone ini merupakan variable global untuk semua proses, sehingga jika dua proses yang berbeda menggunakan variable semaphore yang sama, maka proses-proses tersebut menggunakan variable semaphore yang sama; sehingga proses-proses dapat diatur kerjanya dengan jelas.

Page 7: Chapter10.os

Ada 3 operasi yang didefenisikan dalam semaphore sebagai variable bertipe integer:

• Semaphore dapat dianalisis dengan nilai non-negatif.

• Operasi wait() mengurangkan nilai semaphore. Jika nilai smaphore menjadi negatif, maka proses mengeksekusi wait() diblok.

• Operasi signal() menambahkan nilai semaphore. Jika nilai semaphore negatif, maka proses yang diblok oleh operasi wait() dibebaskan (tidak diblok lagi)

Page 8: Chapter10.os

Lanjutan

operasi wait() dan signal() diasumsikan sebagai atomic, di mana keduanya tidak dapat diinterrupsi dan setiap rutin merupakan langkah yang todak dapat dipecah-pecah. Atomic action adalah dua penulis atau satu pembacaan dan satu penulisan tidak dapat dilakukan secara bersamaan.

Page 9: Chapter10.os

Implementasi Semaphore

seperti disebutkan sebelumnya, operasi wait() dan signal() merupakan sebuah operasi yang sangat oenting dan seharusnya diimplementasikan sebagai suatu operasi yang aomic. Salah satu cara yang sudah jelas adalah implementasi ke dalam hardware atau firmware. Jika implementasi tersebut gagal, maka ada alternatif untuk memakai software.

Page 10: Chapter10.os

Lanjutan

sebenarnya masalah mendasar dalam penggunaan semaphore adalah mutual exclusion, yaitu hanya satu proses pada waktu yang boleh memanipulasi semaphore dengan operasi wait() dan signal(), sehingga algoritma-algoritma mutual exclusion secara software, yaitu algoritma Dekker dan algoritma Peterson tetap digunakan.

Page 11: Chapter10.os

THANK YOU SEMOGA BERMANFAATTHANK YOU SEMOGA BERMANFAAT