1 / 11

Proses

Proses. Konsep Proses dalam system operasi Semua komputer modern dapat melakukan berbagai macam pekerjaan pada saat yang bersamaan . Selama user menjalankan program, komputer juga dapat melakukan pekerjaan lain seperti membaca data dari disk, atau mencetak ke printer.

lassie
Télécharger la présentation

Proses

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. Proses

  2. KonsepProsesdalam system operasi • Semuakomputer modern dapatmelakukanberbagaimacampekerjaanpadasaat yang bersamaan. • Selama user menjalankan program, komputerjugadapatmelakukanpekerjaan lain sepertimembaca data dari disk, ataumencetakke printer. • Padasistemmultiprograming, komputerbiasanyamenjalankan program secarabergantiandalamjumlahpuluhanatauratusansetiapdetiknya. • Padahalkomputerhanyamenjalankansatu program padasatuwaktutertentu. Itulahsebabnyakenapadalamwaktusatudetikkomputermenjalankanbanyak program. • Kondisiinilah yang dinamakan parallelism ataupseudoparallelism. • Kondisiinisangatsulitsehinggaselamapuluhantahunparaperancangsistemoperasiberusahamengembangkansuatu model sehinggaparalellismdapatditanganidenganmudah.

  3. Proses • Pada model inisemua program yang berjalanpadakomputertermasukdidalamnyasistemoperasidiorganisasikansebagaisejumlahproses yang berjalansecara sequential (berurutan). • Tanenbaumberpendapatbahwaprosesadalahsebuah program yang dieksekusi yang termasukdidalamnya program counter, register, danvariabel. • Perbedaanantaraprosesdan program • Misalkanadapembuatkue yang inginmembuatkueulangtahun. • Orangtersebutmelibatkanresep, dapurdansejumlah input sepertitelur, gula, tepung, vanillidan lain sebagainya. • Resepitudianalogikansebagai program karenadiamerupakankumpulan step yang harusdilalui (Algoritma) • Orang yang membuatkuedianalogikansebagai CPU yang melakukanpengolahan • Prosesituadalahaktivitas yang dilakukansepertimembacaresep, memadukansetiapbahan, memanggangkue • Sekarangbayangkanpadasaat yang bersamaananaksipembuatkuedatangmenangissambilmengatakanhabisdisengatlebah. • Pembuatkuelangsungmenandaisampaitahapmana step dilakukan(state prosesdisimpan) kemudianmelakukanpekerjaan yang lebihpentingyaitumelakukanpertolongan. Setelahsemuanyabisaditanganimakadiakembalimembuatkuedanmemulaidari step terakhir yang ditinggalkan.

  4. Meskipuntiap-tiapprosesterdiridarisuatukesatuan yang terpisahnamunadakalanyaproses-prosestersebutbutuhuntuksalingberinteraksi. Satuprosesbisadibangkitkandari output proseslainnyasebagai input. Pada saat proses dieksekusi, akan terjadi perubahan status. Status proses didefiniskansebagaibagiandariaktivitasproses yang sedangberlangsungsaatitu. Gambar menunjukkan diagram status proses. Status proses terdiri dari : a. New: prosessedangdibuat. b. Running: prosessedangdieksekusi. c. Waiting: prosessedangmenunggubeberapa event yang akanterjadi (sepertimenungguuntukmenyelesaikan I/O ataumenerimasinyal). d. Ready: prosesmenunggujatahwaktudari CPU untukdiproses. e. Terminated: prosestelahselesaidieksekusi.

  5. Process Control Block (PCB) Masing-masingprosesdirepresentasikanolehSistemOperasidenganmenggunakanProcess Control Block (PCB) Informasi yang terdapatpadasetiapprosesmeliputi : a. Status Proses. New, ready, running, waiting dan terminated. b. Program Counter. Menunjukkanalamatberikutnya yang akandieksekusiolehprosestersebut. c. CPU Registers. Register bervariasitipedanjumlahnyatergantungarsitekturkomputeryang bersangkutan. Register- Register tersebutterdiri-atas: accumulator, index register, stack pointer, dan register serbagunadanbeberapainformasitentang kodekondisi. SelamaProgram Counter berjalan, status informasiharusdisimpanpadasaatterjadiinterrupt. d. InformasiPenjadwalan CPU. Informasitersebutberisiprioritasdarisuatuproses, pointer keantrianpenjadwalan, danbeberapa parameter penjadwalan yang lainnya. e. InformasiManajemenMemori. Informasitersebutberisinilai (basis) danlimit register, page table, atau segment table tergantungpadasistem memory yang digunakanoleh SO. f. Informasi Accounting. Informasitersebutberisijumlah CPU dan real time yang digunakan, time limits, account numbers, jumlah job atauproses, dll. g. Informasi Status I/O. Informasi tersebut berisi deretan I/O device (seperti tape driver) yang dialokasikanuntukprosestersebut, deretan file yang dibuka, dll.

  6. AntrianPenjadwalan Penjadwalandirepresentasikandalambentukantrian yang disimpansebagailinkedlist dan berisi pointer awal dan akhir PCB. Tiap-tiap PCB memiliki suatu pointer field yang menunjukkeprosesberikutnya. Jenis-jenisantrianpenjadwalanadalahsebagaiberikut : • Job Queue. Semuaproses yang masukpadasuatusistemakandiletakkankedalam job queue. • Ready Queue. Sedangkanproses-proses yang adadimemoriutamadanmenungguuntukdieksekusidiletakkanpadasuatu list yang disebutdenganready queue. • Device Queue. Deretanproses yang sedangmenungguperalatan I/O tertentudisebutdengandevice queue.Setiapprosesdapatberpindahdarisatuantriankeantrian lain.

  7. Terdapatduabentukpenjadwal, yaitu: a. Longterm-Scheduler (job scheduler), menyeleksiproses-prosesmana yang harusdibawakeready queue. b. Short-term Scheduler (CPU scheduler), memilihproses-proses yang siapuntukdieksekusi, danmengakolakasikan CPU kesalahsatudariproses-prosestersebut. Deadlock • Deadlock dalamartisebenarnyaadalahkebuntuan. Kebuntuan yang dimaksuddalamsistemoperasiadalahkebuntuanproses. • Jadi Deadlock ialahsuatukondisidimanaprosestidakberjalanlagiatau pun tidakadakomunikasilagiantarproses. • Deadlock disebabkankarena proses yang satumenunggusumberdaya yang sedangdipegangolehproses lain yang sedangmenunggusumberdayayangdipegangolehprosestersebut. Dengankata lain setiapprosesdalam set menungguuntuksumber yang hanyadapatdikerjakanolehproses lain dalam set yang sedangmenunggu.

  8. Deadlock

  9. Mengapaterjadi • Menurut Coffman (1971) adaempatkondisi yang dapatmengakibatkanterjadinya Deadlock, yaitu: • Mutual Eksklusif: hanyaadasatuproses yang bolehmemakaisumberdaya, danproses lain yang inginmemakaisumberdayatersebutharusmenungguhinggasumberdayatadidilepaskanatautidakadaproses yang memakaisumberdayatersebut. • Memegangdanmenunggu: proses yang sedangmemakaisumberdayabolehmemintasumberdayalagimaksudnyamenungguhinggabenar-benarsumberdaya yang dimintatidakdipakaiolehproses lain, halinidapatmenyebabkankelaparansumberdayasebabdapatsajasebuahprosestidakmendapatsumberdayadalamwaktu yang lama • TidakadaPreemption: sumberdaya yang adapadasebuahprosestidakbolehdiambilbegitusajaolehproseslainnya. Untukmendapatkansumberdayatersebut, makaharusdilepaskanterlebihdahuluolehproses yang memegangnya, selainituseluruhprosesmenunggudanmempersilahkanhanyaproses yang memilikisumberdaya yang bolehberjalan • Circular Wait: kondisisepertirantai, yaitusebuahprosesmembutuhkansumberdaya yang dipegangprosesberikutnya

  10. Cara Penanggulangan • Mengabaikan Deadlock • Mendeteksi dan memperbaiki • Menghindari dengan protocol sehingga sistem tidak masuk ke area deadlock • Memastikan bahwa hanya salah satu kondisi yang penting tidak dapat menunggu

More Related