1 / 73

Proses

Proses. Ida Nurhaida, ST., MT. Pembahasan. Konsep Proses Penjadualan Proses Operasi-operasi pada Proses Cooperating Processes Interprocess Communication Komunikasi pada Sistem Client-Server . Konsep Proses.

malory
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 Ida Nurhaida, ST., MT.

  2. Pembahasan • Konsep Proses • Penjadualan Proses • Operasi-operasi pada Proses • Cooperating Processes • Interprocess Communication • Komunikasi pada Sistem Client-Server

  3. KonsepProses • Proses : suatu program yang sedangdieksekusidanmemiliki status jalannyaeksekusiyaitu minimal informasi-informasisbb : • Program counter : menunjukkaninstruksiberikutnya yang akandieksekusi • Register : data hasileksekusiantara • Stack : tempatpenyimpanan temporary data yang dibutuhkanselama program dieksekusi • Data section : mengandungvariabel global darisuatuproses • Dalamliteratur, istilahjobdanprosesdantask seringdapatdipertukarkan

  4. PerkembanganKonsepProses • Konsepprosesberkembangsejalandengan modus operasisistemkomputer : • Fase-fasemonoprogramming : padasuatusaatdimemorihanyasebuah program yang sedangdijalankan (mungkindisertaisuatu monitor proses) • Fase-fase multiprogramming : padasuatusaatdimemoribisaterdapatbeberapa program yang sedangdijalankan

  5. Konsep Proses Monoprogramming • Program oleh proses monitor (atau operator) di-load ke memori, dieksekusi (kontrol diberikan pada proses), dan selesai (sukses atau abort), kemudian kontrol dikembalikan ke proses monitor (atau operator) • Status proses direkam dan di-print hanya diperlukan untuk keperluan debugging

  6. Konsep Proses Modern • Karena adanya sejumlah program yang di-load dimemori dalam status sedang dijalankan, maka setiap saat jumlah aktual proses yang dieksekusi maksimum sama dengan jumlah CPU • Untuk pembahasan konsep proses selanjutnya akan berdasarkan paradigma ini

  7. Status Proses • Selama eksekusinya proses berada dalam salah satu dari status-status berikut ini : • New : proses sedang di-create • Running : instruksi-instruksi sedang dieksekusi • Waiting : proses sedang menunggu terjadinya event-event tertentu • Ready : proses menunggu di-assign ke prosesor • Terminated : proses selesai eksekusi

  8. Diagram Status Proses

  9. Process Control Block (PCB) • Agar suatuproses yang running, lalu waiting/ready, dankemudian running kembalidapatmeneruskanprosestanpakehilangankonteksmakadiperlukanstruktur data untukmenyimpaninformasidan status proses, disebut Process Control Block (PCB) • Satublokdigunakanuntuksatuprosesdanisinyabisabervariasidariproseskeproses

  10. Informasi dalam PCB • Informasi Manajemen Memori • Posisi program di memori, dll • Informasi Accounting • Jumlah waktu eksekusi/elapse, time limit, account/job number, dll • Informasi Status I/O • List dari I/O device yang dialokasi proses, list file yang status sedang dibuka (baca/tulis), dll

  11. Process Control Block (PCB)

  12. Proses-prosesdariMemoriUtamake Register

  13. CPU Switch dariProseskeProses

  14. Scheduling Proses • Dalam multiprogramming sejumlahproses yang running secara concurrent menggunakan resources : CPU dan devices • Jikahanyaadasatuprosesor (uniprosesor) makahanyasatuprosessetiapsaat yang benar-benar running dan yang lainnyamenunggu (waiting) dalamqueueataumelakukanaktifitas I/O

  15. Queue untuk Scheduling • Job queue berisi seluruh proses di dalam sistem • Ready queue berisi proses-proses yang berada di memori dan siap (ready)/ menunggu (wait) untuk dieksekusi • Device queue – proses-proses yang menunggu giliran penggunaan device tertentu • Proses berpindah antara bermacam-macam queue

  16. Ready Queue dan I/O Device Queues

  17. Representasi Process Scheduling = queue (ready queue & device queue) = resource yang melayani queue

  18. Scheduler • Long-term scheduler (job scheduler) • Memilihproses yang mana yang harusdibawakedalam ready queue • Menentukandegree of multiprogramming • Lebihjarang (second, minute)  (may be slow) • Short-term scheduler (CPU scheduler) • Memilihprosesmana yang harusdieksekusiberikutnyadanmengalokasi CPU untuknya • Lebihsering (milisecond)  (must be fast) • Medium-term scheduler : swap prosesIn danOutantaramemoridan swap-device untukmengubahkarakteristikdariprosesdalampenggunaanmemoriatau I/O device

  19. Status Proses - Scheduler long-term scheduler short-term scheduler

  20. Baruterprosessebagian & di swap-out sementara CPU Ready queue I/O I/O waiting queue Diagram Perpindahan Proses Swap out Swap in medium term scheduler new end long-term scheduler short-term scheduler

  21. Status Proses - Update

  22. I/O vs CPU Bounds • Proses-prosesdapatdideskripsikansbb : • I/O-bound process : proses-proses yang dilakukanI/O dalamjumlahwaktu yang lebihbanyakdaripadauntukkomputasi; banyakterdapat CPU burst yang pendek • CPU-bound process : proses-proses yang melakukanlebihbanyakkomputasi; beberapa CPU burst yang panjang

  23. Context Switch • Saat CPU dipindahkan dari suatu proses ke proses yang lain sistem harus menyimpan status dari proses lama dan me-load status proses yang baru • Tugas ini dilakukan oleh context switch • Waktu untuk context-switch merupakan overhead (waktu sistem “terbuang” saat switching) • Jumlah waktu ini bergantung pada dukungan Hardware

  24. OperasipadaProses • Dalam multiprogramming akanadaproses yang barumulai, danadaproses yang selesai, disampingproses-proses yang sedang running • Untukdapatdimanagemakadiperlukanmekanismetertentuuntukmenanganiaktifitas create dan terminate proses

  25. Proses Creation • Mekanisme “ayah-anak” atau “parent-child” : proses “parent” meng-create proses “child” yang juga dapat meng-create proses-proses lainnya membentuk pohon (tree) dari proses-proses • Pada fase-fase awal : code dari user program di-load ke memori, control dialihkan ke program, proses berjalan hingga selesai/abort, dan control kembali ke monitor

  26. Modus-modus saat Create Proses (1) • Dalam hal resource sharing • Parent & child men-share semua resource • Child men-share subset dari resource-resource milik parent • Parent & child tidak men-share apa pun • Dalam hal eksekusi • Parent & child dieksekusi secara concurrent • Parent menunggu hingga child terminate

  27. Modus-modus saat Create Proses (2) • Dalam hal address space : • Child menduplikasi milik parent • Child memiliki suatu program yang akan di-load ke dalamnya • Contoh UNIX • System call fork() meng-create proses baru • System call execve() digunakan setelah itu untuk mengganti memory space dari proses dengan program yang baru

  28. Proses Tree pada UNIX System

  29. Process Termination Suatuprosesmengalamiterminasiakibatinisiatifchildatauparent

  30. Terminasi karena Child • Prosesmengeksekusi statement terakhir yang jugameminta OS untukmenghapusnya( misalnyadenganexit() ) • Data output dihasilkan child kepada parent ( misalnyasebagai return darifork() ) • Resource-resource prosesdidealokasioleh OS

  31. Terminasi karena Parent • Parent mengakhiri eksekusi proses-proses child ( misalnya dengan abort() ) • Child telah menggunakan jumlah resource melebihi dari yang telah dialokasi • Task yang diberikan pada child sudah tidak diperlukan lagi • Parent telah exit • OS tidak mengijinkan child untuk berlanjut jika parent terminate • Cascading termination

  32. Cooperating Processes • Independent processtidakdapatdipengaruhioleheksekusiproses lain • Cooperating processdapatmempengaruhidandipengaruhioleheksekusiproses lain • Keuntunganprosesberkooperasi : • Sharinginformasi : Menggunakaninformasi(resource) yang samauntukbeberapaproses • Peningkatankemampuankomputasi (Computation Speedup) : Suatu task tertentubisadipecahmenjadibeberapacooperating processessehinggabisadikerjakansecaraparalelsehinggamenjadilebihcepatselesai • Modularitas : Pembuatansuatusistem yang modulerdenganmemecahkanfungsi-fungsidarisistemtersebutmenjadibeberapaprosesatauthread • Convenience : User bisadenganmudahmengerjakansesuatu yang berbedadalamwaktu yang sama

  33. Producer-Consumer Problem • “Producer” merupakanproses yang menghasilkaninformasi yang akandikonsumsiolehproses “Consumer”. Contoh : • Compiler memproduksi assembly code yang dikonsumsioleh Assembler • Assembler memproduksi Object yang dikonsumsioleh Loader • Sebagaiperantaradigunakansuatu buffer • Unbound-buffer : tidakadabataskapasitas • Bounded-buffer : buffer berukurantetap • ConsumerharusmenunggujikabufferkosongdanProducerharusmenunggujikabufferpenuh.

  34. Bounded – Buffer – Shared-Memory Solution • Shared data #define BUFFER_SIZE 10 typedefstruct { . . . } item; item buffer[BUFFER_SIZE]; int in = 0; int out = 0; • Hanyadapatmenggunakan BUFFER_SIZE-1 elemen

  35. Bounded – Buffer – Producer Process item nextProduced; while (1) { while (((in + 1) % BUFFER_SIZE) == out) ; /* do nothing */ buffer[in] = nextProduced; in = (in + 1) % BUFFER_SIZE; }

  36. Bounded – Buffer – Consumer Process item nextConsumed; while (1) { while (in == out) ; /* do nothing */ nextConsumed = buffer[out]; out = (out + 1) % BUFFER_SIZE; }

  37. out in out producer Empty in 0 0 0 Half-full Full out 11 11 11 consumer Ring-buffer 12 slots in Ilustrasi Producer-Consumer Problem

  38. Algoritma Producer-Consumer (Pascal) • Shared data var n; type item = …; var buffer : array [0..n-1] of item; in, out : 0..n-1; n := 0; out := 0; • Producer : repeat … produce an item nextp … whilein+1 modn = out dono-op; buffer[in] := nextp; in := in+1 mod n; untilfalse; • Consumer : repeat whilein = outdono-op; nextc := buffer[out]; out := out+1 mod n; … consume the item in nextc … untilfalse;

  39. Interprocess Communication (IPC) • Menyediakan mekanisme yang memungkinkan proses-proses berkomunikasi dan mensinkronisasi aksi-aksinya • Message System – komunikasi tanpa memerlukan penggunaan shared variabel milik proses user

  40. Operasi-operasi IPC • Operasi-operasi yang disediakan • Send(message) • Receive(message) • Message dapat berukuran tetap atau variabel • Ukuran tetap; implementasi fisik lebih simple, tapi lebih sulit bagi user dalam pemrograman • Ukuran variabel; pemrograman lebih mudah tapi implementasi fisik lebih sulit

  41. Communication Link • Bila P dan Q hendak berkomunikasi • mereka perlu menetapkan suatu communication link di antara mereka lalu melakukan tukar-menukar message melalui send/receive • IPC dalam implementasinya memerlukan communication link • Secara fisik, contohnya shared memory, hardware bus • Secara logic, contohnya logical properties

  42. Implementation Questions • How are links established? • Can a link be associated with more than two processes? • How many links can there be between every pair of communicating processes? • What is the capacity of a link? • Is the size of a message that the link can accommodate fixed or variable? • Is a link unidirectional or bi-directional? Operating System Concepts

  43. Implementasi • Menjawabpertanyaan-pertanyaan : • Cara penetapan link • Bisaberasosiasidengan > 2 proses • Jumlah link yang ditetapkanantara 2 proses • Kapasitas link • Ukuran message : tetapatauvariabel • Arah link : satuarah (unidirectional) atauduaarah (bi-directional) • Satuarah : proseshanya send (atau receive) danhanyasatu yang receive

  44. Metodologi • Direct vs. Indirect Communication • Symmetric vs. Asymmetric Communication • Automatic vs. Explicit Buffering • Send by Copy vs. Send by Reference • Fixed Sized vs. Variabel Sized Message

  45. Direct Communication • Proses-proses harus menyebutkan pasangannya secara eksplisit • send(Q, message) • Q adalah receiver • receive(P, message) • P adalah sender P Q

  46. Sifat-sifat Communication Link Direct Comm. • Link ditetapkan secara otomatis • Link diasosiasikan dengan pasangan proses yang sedang berkomunikasi tsb • Antara sepasang proses hanya bisa ada 1 link • Link bisa satu arah tapi biasanya dua arah

  47. Contoh Producer-Consumer • Producer : repeat … Produce(nextp) … send(consumer, nextp) … untilfalse; • Consumer : repeat … receive(produser, nextc) … Consume(nextc) … untilfalse;

  48. Kekurangan Direct Comm. • Modularitas terbatas • Pengubahan nama proses perlu pengubahan di seluruh call • Perlu pemeriksaan jika terdapat nama yang sama

  49. P Q A Indirect Communication • Message-message dikirimdanditerimamelaluisuatu mailbox (jugadisebutport) • Masing-masing mailbox memiliki id yang unik • Proses-proseshanyadapatberkomunikasijikamereka men-share mailbox • send(A, message) • Kirim message kedalam mailbox A • receive(A, message) • Terima message daridalam mailbox A

  50. Sifat-sifat Communication Link Indirect Comm. • Link ditetapkansaatduaproses men-share suatu mailbox • Link dapatdiasosiasikandengansejumlahproses • Setiappasangprosesbisa men-share beberapa link • Link bisasatuarahatauduaarah

More Related