260 likes | 489 Views
Sistem Operasi Kelas E Teknik Informatika. “ Sinkronisasi Proses ”. Kelompok 5. Rifki Baidhowi 09650 117. Ida Fitriana 09650 087. Satya Bagus F 09650 062. Definisi Sinkronisasi. Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan .
E N D
SistemOperasi KelasE TeknikInformatika “Sinkronisasi Proses” Kelompok 5 Rifki Baidhowi 09650117 Ida Fitriana 09650087 Satya Bagus F 09650062
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 mencobamengatasimasalah critical section untukduaproses. Algoritmainimenerapkansistembergilirkepadakeduaproses yang inginmengeksekusi critical section, sehinggakeduaprosestersebutharusbergantianmenggunakan critical section. Bentuk : int turn = 0 atauint turn = 1 Algoritma I -Dekker • 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 danberdasarkanalgoritmapenjadwalan yang 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 : variabel yang hanyadapatdiaksesolehduabuahoperasistandar Monitor : menanganimasalah yang munculkarenapemakaiansemafor Java Monitor : implementasidari monitor Readers / Writers
PerangkatSinkronisasi Test and Set Sebagianbesarsistemkomputersaatinimenyediakaninstruksiinstruksiperangkatkeraskhusus yang mengizinkankitauntukmengujidanmemodifikasinilaidarisebuahvariabel. InstruksiinidisebutinstruksiTestAndSet(). Instruksiinibersifatatomik, yaituinstruksi yang tidakdapatdiinterupsi. Kita dapatmenggunakaninstruksikhususiniuntukmemecahkanmasalah critical 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 inihanyamemilikinilai1 atau0. Seringjugadisebutsebagaisemaforprimitif • Counting semaphore: Semaphore inimemilikinilai0, 1, sertainteger lainnya. Banyaksistemoperasiyang tidaksecaralangsungmengimplementasikansemaphore ini, 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 dapatmengaturaktivitassertapenggunaan resource olehbeberapa thread. Ide monitor pertama kali diperkenalkanoleh C.A.R Hoare dan Per Brinch-Hansen padaawal 1970-an. • Monitor merupakankumpulandariprosedur, variabel, danstruktur data dalamsatumodul. Monitor hanyadapatdiaksesdenganmenjalankanfungsinya. Dilakukanuntukmelindungivariabeldariakses yang tidaksahdanjugamengurangiterjadinya error. http://afies.web.ugm.ac.id/treasurers/wp-content/uploads/2007/12/SistemOperasi-4.X-1.pdf
PerangkatSinkronisasi Monitor Java Mengimplementasikan monitor. Monitor JVM bekerjadengan object locking dan method-method wait() serta notify(). Monitor JVM dapatdigunakandenganmenggunakan keyword 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 Salahsatudarisekianbanyakpermasalahansinkronisasi yang seringterjadididunianyata, yaituketikaadaduajenisproses readers dan writers salingberbagi (shared) data danmengakses database 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