250 likes | 433 Views
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 .
E N D
SistemOperasi Kelas F TeknikInformatika “Sinkronisasi Proses” Kelompok 5 ArdhyWidhiantoro 09650194 AangKhunaefi 09650216 DellianaEka W 09650127
DefinisiSinkronisasi • Sinkronisasiadalahprosespengaturanjalannyabeberapaprosespadasaat yang bersamaan. • Tujuanutamasinkronisasiadalahmenghindariterjadinyainkonsistensi data karenapengaksesanolehbeberapaproses yang berbeda (mutual exclusion) sertauntukmengatururutanjalannyaproses-prosessehinggadapatberjalandenganlancardanterhindardarideadlock atau starvation. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf
Critical Section Critical section adalahsegmenkode yang mengakses data yang digunakanprosessecarabersama-sama yang dapatmembawaprosesitukebahaya race condition Race condition adalahsuatukondisidimanaduaataulebihprosesmengakses shared memory/sumberdayapadasaat yang bersamaandanhasilakhirdari data tersebuttergantungdariprosesmana yang terakhirselesaidieksekusisehinggahasilakhirnyaterkadangtidaksesuaidengan 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 • SolusiPerangkatLunak • SolusiPerangkatKeras • 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
SolusiPerangkatLunak 4 MacamAlgoritma : Algoritma I -Dekker Algoritma II Algoritma III-Peterson AlgoritmaTukangRoti
SolusiPerangkatLunak Algoritma I -Dekker Algoritma I mencobamengatasimasalah critical section untukduaproses. Algoritmainimenerapkansistembergilirkepadakeduaproses yang inginmengeksekusi critical section, sehinggakeduaprosestersebutharusbergantianmenggunakan critical section. Bentuk : int turn = 0 atauint turn = 1 • http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf • Stallings, william . 2005 . SistemOperasiEdisiKeempat . Jakarta : Indeks, Gramedia
SolusiPerangkatLunak Algoritma II jugamencobamemecahkanmasalah critical section untukduaproses. Algoritmainimengantisipasimasalah yang munculpadaalgoritma I denganmengubahpenggunaanvariabel turn denganvariabel flag. Variabel flag menyimpankondisiprosesmana yang bolehmasuk critical section. Proses yang membutuhkanakseske critical section akanmemberikannilai flag-nya true. Sedangkanproses yang tidakmembutuhkan critical section akan men-set nilaiflagnyabernilai false. Algoritma II http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf
SolusiPerangkatLunak Algoritma III ditemukanoleh G.L. Pettersonpadatahun 1981. Algoritmainiadalahsolusiuntukmemecahkanmasalah critical section padaduaproses. Idedarialgoritmainiadalahmenggabungkanvariabel yang di-sharing padaAlgoritma I danAlgoritma II, yaituvariabel turn danvariabel flag. SamasepertipadaAlgoritma I dan II, variabel turn menunjukkangiliranprosesmana yang diperbolehkanmemasuki critical section, danvariabel flag menunjukkanapakahsuatuprosesmembutuhkanakseske critical section atautidak. Algoritma III-Peterson http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf
SolusiPerangkatLunak Algoritmauntuksolusiprosesinidinamakanalgoritma bakery (tukangroti) / Lamport's Baker Algorithm danberdasarkanalgoritmapenjadwalanyang biasadigunakanolehtukangroti, eskrim, registrasisepeda motor dansebagainya. Para pelanggan yang inginmembelirotisebelumnyaharusmengambilnomorurutterlebihdahuludanurutanorang yang bolehmembeliditentukanolehnomorurut yang dimilikimasing-masingpelanggantersebut. AlgoritmaTukangRoti • 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
PerangkatSinkronisasi Test and Set : instruksiatomik Semaphore : variabelyang hanyadapatdiaksesolehduabuahoperasistandar Monitor : menanganimasalahyang munculkarenapemakaiansemafor Java Monitor : implementasidari monitor Readers / Writers
PerangkatSinkronisasi Test and Set Sebagianbesarsistemkomputersaatinimenyediakaninstruksiinstruksiperangkatkeraskhusus yang mengizinkankitauntukmengujidanmemodifikasinilaidarisebuahvariabel. InstruksiinidisebutinstruksiTestAndSet(). Instruksiinibersifatatomik, yaituinstruksi yang tidakdapatdiinterupsi. Kita dapatmenggunakaninstruksikhususiniuntukmemecahkanmasalahcritical section yang sederhana. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf
PerangkatSinkronisasi Contoh Test and Set
PerangkatSinkronisasi Semaphore Semaphore adalahpendekatan yang dikemukakanDjikstra. Prinsip semaphore adalahsebagaiberikut : Duaprosesataulebihdapatbekerjasamadenganmenggunakanpenanda-penandasederhana. Prosesdipaksaberhentisampaiprosesmemperolehpenandatertentu. Sembarangkebutuhankoordinasikompleksdapatdipenuhidenganstruksturpenanda yang sesuaikebutuhannya. Variabelkhususuntukpenandaaninidisebut semaphore. http://lecturer.eepis-its.edu/~arna/Diktat_SO/5.Sinkronisasi%20Proses.pdf
PerangkatSinkronisasi Jenis Semaphore • Binary semaphore :Semaphore inihanyamemilikinilai 1 atau 0. Seringjugadisebutsebagaisemaforprimitif • Counting semaphore : Semaphore inimemilikinilai 0, 1, serta integer lainnya. Banyaksistemoperasi yang tidaksecaralangsungmengimplementasikansemaphoreini, tetapidenganmemanfaatkanbinary semaphore. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf
PerangkatSinkronisasi Contoh Semaphore
PerangkatSinkronisasi Monitor • Monitor adalahsuatutipe data abstrak yang dapatmengaturaktivitassertapenggunaanresource olehbeberapa thread. Ide monitor pertama kali diperkenalkanoleh C.A.R Hoare danPer Brinch-Hansen padaawal1970-an. • Monitor merupakankumpulandariprosedur, variabel, danstruktur data dalamsatumodul. Monitor hanyadapatdiaksesdenganmenjalankanfungsinya. Dilakukanuntukmelindungivariabeldariakses yang tidaksahdanjugamengurangiterjadinyaerror. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf
PerangkatSinkronisasi Monitor Java Mengimplementasikanmonitor. Monitor JVM bekerjadengan object locking dan method-method wait() serta notify(). Monitor JVM dapatdigunakandenganmenggunakankeyword synchronized. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf
PerangkatSinkronisasi Monitor Java • Method-method tersebutadalah: • void wait(). thread yang memanggil method iniakanmasukke waiting queue. • void wait(long timeout) dan void wait(long timeout, intnanos). • void notify(). Membangunkansatu thread yang adadi waiting queue yang dipilihsecara random. • void notifyAll(). http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf
PerangkatSinkronisasi Readers / Writers Salahsatudarisekianbanyakpermasalahansinkronisasiyang seringterjadididunianyata, yaituketikaadaduajenisproses readers dan writers salingberbagi (shared) data danmengaksesdatabase secaraparalel. Proses yang pertama (reader) bertugasuntukmembaca data, sedangkanproseskeduabertugasuntukmenulis data baru/mengupdatenilaidalam data (writer). http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf
PerangkatSinkronisasi Kondisi Readers / Writers Kondisiberikutharusdipenuhioleh readers dan writers: a. Maksimalhanyaadasatu writer yang mengubah data. Jikasuatu writer sedangmengubah data, makatidakadasatupun reader yang diperbolehkanuntukmembaca data. b. Dalamsuatuwaktudiperbolehkanlebihdarisatu reader membaca data. Ketika data sedangdibaca, tidakada writer yang bolehmengubah data. • http://imam_muiz.staff.gunadarma.ac.id/Downloads/files/11368/SISTEM+OPERASI-5.pdf