Konkurensi

5
Sistem Operasi Kongkurensi Konkurensi merupakan landasan umum perancangan system operasi. Proses- proses disebut konkuren jia proses-proses itu berada pada saat yang sama. Proses- proses konkuren dapat sepenuhnya tak bergantung dengan yang lain tapi dapat juga saling berinteraksi. Proses-proses yang berinteraksi memerlukan sinkronisasi agar terkendali dengan baik. Proses-proses yang berinteraksi mempunyai beberapa masalah yang harus diselesaikan, yaitu: # Mutual Exclusion # Deadlock # StarVation # Sinkronisasi Prinsip-prinsip konkurensi meliputi : # Alokasi waktu processor untuk proses-proses # Pemakaian bersama dan persaingan untuk mendapatkan sumber daya # Komunikasi antar proses # Sinkronisasi aktivitas banyak proses. Kesulitan-kesulitan yang ditimbulkan konkurensi Masalah-masalah yang dihadapi proses-proses konkuren pada multiprogramming dan multiprocessing serupa, yaitu : kecepatan eksekusi proses-proses di system tidak dapat diprediksi. Kecepatan proses pada system antara lain : # Aktivitas-aktivitas proses lain # Cara system operasi menangani interupsi # Kebijakan penjadwalan yang dilakukan system operasi Beberapa kesulitan yang munkin muncul: # Pemakaian bersama sumber daya global Ketika dua proses menggunakan variable global yang sama , serta keduanya membaca dan menulis variable itu maka urutan terjadinya pembacaan dan penulisan terhadap variable itu menjadi kritis. # Pengelolaan alokasi sumber daya agar optimal Jika proses A meminta suatu kanal Input/Output tertentu, dan dapat terjadi kemudian proses A di-suspend sebelum menggunakan kanal itu. Jika system operasi mengunci kanal dan mencegah proses-proses lain menggunakan kanal itu serta keduanya, maka tindakan ini hanya menghasilkan inefisiensi Konkurensi #5 #1

description

Konkurensi

Transcript of Konkurensi

  • 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