Download - Konkurensi

Transcript
  • Sistem Operasi

    Kongkurensi

    Konkurensimerupakanlandasanumumperancangansystemoperasi.Prosesprosesdisebutkonkurenjiaprosesprosesituberadapadasaatyangsama.Prosesproseskonkurendapatsepenuhnyatakbergantungdenganyanglaintapidapatjugasalingberinteraksi.Prosesprosesyangberinteraksimemerlukansinkronisasiagarterkendalidenganbaik.

    Prosesprosesyangberinteraksimempunyaibeberapamasalahyangharusdiselesaikan,yaitu:

    # MutualExclusion# Deadlock# StarVation# Sinkronisasi

    Prinsipprinsipkonkurensimeliputi:# Alokasiwaktuprocessoruntukprosesproses# Pemakaianbersamadanpersainganuntukmendapatkansumberdaya# Komunikasiantarproses# Sinkronisasiaktivitasbanyakproses.

    KesulitankesulitanyangditimbulkankonkurensiMasalahmasalahyangdihadapiprosesproseskonkurenpadamultiprogrammingdanmultiprocessingserupa,yaitu:kecepataneksekusiprosesprosesdisystemtidakdapatdiprediksi.

    Kecepatanprosespadasystemantaralain:# Aktivitasaktivitasproseslain# Carasystemoperasimenanganiinterupsi# Kebijakanpenjadwalanyangdilakukansystemoperasi

    Beberapakesulitanyangmunkinmuncul:# Pemakaianbersamasumberdayaglobal

    Ketikaduaprosesmenggunakanvariableglobalyangsama,sertakeduanyamembacadanmenulisvariableitumakaurutanterjadinyapembacaandanpenulisanterhadapvariableitumenjadikritis.

    # PengelolaanalokasisumberdayaagaroptimalJikaprosesAmemintasuatukanalInput/Outputtertentu,dandapatterjadikemudianprosesAdisuspendsebelummenggunakankanalitu.Jikasystemoperasimenguncikanaldanmencegahprosesproseslainmenggunakankanalitusertakeduanya,makatindakaninihanyamenghasilkaninefisiensi

    Konkurensi #5 #1

  • Sistem Operasi

    # PencariankesalahanpemrogramanPencariankesalahanpadapemrogramankonkurensilebihsulitdibandingkanpencariankesalahanpadaprogramprogramsekuen.

    MutualExclusion

    MutualExclusionadalahjaminanhanyasatuprosesyangmengaksessumberdayapadasatuintervaltertentu.

    Terdapatsumberdayayangtakdapatdipakaibersamapadasaatbersamaan(mis.printer).Sumberdayainidisebutdengansumberdayakritis.Bagianprogramyangmenggunakansumberdayakritisdisebutmemasukicriticalregion/station.Hanyasatuprogrampadasatusaatyangdiijinkanmasukcriticalregion.Programmertidakdapatbergantungpadasystemoperasiuntukmemehamidanmemaksabatasaninikarenamaksudprogramtidakdapatdiketahui.

    Sistemhanyamenyediakanlayanan(systemcall)untukmencegahprosesmasukcriticalregionyangsedangdimasukiproseslain.Programmerharusmenspesifikasibagianbagiancriticalregionsehinggasystemoperasiakanmenjaganyadengansuatumekanismeuntukmencegahproseslainmasukcriticalregionyangsedangdipakaiproseslain.

    Pemaksaaanadanyamutualexclusionmenimbulkandeadlockdanstartvation

    Kriteriapenyelesaianmutualexclusion:1. Mutualexclusionharusdijamin,hanyasatuprosespadasaatyang

    diijinkanmasukkecriticalsection.2. Prosesyangberadadinoncriticalsection,dilarangmemblockedproses

    lainyanginginmasukcriticalsection.3. Harusdijaminprosesyanginginmasukcriticalsectiontidakmenunggu

    selamawaktuyangtakberhinga.4. Ketikatidakadaprosespadacriticalsectionmakaprosesyangingin

    masukcriticalsectionharusdiijinkanmasuktanpatertunda.5. Tidakadaasumsimengenaikecepatanrelativeprosesataujumlah

    prosesyangada.

    Starvation

    Prosesdikatakanmengalamistarvationjikaprosesprosesitumenunggualokasisumberdayasampaitakberhingga,sementaraprosesproseslaindapatmemperolehalokasisumberdaya.

    Konkurensi #5 #2

  • Sistem Operasi

    Ilustrasi:Misalterdapat3(tiga)prosesP1,P2danP3.P1,P2danP3.memerlukanaksessumberdayaRsecaraperiodik.Selanjutnya:

    P1sedangdiberisumberdayaR,P2danP3blockedmenunggusumbersumberdayaR.KetikaP1keluardaricriticalregion,P2danP3diijinkanmengaksesR.AsumsiP3diberihakakses.Kemudiansetelahselesai,hakakseskembalidiberikankeP1yangsaatitumembutuhkansumberdayaR.

    JikapemberianhakaksesbergantianterusmenerusantaraP1danP3,makaP2tidakpernahmemperolehaksessumberdayaR,meskitidakadadeadlock.PadasituasiiniP2disebutmengalamistartvation.

    Deadlock

    Prosesdisebutdeadlockjikaprosemenunggusuatukejadianyangtakpernahterjadi.Sekumpulanprosesberkondisideadlockbilasetiapprosesyangadamenunggusuatukejadianyanghanyadapatdilakukanproseslainyangjugaberadadikumpulantersebut.

    Ilustrasi: TerdapatduaprosesP1danP2 DuasumberkritisR1danR2 ProsesP1danP2harusmengakseskeduasumberdayaitu(R1dan

    R2). R1diberikanpadaP1sedangR2diberikanpadaP2. Karenauntukmelanjutkaneksekusimemerlukanduasumberdaya

    sekaligusmakaprosesakansalingmenunggusumberdayalainselamanya.

    Syaratterjadinyadeadlock: Mutualexclusion

    Tiapsumberdayasaatdiberikanpadasatuproses. HoldandwaitCondition

    Prosesprosesyangsedangmenggenggamsumberdaya,menunggusumberdayasumberdayabaru

    NonPreemptionConditionSumberdayasumberdayayangsebelumnyaduberikantidakdapatdiambilpaksadariprosesitu.Sumberdayasumberdayaharussecaraeksplisitdilepaskandariprosesyangmenggenggamnya.

    Konkurensi #5 #3

  • Sistem Operasi

    CirculairWaitConditionHarusterdapatrantaisirkulerdariduaprosesataulebih,masingmasingmenunggusumberdayayangdigenggamolehberikutnyapadarantaiitu.

    MetodeMengaasideadlock: Pencegahanterjadinyadeadlock Pengindaranterjadinyadeadlock Deteksidanpemulihandeadlock

    InteraksiantaraProses

    Padasystemdenganbanyakproses(konkuren),terdapat3kategoriinteraksi,yaitu:

    1. Prosesprosestidaksalingpeduli(independent)Prosesprosestidakdimaksudkanuntukbekerjabersamauntukmencapaitujuantertentu.

    2. ProsesprosessalingmempedulikansecaratidaklangsungProsesprosestidakperlusalingmempedulikanidentitasprosesproseslaintapisamasamamengaksesobjektertentu(sepertibufferInput/Output).Prosesprosesituperlubekerjasamadalammemakaibersamaobjektertentu.

    3. ProsesprosessalingmempedulikansecarlangsungProsesprosesdapatsalingbekomunikasidandirancangbekerjasamauntuksuatuaktivitas.

    Interaksiantaraprosesprosesdanmasalahmasalahyangharusdiatasi

    DerajatKepedulian

    Hubungan Akibatsatuprosesterhadaplainya

    Masalahpengendalianyangperludilakukan

    Prosestakperduli

    Persaingan Hasilsatuprosesindependentterhadapaksiproseslain.

    Pewaktuanprosesdapatberdampak

    Mutualexclusion Deadlock Starvasion

    Konkurensi #5 #4

  • Sistem Operasi

    Prosessecarataklangsungpeduliterhadapproseslain

    Kerjasamadenganpemakaianbersama

    Hasilhasilsatuprosesdapatbergantunginformasiyangdiperolehdariproseslain

    Pewaktuanprosesdapatberdampak

    Mutualexclusion Deadlock Starvasion Koherensidata

    Prosessecaralangsungpeduliterhadapproseslain

    Kerjasamadengankomunikasi

    Hasilhasilsuatuprosesdapatbergantungpadainformasiyangdiperolehdariproseslain

    Pewaktuanprosesdapatberdampak

    Deadlock Starvasion

    Persainganantaraprosesprosesuntuksumberdaya

    Prosesprosesberkompetisiketikaprosesprosesbersaingmenggunakansumberdayayangsama.Masingmasingprosestakperdulikeberadaanposesproseslaindantidakdipengaruhiolehprosesproseslain.

    Padasaatberkompetisitersebut,tidakterjadipertukaraninformasiantarprosesprosesitu.Eksekusisatuprosesdapatberpengaruhterhadapkelakuanprosesproesesyangberkompetisi.Jikaduaprosesakanmengaksessatusumberdayatunggal,makasystemoperasiakanmengalokasiuntuksatuprosesdanproseslainmenunggu(diblocked),prosesyangditolakaksesnyamenjadilambat.

    Masalahmasalahyangditimbulkandaripersainganini:MutualExclusion,Deadlock,danStarvation.

    Kerjasamadiantaraprosesprosesdenganpemakaianbersama

    Dalamkasuskerjasamapemakaiansumberdayabersamaanmeliputiprosesprosesyangsalingberinteraksitanpadinyatakaneksplisit.Masalahyangada:MutualExclusion,Deadlock,danStarvation.

    Konkurensi #5 #5