Kelompok 5 “Sinkronisasi Proses” Sistem Operasi Kelas F

Slides:



Advertisements
Presentasi serupa
LOGO Kelompok 5 Rifki Baidhowi Ida Fitriana Satya Bagus F Sistem Operasi Kelas E Teknik Informatika Sistem Operasi Kelas E Teknik.
Advertisements

Sinkronisasi dan Deadlock Universitas Airlangga
Tim Teaching Grant Mata Kuliah Sistem Operasi
SINKRONISASI Pertemuan 5.
Praktikum Bahasa Pemrograman
Dosen: Jajang Kusnendar, M.T
Pokok Bahasan Pokok Bahasan: Sinkronisasi dan Mutual Exclusion
Arief Cahyo S Rachmad Wahyudi S Abdul Qodir Jailani M. Choirur Rozi Rahmat Aidil FR
MANAJEMEN PROSES.
Dahlan Abdullah PERTEMUAN – 6 KULIAH SISTEM OPERASI SINKRONISASI & DEADLOCK.
KONKURENSI DEADLOCK DAN STARVATION
Concurrency M-03.
Bab 13 Pengelolaan Proses Bab
Pertemuan 4 Manajemen Proses 2.
Dosen Pengampu: Resi Utami Putri, S.Kom., M.Cs.
Slide 10 Concurrency, Mutual Exclusion, & Synchronization
Sinkronisasi Proses Catur Iswahyudi.
Oleh : Wahyu Andhyka Kusuma
Masalah Klasik Komunikasi Antar Proses
SINKRONISASI.
Sistem Operasi Sinkronisasi Proses.
SINKRONISASI DAN DEADLOCK
PERTEMUAN KE-15 PERKULIAHAN SISTEM OPERASI By : Nanda Prasetia, ST.
Sinkronisasi dan Deadlock Proses
Concurrency 1: Mutual Exclusion dan Sinkronisasi
SISTEM OPERASI PROGRAM STUDI PENDIDIKAN TEKNIK INFORMASI DAN KOMPUTER (PTIK) JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK – UNIVERSITAS NEGERI MAKASSAR.
MUTUAL EXCLUSION.
MUTUAL EXCLUSION.
Konkurensi: Mutual Exclusion dan Sikronisasi
KONKURENSI.
PROSES DAN SINKRONISASI
SINKRONISASI DAN DEADLOCK
Fungsi dan Prosedur.
Konkurensi 3 Deadlock dan Starvation
Sinkronisasi Proses.
Sistem Operasi Pertemuan 11.
Sistem Operasi Pertemuan 12.
Wahyu nurjaya wk, st., m.kom.
Konkurensi.
SINKRONISASI.
PROSES BAB 2 By Abdul Kadir.
Pengantar Struktur Data Pertemuan 1 Season 1
Kongkurensi (Concurrency)
Processes Process Model Process Hierarchies
Mutual Exclusion Edi Sugiarto, S.Kom.
Penjadwalan Proses.
Sinkronisasi Proses.
SINKRONISASI & DEADLOCK
Sinkronisasi dan Deadlock
“Sinkronisasi Proses”
SINKRONISASI PADA THREAD
Konkurensi (Cont’d) SISTEM OPERASI Slide perkuliahan
Konkurensi (Cont’d) SISTEM OPERASI Slide perkuliahan
Konkurensi (Cont’d) SISTEM OPERASI Slide perkuliahan
Konkurensi 2 Sinkronisasi dan Semaphore
TEGUH IMAN HERMANTO, M.Kom
Sistem Operasi: Deadlock
4. SISTEM OPERASI Manajemen Proses - Konkurensi
Koordinasi Antar Proses DI DALAM SISTEM TERDISTRIBUSI
Konkurensi SISTEM OPERASI Slide perkuliahan
Konkurensi SISTEM OPERASI Slide perkuliahan
SINKRONISASI DAN DEADLOCK
“ KONGKURENSI “.
SINKRONISASI PROSES Kelompok 1 Achmad Syarifudin S Ade Putra Gustama
Sesi 5. Sinkronisasi Proses
SISTEM OPERASI MODUL Mutual exclusion Maria Cleopatra, S.Kom
PROSES DAN SINKRONISASI
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Sinkronisasi Pertemuan ke-11.
Multithreading Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 12 Tahun : 2008 Versi : 1/0.
Transcript presentasi:

Kelompok 5 “Sinkronisasi Proses” Sistem Operasi Kelas F Teknik Informatika “Sinkronisasi Proses” Kelompok 5 Ardhy Widhiantoro 09650194 Aang Khunaefi 09650216 Delliana Eka W 09650127

Definisi Sinkronisasi Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan. Tujuan utama sinkronisasi adalah menghindari terjadinya inkonsistensi data karena pengaksesan oleh beberapa proses yang berbeda (mutual exclusion) serta untuk mengatur urutan jalannya proses-proses sehingga dapat berjalan dengan lancar dan terhindar dari deadlock atau starvation. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf

Critical Section Critical section adalah segmen kode yang mengakses data yang digunakan proses secara bersama-sama yang dapat membawa proses itu ke bahaya race condition Race condition adalah suatu kondisi dimana dua atau lebih proses mengakses shared memory/sumber daya pada saat yang bersamaan dan hasil akhir dari data tersebut tergantung dari proses mana yang terakhir selesai dieksekusi sehingga hasil akhirnya terkadang tidak sesuai dengan yang dikehendaki. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf

Solusi Critical Section 3 syarat Mutual Exclusion Progress Bounded Waiting Solusi Solusi Perangkat Lunak Solusi Perangkat Keras http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf http://lecturer.eepis-its.edu/~arna/Diktat_SO/5.Sinkronisasi%20Proses.pdf

Solusi Perangkat Lunak 4 Macam Algoritma : Algoritma I -Dekker Algoritma II Algoritma III-Peterson Algoritma Tukang Roti

Solusi Perangkat Lunak Algoritma I -Dekker Algoritma I mencoba mengatasi masalah critical section untuk dua proses. Algoritma ini menerapkan sistem bergilir kepada kedua proses yang ingin mengeksekusi critical section, sehingga kedua proses tersebut harus bergantian menggunakan critical section. Bentuk : int turn = 0 atau int turn = 1 http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf Stallings, william . 2005 . Sistem Operasi Edisi Keempat . Jakarta : Indeks, Gramedia

Solusi Perangkat Lunak

Solusi Perangkat Lunak Algoritma II Algoritma II juga mencoba memecahkan masalah critical section untuk dua proses. Algoritma ini mengantisipasi masalah yang muncul pada algoritma I dengan mengubah penggunaan variabel turn dengan variabel flag. Variabel flag menyimpan kondisi proses mana yang boleh masuk critical section. Proses yang membutuhkan akses ke critical section akan memberikan nilai flag-nya true. Sedangkan proses yang tidak membutuhkan critical section akan men-set nilai flagnya bernilai false. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf

Solusi Perangkat Lunak

Solusi Perangkat Lunak Algoritma III-Peterson Algoritma III ditemukan oleh G.L. Petterson pada tahun 1981. Algoritma ini adalah solusi untuk memecahkan masalah critical section pada dua proses. Ide dari algoritma ini adalah menggabungkan variabel yang di-sharing pada Algoritma I dan Algoritma II, yaitu variabel turn dan variabel flag. Sama seperti pada Algoritma I dan II, variabel turn menunjukkan giliran proses mana yang diperbolehkan memasuki critical section, dan variabel flag menunjukkan apakah suatu proses membutuhkan akses ke critical section atau tidak. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf

Solusi Perangkat Lunak

Solusi Perangkat Lunak Algoritma Tukang Roti Algoritma untuk solusi proses ini dinamakan algoritma bakery (tukang roti) / Lamport's Baker Algorithm dan berdasarkan algoritma penjadwalan yang biasa digunakan oleh tukang roti, es krim, registrasi sepeda motor dan sebagainya. Para pelanggan yang ingin membeli roti sebelumnya harus mengambil nomor urut terlebih dahulu dan urutan orang yang boleh membeli ditentukan oleh nomor urut yang dimiliki masing-masing pelanggan tersebut. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf http://imam_muiz.staff.gunadarma.ac.id/Downloads/files/11368/SISTEM+OPERASI-5.pdf

Solusi Perangkat Lunak

Perangkat Sinkronisasi Test and Set : instruksi atomik Semaphore : variabel yang hanya dapat diakses oleh dua buah operasi standar Monitor : menangani masalah yang muncul karena pemakaian semafor Java Monitor : implementasi dari monitor Readers / Writers

Perangkat Sinkronisasi Test and Set Sebagian besar sistem komputer saat ini menyediakan instruksi instruksi perangkat keras khusus yang mengizinkan kita untuk menguji dan memodifikasi nilai dari sebuah variabel. Instruksi ini disebut instruksi TestAndSet(). Instruksi ini bersifat atomik, yaitu instruksi yang tidak dapat diinterupsi. Kita dapat menggunakan instruksi khusus ini untuk memecahkan masalah critical section yang sederhana. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf

Perangkat Sinkronisasi Contoh Test and Set

Perangkat Sinkronisasi Semaphore Semaphore adalah pendekatan yang dikemukakan Djikstra. Prinsip semaphore adalah sebagai berikut : Dua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana. Proses dipaksa berhenti sampai proses memperoleh penanda tertentu. Sembarang kebutuhan koordinasi kompleks dapat dipenuhi dengan strukstur penanda yang sesuai kebutuhannya. Variabel khusus untuk penandaan ini disebut semaphore. http://lecturer.eepis-its.edu/~arna/Diktat_SO/5.Sinkronisasi%20Proses.pdf

Perangkat Sinkronisasi Jenis Semaphore Binary semaphore : Semaphore ini hanya memiliki nilai 1 atau 0. Sering juga disebut sebagai semafor primitif Counting semaphore : Semaphore ini memiliki nilai 0, 1, serta integer lainnya. Banyak sistem operasi yang tidak secara langsung mengimplementasikan semaphore ini, tetapi dengan memanfaatkan binary semaphore. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf

Perangkat Sinkronisasi Contoh Semaphore

Perangkat Sinkronisasi Monitor Monitor adalah suatu tipe data abstrak yang dapat mengatur aktivitas serta penggunaan resource oleh beberapa thread. Ide monitor pertama kali diperkenalkan oleh C.A.R Hoare dan Per Brinch-Hansen pada awal 1970-an. Monitor merupakan kumpulan dari prosedur, variabel, dan struktur data dalam satu modul. Monitor hanya dapat diakses dengan menjalankan fungsinya. Dilakukan untuk melindungi variabel dari akses yang tidak sah dan juga mengurangi terjadinya error. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf

Perangkat Sinkronisasi Monitor Java Mengimplementasikan monitor. Monitor JVM bekerja dengan object locking dan method-method wait() serta notify(). Monitor JVM dapat digunakan dengan menggunakan keyword synchronized. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf

Perangkat Sinkronisasi Monitor Java Method-method tersebut adalah: void wait(). thread yang memanggil method ini akan masuk ke waiting queue. void wait(long timeout) dan void wait(long timeout, int nanos). void notify(). Membangunkan satu thread yang ada di waiting queue yang dipilih secara random. void notifyAll(). http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf

Perangkat Sinkronisasi Readers / Writers Salah satu dari sekian banyak permasalahan sinkronisasi yang sering terjadi di dunia nyata, yaitu ketika ada dua jenis proses readers dan writers saling berbagi (shared) data dan mengakses database secara paralel. Proses yang pertama (reader) bertugas untuk membaca data, sedangkan proses kedua bertugas untuk menulis data baru/mengupdate nilai dalam data (writer). http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf

Kondisi Readers / Writers Perangkat Sinkronisasi Kondisi Readers / Writers Kondisi berikut harus dipenuhi oleh readers dan writers: a. Maksimal hanya ada satu writer yang mengubah data. Jika suatu writer sedang mengubah data, maka tidak ada satupun reader yang diperbolehkan untuk membaca data. b. Dalam suatu waktu diperbolehkan lebih dari satu reader membaca data. Ketika data sedang dibaca, tidak ada writer yang boleh mengubah data. http://imam_muiz.staff.gunadarma.ac.id/Downloads/files/11368/SISTEM+OPERASI-5.pdf

Terima Kasih