1 / 28

Proses di Linux

Proses di Linux. Kelompok 3: 1. 13505057 - Tina Yuliani Ayuningsih 2. 13505071 - Sindy Gita Ratri 3. 13505089 - Shieny Aprilia 4. 13505119 - Nessya Callista. Apa itu proses ?. Proses adalah satuan eksekusi program Proses di Linux preemptive saat : 1. Waktu kuantumnya telah habis

rex
Download Presentation

Proses di Linux

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. Prosesdi Linux Kelompok 3:1. 13505057 - Tina YulianiAyuningsih2. 13505071 - SindyGitaRatri3. 13505089 - ShienyAprilia4. 13505119 - NessyaCallista

  2. Apaituproses? • Proses adalah satuan eksekusi program • Prosesdi Linux preemptive saat: • 1. Waktukuantumnyatelahhabis • 2. adaprosesbaru yang masukke state TASK_RUNNING danprioritasnyalebihtinggidibandingkandenganprioritas current proses

  3. Proses yang baru->logical copy address space parent, mengeksekusikode yang sama dengan parent • Meskipun parent dan child men-share halaman yang mengandung program kode(text), namun memiliki data(stack dan heap) yang terpisah, sehingga perubahan oleh child ke lokasi memori tidak dapat diketahui oeh parent, dan begitu lah sebaliknya.

  4. linuxmenggunakan lightweight process yang mendukung multithreaded application. • Umumnya, 2 lightweight process dapat men-share resource yang sama, seperti address space. Ketika 1 prosesmemodifikasi shared resource, proses lain dapatlangsungmelihatperubahannya. • Tentunyadibutuhkansinkronisasisaatmengakses shared resource tsb.

  5. Scheduling proses • linux scheduling: berdasarteknik time-sharing -> beberapaprosesberjalandalam time multiplexing karena CPU time dibagimenjadipotongan-potonganuntuksetiaprunnable process.

  6. scheduling policy: aturan-aturan yang digunakanuntukmenentukankapandanbagaimanamemilihproses yang baruuntukdijalankan. • scheduling policy jugaberdasarpada ranking prosesberdasarprioritas • Di linux, prioritasprosesbersifatdinamik • Scheduler menjagaprosesmana yang sedangberjalandanmenyesuaikanprioritassecaraperiodik.

  7. klasifikasiproses: • Saatberbicaratentang scheduling, prosesdiklasifikasikansebagai IO Bound dan CPU Bound.

  8. Alternatifklasifikasiproses: • 1. Interactive processes • berinteraksisecarakonstandengan user • contoh program interaktif: command shells, text editor,aplikasiberbasisgrafik

  9. 2. Batch processes • Tidakmemerlukaninteraksidengan user, kebanyakanberjalandi background • contoh program batch: programming language compiler, database search engine, scientific computation.

  10. 3. Real-time processes • memerlukan scheduling yang cukuprumit • prosesjenisinitidakpernahdiblokolehproses lain yang prioritasnyarendah • contoh program realtime: video and sound applications, robot controllers, dan programs yang mengumpulkandata dari physical sensors.

  11. syscall yang berhubungandengan scheduling

  12. scheduling algorithm • Scheduling algorithm adalahinstruksi/kode yang mengimplmentasikan scheduling policy yang diberikan • strukturyang paling pentinguntuk scheduling adalahtask_struct • informasi yang tersimpandidalam task structdigunakanuntuk me-restore status prosesbaruuntukmenjalankandanmemberikankontrolsistemkeprosestersebut

  13. scheduler mengalokasikan CPU time untukrunnable processes melaluiinformasidi task struct • Scheduling terjadisaat schedule(), yang bertujuanuntukmenemukanprosesdalam queue meng-assign ke CPU

  14. Di-invoke melalui 2 cara: • 1. Direct invocation of schedule() • Terjadiketika: • Current process terblokkarenamenunggu resource tertentu •  current process diambildari ready queue kemudiandiletakkandi appropriate wait queue, statusnyadiubahmenjadi: TASK_INTERRUPTIBLE atau TASK_UNINTERRUPTIBLE • Ketika resource yang diinginkantelahtersedia, prosesakandibangunkandandi-remove dari wait queue

  15. 2. Lazy invocation of schedule() • Terjadiketika: • Current process telahmenggunakankuantumnya, halinidicekdi: update_process_times() • Prosesditambahkanke ready queue danprioritasnyalebihtinggidaripadaprosesygsedangdijalankan, halinidicekdi: wake_up_process() • Prosesmemanggilsched_yield() • Lazy invocation menggunakanneed_resched flag dari process descriptor danakanmenyebabkan schedule() dipanggilkemudian.

  16. linux scheduling algorithm bekerjadenganmembagi CPU time menjadi epoch. • dalam 1 epoch, tiapprosesmemilikiwaktukuantum yang durasinyadihitungketika epoch dimulai • proseshanyamenggunakankuantumketikasedangmengakses CPU, sedangkansaatprosesmenunggu IO, kuantumtidakdigunakan

  17. Sebuahprosesberakhirketikasemuarunnable process telahmenggunakansemuakuantumnya • umumnya, proses yang berbedamemilikiwaktukuantum yang berbeda • tiapprosesmemiliki base-time quantum, yakninilaikuantumwaktu yang di-assign oleh scheduler keprosesjikatelahmenyelesaikankuantumdi epoch sebelumnya. • user dapatmengubah base-time quantum prosesmerekadenganmenggunakansyscall nice( ) dansetpriority( )

  18. untukmemilihprosesmana yang akandijalankanberikutnya,ada 2 jenisprioritas: • 1. Prioritas static-> untukprosesrealtime • 2. Prioritasdinamik->untuksemuaproseslainnya • Prioritasstatikdariproses real time selalulebihtinggidaripadaprioritasdinamikprosesygkonvensional • proses yang konvensionalbaruakandijalankanjikasudahtidakadalagiprosesreal-time yang dijalankan

  19. Process Switching • terjadidi Kernel Mode • kontroleksekusidariproses, dimana kernel dapatmenghentikaneksekusidariproses yang sedangberjalandi CPU danmelanjutkanproses lain yang telahdihentikansebelumnya

  20. Switching dibutuhkankarena : • 1. Jumlahproseslebihbanyakdaripadajumlah CPU • 2. Diperlukancarauntukmembagiwaktu CPU • 3. Untuk multiprocessing/tasking • 4. Komputerlebihproduktif

  21. Prinsipumum • - simpan state dari old process • - load state dariprosesbaru yang telahdisimpan

  22. Elemen - elemen switching • 1. hardware context • 2. task state segment • 3. switching • 4. save FPU, MMX dan XMM registers

  23. Hardware context • - kumpulandari data yang harusdi load ke register sebelumprosesmelanjutkaneksekusinyadi CPU • - disimpandi process descriptor dandi Kernel Mode

  24. Task state segment • tipe segment khususpadaarsitektur 80x86 untukmenyimpan hardware context • dibutuhkanoleh CPU karena : • mengambil address dari Kernel mode stack dari TSS • akses I/O permission bitmap

  25. Switching • 1. switch page global directory • 2. switch kernel mode stack • 3. switch hardware context

  26. switch_to macro • dijalankanolehfungsi schedule() • memilikitiga parameter prev, next, last

  27. save FPU, MMX dan XMM registers • 80x86 tidakmenyimpan register FPU dan XMM secaraotomatis • instruksi MMX beroperasidi register FPU • kerugian : tidakdapatmenggabungkaninstruksi floating-point denganinstruksi MMX • keuntungan : kodeuntukmenyimpan FPU dapatdigunakanuntukmenyimpan status MMX

  28. Sekiandanterimakasih Adapertanyaan?

More Related