Proses di Linux.  Proses adalah satuan eksekusi program  Proses di Linux preemptive saat:  1. Waktu kuantumnya telah habis  2. ada proses baru yang.

Slides:



Advertisements
Presentasi serupa
PERTEMUAN KE-5 Heintje Hendrata, S.Kom
Advertisements

Sistem Operasi Proses Fachry Khusaini ( ) Nur Yaqin ( )
PERTEMUAN KE-4 Heintje Hendrata, S.Kom. MANAJEMEN PROSES TIK : Mahasiswa dapat memahami konsep dasar proses Heintje Hendrata, S.Kom.
Afrizal Fahrudin Bagus Azril Hala Rizqul H
Proses.
Oleh : Kelompok 2 Irawan ( ) Alifuddin Wachid ( ) Retno Ayu Apriliati ( ) “Proses Sistem Operasi” G.
Pertemuan 3 Manajemen proses Manajemen Proses.
KONSEP PROSES Minggu ke 5.
Manajemen proses Manajemen Proses.
Proses Ali akbar. KONSEP PROSES Proses adalah program yang sedang dieksekusi. Eksekusi proses dilakukan secara berurutan. Dalam suatu proses terdapat.
Versi 1, 2013CCS113 – SISTEM OPERASIFASILKOM PERTEMUAN 5 PROSES DAN THREAD 1.
Manajemen Proses.
Manajemen Proses Meliputi : Pengelolaan sisklusi hidup proses
Pertemuan 03- Konsep Proses
PERTEMUAN KE-7 PERKULIAHAN SISTEM OPERASI
Pertemuan 3 Manajemen Proses.
Proses Oleh : Wahyu Andhyka Kusuma
Operating System Copyright © Mufadhol 1 SISTEM OPERASI Management Process Oleh : Mufadhol, S.Kom.
MATERI 4 SISTEM OPERASI Scheduling Process Oleh : Mufadhol, S.Kom
Oleh : Defiana Arnaldy, M.Si
Slide 6 – Management Proses
PERTEMUAN KE-9 PERKULIAHAN SISTEM OPERASI
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
Penjadwalan Prosesor (CPU Scheduling)
PENJADWALAN PROSES.
Penjadwalan Process.
PENJADWALAN PROSES DAN IMPLEMANTASI Sistem operasi komputer
PCB (Process Control Block)
Operasi pada Sistem Operasi
PROSES & THREADS Disajikan Oleh :.
Lecture 6 Main Memory Erick Pranata
Manajemen Memori.
PENJADWALAN PROSES.
STRUKTUR SISTEM KOMPUTER
Mata Kuliah : Sistem Operasi
MEMORY MANAGEMENT PART 2
PART 3 DOSEN : AHMAD APANDI, ST
SISTEM OPERASI Dosen Pengampu : Erfanti Fatkhiyah, ST., M.Cs.
III. Penjadwalan Proses
Slide 7 – Penjadwalan Process
Struktur Sistem Komputer
Penjadwalan Proses.
Struktur Sistem Komputer
Mata Kuliah Sistem Operasi
Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta
2. Proses By. Serdiwansyah N. A..
PART 3 Penjadwalan cpu.
Thread.
Slide 6 – Management Proses
4 PROSES Mata Kuliah Sistem Operasi Mata Kuliah : Sistem Operasi
Penjadualan CPU 6.
THREAD.
Manajemen Proses Firdaus, M.T..
OPERATING SYSTEM AND USE
Manajemen Proses.
PENJADWALAN PROSES.
MATERI PENJADWALAN PROSES
Hendy Mizuardy SISTEM OPERASI. MANAJEMEN PROSES Konsep Proses Definisi Proses Status Proses Process Control Block (PCB) Konsep Penjadwalan Queue Scheduling.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Struktur Sistem Komputer
Slide 7 – Penjadwalan Process
Struktur Sistem Komputer
Tim Teaching Grant Mata Kuliah Sistem Operasi
KONSEP PROSES Minggu ke 5.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
Struktur Sistem Komputer
Struktur Sistem Komputer
Tim Teaching Grant Mata Kuliah Sistem Operasi
Struktur Sistem Komputer
Transcript presentasi:

Proses di Linux

 Proses adalah satuan eksekusi program  Proses di Linux preemptive saat:  1. Waktu kuantumnya telah habis  2. ada proses baru yang masuk ke state TASK_RUNNING dan prioritasnya lebih tinggi dibandingkan dengan prioritas current proses

 Proses yang baru->logical copy address space parent, mengeksekusi kode 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.

 linux menggunakan lightweight process yang mendukung multithreaded application.  Umumnya, 2 lightweight process dapat men- share resource yang sama, seperti address space. Ketika 1 proses memodifikasi shared resource, proses lain dapat langsung melihat perubahannya.  Tentunya dibutuhkan sinkronisasi saat mengakses shared resource tsb.

 linux scheduling: berdasar teknik time- sharing -> beberapa proses berjalan dalam time multiplexing karena CPU time dibagi menjadi potongan-potongan untuk setiap runnable process.

 scheduling policy: aturan-aturan yang digunakan untuk menentukan kapan dan bagaimana memilih proses yang baru untuk dijalankan.  scheduling policy juga berdasar pada ranking proses berdasar prioritas  Di linux, prioritas proses bersifat dinamik  Scheduler menjaga proses mana yang sedang berjalan dan menyesuaikan prioritas secara periodik.

 Saat berbicara tentang scheduling, proses diklasifikasikan sebagai IO Bound dan CPU Bound.

 1. Interactive processes  berinteraksi secara konstan dengan user  contoh program interaktif: command shells, text editor,aplikasi berbasis grafik

 2. Batch processes  Tidak memerlukan interaksi dengan user, kebanyakan berjalan di background  contoh program batch: programming language compiler, database search engine, scientific computation.

 3. Real-time processes  memerlukan scheduling yang cukup rumit  proses jenis ini tidak pernah diblok oleh proses lain yang prioritasnya rendah  contoh program realtime: video and sound applications, robot controllers, dan programs yang mengumpulkan data dari physical sensors.

 Scheduling algorithm adalah instruksi/kode yang mengimplmentasikan scheduling policy yang diberikan  struktur yang paling penting untuk scheduling adalah task_struct  informasi yang tersimpan di dalam task struct digunakan untuk me-restore status proses baru untuk menjalankan dan memberikan kontrol sistem ke proses tersebut

 scheduler mengalokasikan CPU time untuk runnable processes melalui informasi di task struct  Scheduling terjadi saat schedule(), yang bertujuan untuk menemukan proses dalam queue meng-assign ke CPU

 1. Direct invocation of schedule()  Terjadi ketika: ▪ Current process terblok karena menunggu resource tertentu ▪  current process diambil dari ready queue kemudian diletakkan di appropriate wait queue, statusnya diubah menjadi: TASK_INTERRUPTIBLE atau TASK_UNINTERRUPTIBLE ▪ Ketika resource yang diinginkan telah tersedia, proses akan dibangunkan dan di-remove dari wait queue

 2. Lazy invocation of schedule()  Terjadi ketika: ▪ Current process telah menggunakan kuantumnya, hal ini dicek di: update_process_times() ▪ Proses ditambahkan ke ready queue dan prioritasnya lebih tinggi daripada proses yg sedang dijalankan, hal ini dicek di: wake_up_process() ▪ Proses memanggil sched_yield()  Lazy invocation menggunakan need_resched flag dari process descriptor dan akan menyebabkan schedule() dipanggil kemudian.

 linux scheduling algorithm bekerja dengan membagi CPU time menjadi epoch.  dalam 1 epoch, tiap proses memiliki waktu kuantum yang durasinya dihitung ketika epoch dimulai  proses hanya menggunakan kuantum ketika sedang mengakses CPU, sedangkan saat proses menunggu IO, kuantum tidak digunakan

 Sebuah proses berakhir ketika semua runnable process telah menggunakan semua kuantumnya  umumnya, proses yang berbeda memiliki waktu kuantum yang berbeda  tiap proses memiliki base-time quantum, yakni nilai kuantum waktu yang di-assign oleh scheduler ke proses jika telah menyelesaikan kuantum di epoch sebelumnya.  user dapat mengubah base-time quantum proses mereka dengan menggunakan syscall nice( ) dan setpriority( )

 untuk memilih proses mana yang akan dijalankan berikutnya,ada 2 jenis prioritas:  1. Prioritas static-> untuk proses realtime  2. Prioritas dinamik->untuk semua proses lainnya  Prioritas statik dari proses real time selalu lebih tinggi daripada prioritas dinamik proses yg konvensional  proses yang konvensional baru akan dijalankan jika sudah tidak ada lagi proses real-time yang dijalankan

 terjadi di Kernel Mode  kontrol eksekusi dari proses, dimana kernel dapat menghentikan eksekusi dari proses yang sedang berjalan di CPU dan melanjutkan proses lain yang telah dihentikan sebelumnya

 Switching dibutuhkan karena :  1. Jumlah proses lebih banyak daripada jumlah CPU  2. Diperlukan cara untuk membagi waktu CPU  3. Untuk multiprocessing/tasking  4. Komputer lebih produktif

 Prinsip umum  - simpan state dari old process  - load state dari proses baru yang telah disimpan

 1. hardware context  2. task state segment  3. switching  4. save FPU, MMX dan XMM registers

 - kumpulan dari data yang harus di load ke register sebelum proses melanjutkan eksekusinya di CPU  - disimpan di process descriptor dan di Kernel Mode

 tipe segment khusus pada arsitektur 80x86 untuk menyimpan hardware context  dibutuhkan oleh CPU karena :  mengambil address dari Kernel mode stack dari TSS  akses I/O permission bitmap

 1. switch page global directory  2. switch kernel mode stack  3. switch hardware context

 dijalankan oleh fungsi schedule()  memiliki tiga parameter prev, next, last

 80x86 tidak menyimpan register FPU dan XMM secara otomatis  instruksi MMX beroperasi di register FPU  kerugian : tidak dapat menggabungkan instruksi floating-point dengan instruksi MMX  keuntungan : kode untuk menyimpan FPU dapat digunakan untuk menyimpan status MMX

Ada pertanyaan?