1 / 11

SISTEM OPERASI

SISTEM OPERASI. Suratman suratman8@gmail.com 0878-234-1196. PENJADUAL CPU. 7.0 SINKRONISASI DAN DEADLOCK. LATAR BELAKANG Akses-akses yang dilakukan secara bersama-sama ke data yang sama, dapat menyebabkan data menjadi tidak konsisten .

hanh
Download Presentation

SISTEM OPERASI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SISTEM OPERASI Suratman suratman8@gmail.com 0878-234-1196

  2. PENJADUAL CPU 7.0 SINKRONISASI DAN DEADLOCK LATAR BELAKANG • Akses-akses yang dilakukan secara bersama-sama ke data yang sama, dapat menyebabkan data menjaditidakkonsisten. • Untukmenjaga agar data tetapkonsisten, dibutuhkanmekanisme-mekanismeuntukmemastikanpemintaan ekseskusi dari proses yang bekerja. • Race Condition: Situasidimanabeberapa proses mengaksesdanmemanipulasi data secarabersamaan.Nilaiterakhirdari data bergantungdari proses mana yang selesaiterakhir. • UntukmenghindariRace Condition, proses-proses secarabersamaanharusdisinkronisasikan.

  3. KETENTUAN KasusProdusendanKonsumen • Dua proses berbagisebuah buffer denganukuran yang tetap. Salah satunyaproduser, meletakkaninformasike buffer yang lainnya. Konsumenmengambilinformasidari buffer. Inijugadapatdigeneralisasiuntukmasalah yang memiliki m buahprodusendan n buahkonsumen, tetapikitahanyaakanmemfokuskankasusdengansatuprodusendansatukonsumenkarenadiasumsikandapatmenyederhanakansolusi. • Masalahakantimbulketikaproduseninginmenaruhbarang yang barutetapi buffer sudahpenuh. Solusiuntukprodusenadalahistirahat (sleep) danakandibangunkanketikakonsumentelahmengambilsatuataulebihbarangdari buffer. Biasanyajikakonsumeninginmengambilbarangdari buffer danmelihatbahwabuffer sedangkosong, makakonsumenistirahat (sleep) sampaiprodusenmeletakkanbarangpadabuffer danmembangunkan (wake up) consumer.

  4. Race Condition • Race Condition adalahsituasi di manabeberapa proses mengaksesdanmemanipulasi data bersamapadasaatbesamaan. Nilaiakhirdari data bersamatersebuttergantungpada proses yang terakhirselesai. • Untukmencegahrace condition, proses-proses yang berjalanbesamaanhaus di disinkronisasi. • Dalambeberapasistemoperasi, proses-proses yang berjalanbersamaanmungkinuntukmembagi • beberapapenyimpananumum, masing-masingdapatmelakukan proses baca (read) dan proses tulis • (write). Penyimpananbersama (shared storage) mungkinberada di memoriutamaatauberupasebuah • berkasbersama, lokasidarimemoribersamatidakmerubahkealamiandarikomunikasiataumasalah

  5. Race Condition Gambar7-1. Race Condition.

  6. CRITICAL SECTION • Bagaimanamenghindarirace conditions? Kunciuntukmencegahmasalahinidan di situasi yang lain yang melibatkan shared memori, shared berkas, and shared sumberdaya yang lain adalahmenemukanbeberapajalanuntukmencegahlebihdarisatu proses untukmelakukan proses writing danreading kepadashared data padasaat yang sama. • Dengankata lain kitamemutuhkanmutual exclusion, sebuahjalan yang menjamin jika sebuah proses sedang menggunakan shared berkas, proses lain dikeluarkan dari pekerjaanyang sama. Kesulitan yang terjadikarena proses 2 mulaimenggunakanvariabelbersamasebelumproses 1 menyelesaikantugasnya. • Masalahmenghindarirace conditions dapatjugadiformulasikansecaraabstrak. Bagiandariwaktu, sebuahproses sedangsibukmelakukanperhitungan internal danhal lain yang tidakmenggiringkekondisirace conditions. Bagaimana pun setiap kali sebuah proses mengakses shared memory atausharedberkasataumelakukansesuatu yang kitisakanmenggiringkepadarace conditions. Bagiandariprogramdimanashaed memory diaksesdisebutCritical Section atauCritical Region.

  7. CRITICAL SECTION Walau pun dapatmencegahrace conditions, tapitidakcukupuntukmelakukankerjasamaantarproses secaraparareldenganbaikdanefisiendalammenggunakan shared data. Kita butuh 4 kondisiagarmenghasilkansolusi yang baik: i. Tidakadadua proses secarabersamaanmasukkedalamcitical section. ii. Tidakadaasumsimengenaikecepatanataujumlahcpu. iii. Tidakada proses yang berjalan di luar critical secion yang dapatmengeblok proses lain. iv. Tidakada proses yang menungguselamamyauntukmasuk critical section. Critical Section adalahsebuahsegmenkode di manasebuah proses yang manasumberdayabersamadiakses. Terdiridari: • Entry Section: kode yang digunakanuntukmasukkedalamcritical section • Critical Section: Kode di manahanyaadasatu proses yang dapatdieksekusipadasatuwaktu • Exit Section: akhir dari critical section, mengizinkan proses lain • Remainder Section: kodeistirahatsetelahmasukkecritical section • Critical section harusmelakukanketigaaturanberikut: Solusi yang diberikan harus memuaskan permintaaan berikut: • Mutual exclution • Deadlock free • Starvation free

  8. Mutual Exclusion Mutual Exclusion: Kondisi-kondisi untuk solusi Tigakondisiuntukmenentukanmutual Exclusion • Tidakadadua proses yang padasaatbersamaanberada di critical region. • Tidakada proses yang berjalandiluarcritical region yang bisamenghambat proses lain. • Tidakada proses yang tidakbisamasukkecritical region.

  9. Problem KlasikDalamSinkronisasi Ada tigahal yang selalumemjadimasalahpada proses sinkronisasi: i. Problem Bounded buffer. ii. Problem Reades and Writer. iii. Problem Dining Philosophers.

  10. Monitor • Solusisinkronisasiinidikemukakanoleh Hoare padatahun 1974. Monitor adalahkumpulanprosedur, variabeldanstruktur data di satumodulataupaketkhusus. Proses dapatmemanggilprosedur-prosedurkapanpun diinginkan. Tapi proses takdapatmengaksesstruktur data internal dalam monitor secaralangsung. Hanyalewatprosedur-prosedur yang dideklarasikanminitoruntukmengaksesstruktur internal. Properti-properti monitor adalah sebagai berikut: • Variabel-variabeldata lokal, hanyadapatdiaksesolehprosedur-prosedurdata monitor dantidakolehprosedurdi luar monitor. • Hanyasatu proses yang dapataktif di monitor padasatusaat. Kompilatorharusmengimplementasiini(mutual exclusion). • Terdapatcara agar proses yang tidakdapatberlangsung di-blocked. Menambahkanvariabel-variabelkondisi, denganduaoperasi, yaitu Wait dan Signal. • Wait: Ketikaprosedur monitor tidakdapatberkanjut (misal producer menemui buffer penuh) menyebabkanproses pemanggildiblockeddanmengizinkan proses lain masuk monitor. • Signal: Proses membangunkan partner-nya yang sedang diblocked dengan signal pada variabel kondisiyang sedangditunggupartnernya. • VersiHoare: Setelah signal, membangunkan proses baru agar berjalandanmenunda proses lain. • VersiBrinch Hansen: Setelahmelakukan signal, proses segerakeluardari monitor.

  11. DeadLock • Padapembahasan di atastelahdikenalsuatuistilah yang populerpadabagiansemaphores, yaitudeadlock. Secarasederhanadeadlock dapatterjadidanmenjadihal yang merugikan, jikapadasuatusaatadasuatuproses yang memakaisumberdaya dan adaproseslain yang menunggunya.

More Related