1 / 23

Proses

Proses. Ali akbar. KONSEP PROSES. Proses adalah program yang sedang dieksekusi . Eksekusi proses dilakukan secara berurutan . Dalam suatu proses terdapat program counter, stack dan daerah data

kenley
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 Ali akbar

  2. KONSEP PROSES • Proses adalah program yang sedangdieksekusi. Eksekusi proses dilakukansecaraberurutan. Dalamsuatu proses terdapat program counter, stack dandaerah data • Sistemoperasimengeksekusiberbagaijenis program. Padasistembatch program tersebutbiasanyadisebutdenganjob, sedangkanpadasistem time sharing, program disebutdengan program user atautask. Beberapabukuteksmenggunakanistilahjob atauproses.

  3. Status Proses • Meskipuntiap-tiap proses terdiridarisuatukesatuan yang terpisahnamunadakalanya proses-proses tersebutbutuhuntuksalingberinteraksi. Satu proses bisadibangkitkandari output proses lainnyasebagai input. Pada saat proses dieksekusi, akan terjadi perubahan status. Status proses didefiniskansebagaibagiandariaktivitas proses yang sedangberlangsungsaatitu.

  4. Gambaran proses

  5. Process Control Block (PCB) Masing-masing proses DirepresentasikanolehSistemOperasidenganmenggunakanProcess Control Block (PCB),

  6. Informasi yang terdapatpadasetiap proses meliputi : • Status Proses. New, ready, running, waiting dan terminated. • Program Counter. Menunjukkanalamatberikutnya yang akandieksekusiolehproses tersebut. • CPU Registers. Register bervariasitipedanjumlahnyatergantungarsitekturkomputer yang bersangkutan. Register-register tersebutterdiri-atas: accumulator, index register, stack pointer, dan register serbagunadanbeberapainformasitentangkodekondisi. Selama Program Counter berjalan, status informasiharusdisimpanpadasaatterjadi interrupt. Gambar 3-3 menunjukkan switching proses darisatu proses ke proses berikutnya. • InformasiPenjadwalan CPU. Informasitersebutberisiprioritasdarisuatu proses, pointer keantrianpenjadwalan, danbeberapa parameter penjadwalan yang lainnya. • InformasiManajemenMemori. Informasitersebutberisinilai (basis) dan limit register, page table, atau segment table tergantungpadasistem memory yang digunakanoleh SO. • Informasi Accounting. Informasitersebutberisijumlah CPU dan real time yang digunakan, time limits, account numbers, jumlah job atau proses, dll. • Informasi Status I/O. Informasi tersebut berisi deretan I/O device (seperti tape driver) yang dialokasikanuntuk proses tersebut, deretan file yang dibuka, dll.

  7. switching proses darisatu proses ke proses

  8. PENJADWALAN PROSES

  9. AntrianPenjadwalan Penjadwalandirepresentasikandalambentukantrian yang disimpansebagailinkedlistdanberisi pointer awaldanakhir PCB. Tiap-tiap PCB memilikisuatu pointer field yang menunjukke proses berikutnya. Jenis-jenisantrianpenjadwalanadalahsebagaiberikut : • Job Queue. Semua proses yang masukpadasuatusistemakandiletakkankedalamjob queue. • Ready Queue. Sedangkan proses-proses yang ada di memoriutamadanmenungguuntukdieksekusidiletakkanpadasuatu list yang disebutdenganready queue. Padaantrianiniberisi • Device Queue. Deretan proses yang sedangmenungguperalatan I/O tertentudisebutdengandevice queue

  10. Penjadwal (Scheduler) Terdapatduabentukpenjadwal, yaitu: • Longterm-Scheduler (job scheduler), menyeleksi proses-proses mana yang harusdibawakeready queue. • Short-term Scheduler (CPU scheduler), memilih proses-proses yang siapuntukdieksekusi, danmengakolakasikan CPU kesalahsatudari proses-proses tersebut. Secaraumum, proses dapatdigambarkansebagai : • I/O bound process, yaitu proses-proses yang membutuhkanlebihbanyakwaktuuntukmenjalankan I/O daripadamelakukankomputasi, sehingga CPU burst yang dibutuhkanlebihsingkat. • CPU bound process, yaitu proses-proses yang membutuhkanlebihbanyakwaktuuntukmelakukankomputasidaripadamenjalankan I/O sehingga CPU burst yang dibutuhkanlebih lama. Context Switch Contex switch adalah proses penyimpanan status proses danmengambil status proses yang barupadasaatterjadi switching. Padasaatterjadiperpindahan proses, sistemtidakbekerja. Waktucontext switch tergantungpadaperangkatkeras yang digunakan.

  11. OPERASI PADA PROSES Terdapatduaoperasipada proses, yaitupembuatan proses (process creation) danpenghentian proses (process deletion). PembuatanProses Ada beberapaaktifitasberkenaandenganpembuatan proses, antara lain : a. Memberiidentitas (nama) pada proses yang dibuat; b. Menyisipkan proses pada list proses atau tabel proses; c. Menentukan prioritas awal proses; d. Membuat PCB; e. Mengalokasikan resource awalbagi proses tersebut. Ada beberapakejadian yang menyebabkanpembuatansuatu proses baru, antaralain: • Padalingkungan batch sebagaitambahanataspemberian job. Setelahmenciptakanproses baru, sistemoperasimelanjutkanuntukmembaca job selanjutnya. • Padaingkunganinteraktif, padasaat user barusajalogam; • Sebagaitanggapanatassuatuaplikasi (seperti: mencetak file, sistemoperasidapatmenciptakan proses yang akan mengelola pencetakan itu); • Proses menciptakan proses lain (child).

  12. Proses Parent dan Child Selamaeksekusi, suatu proses mungkinakanmembuatsuatu proses yang baru. Proses tersebutdinamakan parent, sedangkan proses yang dibuatdinamakanchild. Proses pembuatan proses anakmembentukpohon proses. Pembagiansumberdaya : • Parent dan child membagisemuasumberdaya yang ada • Child menggunakansebagiandarisumberdaya yang digunakan parent • Parent dan child tidakmembagisumberdaya Bentukeksekusi : • Parent melanjutkaneksekusiberiringandengan children. • Parent menunggu hingga beberapa atau seluruh children selesai. Bentukruangalamat : • Child adalahduplikatdari proses parent. • Child mempunyai program yang diambildaridirinya.

  13. Penghentian Proses Suatu proses berhentijikatelahmenyelesaikanpernyataanterakhir, danmeminta pada sistem operasi untuk menghapusnya dengan menggunakan system call exit. Proses mengembalikansemua data (output) ke parent proses melalui system call wait. Kemudian proses dihapusdari list atautabelsistem, dilanjutkandenganmenghapusPCB.

  14. Penghentian Proses Parent dapatmenghentikaneksekusi proses child denganmenggunakan system call abort. Proses anak dihentikan parent karena beberapa alasan, antara lain : • Child mengalokasikansumberdayamelampauibatas • Tugaschild tidakdibutuhkanlebihlanjut • Parent berhenti, karena system operasitidakmengijinkan child untukmelanjutkanjikaparent berhentidanterminasidilanjutkan.

  15. PROSES YANG SALING BEKERJA SAMA (COOPERATING PROCESS) Proses-proses yang dieksekusi oleh sistem operasi mungkin berupa proses proses yang terpisah (independence) atau proses-proses yang salingbekerjasama (cooperate). Proses yang terpisahadalah proses yang tidakberakibatataudiakibatkanoleheksekusidari proses lain. Sedangkan proses yang salingbekerjasamaadalah proses yang dapatberakibatataudiakibatkanoleheksekusidari proses lain. Contoh : • P0 menunggu printer • P1 menunggu disk drive Apabila proses terpisah, meskipunP1 adadibelakangP0, namunjika disk drive nganggur, P1 bisadieksekusiterlebihdahulu. Sebaliknyajika proses tersebutsalingbekerjasamamakaeksekusipadasuatu proses akansangatberpengaruhpadaproses yang lain, karenamerekasalingberbagi data.Contoh : • P1: ..., ..., ..., ..., P2, ... • P2: ..., ..., ..., ..., ..., ...

  16. KOMUNIKASI ANTAR PROSES (INTERPROCESS COMMUNICATION) Komunikasiantar proses adalahmekanisme proses-proses untukberkomunikasidanmelakukansinkronisasiaksinya. Komunikasidilakukandengansistempesan, dimanaproses berkomunikasidengan proses lain tanpamenggunakanvariabel yang di share. Fasilitas interprocess communication (IPC) terdiri dari dua operasi : • send(pesan) dimanaukuranpesanbisatetapatauberbeda-beda • receive(pesan)

  17. KomunikasiLangsung Bentukkomunikasilangsungadalah proses melakukankomunikasilangsungkeproses lain. Padakomunikasilangsung, harusdisebutkannama proses secaraeksplisit. • send(P,pesan); mengirimpesanke proses P. • receive(Q,pesan); menerima pesan dari proses Q. Propertiyang harusterdapatpadasalurankomunikasiterdiridari : • Terdapatsambungan yang dapatbekerjasecaraotomatisantaratiappasanganproses yang inginberkomunikasi. • Sambungantersebutmenghubungkantepatsatupasangan proses yang akanberkomunikasi. • Antartiap-tiappasangan proses terdapattepatsatusaluran. • Sambungantersebutmungkinbersifatunidirectional, namunbiasanyabidirectional.

  18. KomunikasiTakLangsung Padakomunikasitaklangsungpengirimanataupenerimaanpesandilakukanmelaluimailbox (port). Mailbox adalahsuatuobjek yang manapesan-pesanditempatkanoleh proses ataudapatdihapus. Tiap-tiapmailbox memilikiidentitasunik. Duabuah proses dapatsalingberkomunikasihanyajikamerekasalingmenggunakanmailbox secarabersama-sama. Propertiyang harusdisediakanpadasalurankomunikasiadalah : • Sambunganantara 2 proses diberikanjikaantarakedua proses tersebutsalingmenggunakanmailbox secarabersama-sama. • Sambungantersebutdihubungkandenganbeberapaproses. • Antartiap-tiappasangan proses yang salingberkomunikasi, adasejumlahsambunganyang berbeda, tiap-tiap link berhubungandengansatumailbox. • Sambungantersebutmungkinbersifatunidirectional, namunbiasanyabidirectional.

  19. Sambunganmempunyaibeberapakapasitas yang menentukanjumlahpesanyang dapatditampungsementara. Bentuknyaberupaantrianpesan yang dilewatkankesambungan. Terdapattigacaraimplementasiantrianpesantersebutyaitu: • Zero Capacity: Antrianmemilikipanjangmaksimumnol, sehinggatidakadapesanyang menunggu di link. Padakasusini, pengirimpesanharusmenunggupenerimapesanmenerimapesan yang disampaikansebelumiamengirimpesanlagi. Keduaproses iniharusberjalansecarasinkron. Sinkronisasiiniseringdisebutdenganistilahrendezvous. • Bounded Capacity. Antrianmemilikipanjangtertentu (n), sehinggaadapaling banyakn pesan yang menunggu di link. Jikaantriantidakdalamkeadaanpenuh, makajikaadapesanbarudapatmenempatiantrian yang paling akhir, sehinggapengirimtidakperlumenunggulagiuntukmelanjutkaneksekusi. Jikaantriandalamkeadaanpenuh, makapengirimharusmenunggusampaiadatempatkosong. • Unbounded Capacity. Antrianmemilikipanjang yang tidaktertentu, sehinggaadasejumlahpesan yang dapatmenunggu di link. Pengirimantidakpernahmenundapekerjaan.

  20. THREAD Suatu proses didefinisikanolehresource yang digunakandanlokasi yang akandieksekusi. Namunadakalanya proses-proses akanmenggunakan resource secarabersama-sama. Suatu unit dasardari CPU utilization yang berisi program counter, kumpulanregister, danruang stack disebutdenganthread ataulighweightprocess (LWP). Thread akanbekerjasamadenganthread yang lainnyadalamhalpenggunaanbagian kode, bagian data, dan resource sistem operasi, seperti open file dan sinyal secarakolektif yang seringdisebutdengantask.

  21. Thread

  22. Thread Model multi thread terdiridari model Many-to-One, One-to-One danMany-to-Many. Pada model Many-to-One , beberapauser level thread dipetakankesatukernel thread dan digunakan pada sistem yang tidak mendukung kernel threads seperti pada Gambar3-11. Pada model One-to-One, setiapuser-level thread dipetakankekernel threadseperti pada Gambar 3-12, misalnya pada Windows 95/98/NT/2000 dan OS/2. Padamodel Many-to-Many, user level thread dipetakankebeberapakernel threads. Padasistemoperasiiniakandibuatsejumlahkernel thread sepertiGambar3-13, contohnyaSolaris 2 dan Windows NT/2000 denganThreadFiberpackage.

  23. Thread Thread pada Windows 2000 mengimplementasikanpemetaanone-to-one. Setiap thread terdiridarithread id, kumpulanregister, stack user dankernel yangterpisatsertaruang data privat. Thread pada Linux seringdisebutsebagaitask daripadathread. Pembuatanthread dilakukandenganmenggunakansystem call clone(). Clone() memungkinkantask anakmenggunakanruangalamatdaritask (proses) parent. Bahasapemrograman Java menggunakanJava thread yang dibuatdenganmenggunakanclass Thread danmengimplementasikanantarmuka yang bersifatrunnable (dapatdijalankan). Java thread diaturolehJava virtual machine (JVM). Java thread terdiridaristate new, runnable, blocked dandead sepertiGambar

More Related