Sistem Operasi (Operating Systems) Minggu 6

Slides:



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

Penjadwalan CPU.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Afrizal Fahrudin Bagus Azril Hala Rizqul H
Penjadwalan dan Interaksi Proses
Penjadwalan CPU Niyalatul Muna
Pertemuan 04- Penjadwalan Proses sistem operasi
Ervi Nurafliyan Susanti ( )
Pokok Bahasan: (1) Pendahuluan Jenis-jenis penjadualan
Dosen: Resi Utami Putri, S.Kom., M.Cs Penjadwalan Proses.
PENJADWALAN PROSES.
Sistem Operasi Penjadwalan Proses
Pertemuan 5 Penjadwalan Proses
Proses dan Penjadwalan
Slide 7 – Penjadwalan Process
PART 3 DOSEN : AHMAD APANDI, ST
Manajemen Proses Meliputi : Pengelolaan sisklusi hidup proses
Beberapa istilah yg sering muncul
PENJADWALAN PROSES.
Ihr Logo 3. SISTEM OPERASI Manajemen Proses by
Sumber Kepustakaan : ppt1 Beberapa istilah yg sering muncul Average Turn Around Time Rata-rata waktu total yg.
PENJADUALAN PROSES.
Sistem Operasi (Operating Systems) Minggu 5
Penjadwalan Sistem Interaktif
Penjadwalan Proses.
Sistem Operasi (Operating Systems) Minggu 7
MATERI 5 SISTEM OPERASI Scheduling Algorithm Oleh : Mufadhol, S.Kom
MATERI 4 SISTEM OPERASI Scheduling Process Oleh : Mufadhol, S.Kom
Oleh : Defiana Arnaldy, M.Si
SISTEM OPERASI Pertemuan 4 : Penjadwalan
Penjadwalan Prosesor (CPU Scheduling)
PROCESS SCHEDULING A.A. Gde Bagus Ariana, ST..
“Process Schedulling”
Penjadwalan CPU.
Penjadwalan Process.
“PENJADWALAN PROSES “ SISTEM OPERASI.
Sistem Operasi Pertemuan 8.
PENJADWALAN PROSES.
V. Penjadwalan Proses Penjadwalan CPU terjadi pada sistem operasi yang mempergunakan multiprogramming. Penjadwalan berupa kumpulan kebijakan untuk menentukan.
Algorithma Penjadwalan Proses
Mata Kuliah : Sistem Operasi
PART 3 DOSEN : AHMAD APANDI, ST
SISTEM OPERASI Dosen Pengampu : Erfanti Fatkhiyah, ST., M.Cs.
III. Penjadwalan Proses
Dosen: Resi Utami Putri, S.Kom., M.Cs
Slide 7 – Penjadwalan Process
PENJADWALAN PROSES.
STMIK-IM BANDUNG Chalifa Chazar
Penjadwalan Proses.
ALGORITMA PENJADWALAN PROSES
Fakultas Ilmu Komputer Defri Kurniawan, M.Kom
Process Scheduling SISTEM OPERASI Slide perkuliahan
Penjadwalan Proses Edi Sugiarto, S.Kom.
Mata Kuliah Sistem Operasi
Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta
Penjadwalan Proses.
PART 3 Penjadwalan cpu.
Sistem Operasi Penjadwalan Proses
Penjadualan CPU 6.
Sistem Operasi: Penjadwalan Proses
PENJADWALAN PROSES.
MATERI PENJADWALAN PROSES
Penjadwalan Proses M. Ghofar Rohman.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Beberapa istilah yg sering muncul
Slide 7 – Penjadwalan Process
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
Transcript presentasi:

Sistem Operasi (Operating Systems) Minggu 6 Dr. Ananda Kusuma e-mail: ananda_kusuma@yahoo.com Universitas Multimedia Nusantara Serpong, Tangerang

Agenda Review kuliah Minggu 5 Revisi SAP kuliah Minggu 6 dan 7 Topik Minggu 6: CPU Scheduling (Penjadwalan CPU) Presentasi Kelompok 1 : jam 15.50-16.30

Review Minggu 5 Interprocess Communications: Semaphores

Semaphores Apa itu semaphores? Sebutkan operasi-operasi semaphores Bagaimana semaphores digunakan untuk Critical region? Sinkronisasi pada bounded-buffer problem?

Producer-Consumer Problem menggunakan semaphores Event semaphores Hitung jumlah slot kosong Hitung jumlah slot yang terisi Process/Thread producer Process/Thread consumer

Revisi SAP

Perubahan SAP Minggu 6 dan 7 Minggu ke Topik Textbook 6 Masalah-masalah klasik pada komunikasi antar process Chapter 2 7 Penjadwalan pada system interactive Deadlock Chapter 2, 6 Berubah Menjadi CPU Scheduling (Penjadwalan) Chapter 2, 7 Review untuk persiapan UTS Chapter 6

CPU Scheduling (Penjadwalan CPU)

Levels of Scheduling (Klasifikasi Tingkatan Penjadwalan) Long-term scheduling (job scheduling) Pemilihan jobs yang akan di-load untuk berkompetisi mendapatkan system resources Medium-term scheduling Pemilihan jobs untuk di-suspend/resume dalam rangka menyeimbangkan beban system Short-term scheduling (CPU scheduling) dan Dispatching CPU scheduling is the task of selecting a waiting process fro111 the ready queue and allocating the CPU to it. The CPU is allocated to the selected process by the dispatcher. First-cosne, first-served (FCFS) scheduling is the simplest scheduling algorithm, but it can cause short processes to wait for very long processes. Shortestjob- first (SJF) scheduling is provably optimal, providing the shortest average waiting time. Implementing SJF scheduling is difficult, however, because predicting the length of the next CrU burst is difficult. The SJF algorithm is a special case of the general priority scheduling algorithm, which simply allocates the CPU to the highest-priority process. Both priority and SJF scheduling may suffer from starvation. Aging is a technique to prevent starvation Round-robin (RR) sclieduling is more appropriate for a time-shared (hiteractive) svstem. RR scheduling allocates the CPU to the first process in the ready queue for q time units, where '1 is the time quantum. After q time units, if the process has not relinquished the CPU, it is preempted, and the process is put at the tail of the ready queue. The major problem is the selection of the time quantum. If the quantum is too large, RR scheduling degenerates to FCFS scheduling; if the quantum is too small, scheduling overhead in the form of context-switch time becomes excessive. The FCFS algorithm is nonpreemptive; the RR algorithm is preemptive. The STF and priority algorithms may be either preemptive or nonpreemptive. Multilevel queue algorithms allow different algoritluns to be used for different classes of processes. The most common model includes a foreground interactive queue that uses RR scheduling and a background batch queue that uses FCFS scheduling. Multilevel feedback queues allow processes to move from one queue to another.

Issues on Scheduling (Hal-hal terkait Penjadwalan) Process behaviour: cpu-bound atau I/O-bound How to deal with clock interrupts: Preemptive  process dapat di-interrupt dan melepaskan jatah CPU nya non-preemptive  begitu jatah CPU diberikan, process dapat menggunakannya terus sampai process exits atau switches to waiting state W11y is it important for the scheduler to distinguish I/O-bound programs from CPU-bound programs? I/O-bound programs have the property of performing only a small amount of computation before performing IO. Such programs typically do not use up their entire CPUquantum. CPU-bound programs, on the other hand, use their entire quantum without performing any blocking IO operations. Consequently, one could make better use of the computer’s resouces by giving higher priority to I/O-bound programs and allow them to execute ahead of the CPU-bound programs.

Berdasarkan Kategori Aplikasi Batch First-Come First-Served (FCFS) Shortest Job First Shortest Remaining Time Next Interactive Round-Robin Priority Real-time Rate monotonic Earliest Deadline First

Scheduling Objectives Untuk semua system Fairness Policy enforcement Balance Batch Throughput Turnaround time CPU Utilization Interactive Response time Proportionality Real-time Meeting deadline Predictability

Batch Systems

First-Come First-Served (FCFS) Alokasikan CPU ke process sesuai dengan urutan kedatangan Implementasi Gunakan satu buah antrean FIFO (First In First Out) Performance metric: average waiting time atau average turnaround time

First-Come First-Served (FCFS): Contoh Misal urutan kedatangan process: P1, P2, P3 Panjang CPU run time (burst): Waiting time: Average waiting time = (0+24+27)/3 = 17 Bagaimana kalau seandainya urutan penjadwalan diubah? P2,P3,P1  average waiting time = (6+0+3)/3 = 3 P1 P2 P3 24 27 30 Time

Shortest Job First (SJF) Diasumsikan cpu run time (burst) tiap job diketahui Jadwalkan process dengan run time terpendek Contoh di slide sebelumnya, urutan penjadwalan process = P2,P3,P1 Contoh: 4 jobs A, B, C,D dengan run time a,b,c,d Average waiting time: (0+a+a+b+a+b+c)/4 = (3a+2b+c)/4 Average turnaround time: (4a+3b+2c+d)/4 Pembobotan ke metric lebih besar pada process yang lebih dulu diambil sehingga untuk meminimalkan diambil process yang terpendek

Shortest Job First (SJF SJF optimal apabila semua jobs tersedia secara serentak Contoh: Menggunakan SJF, order yang optimal -> A,B,C,D,E dengan average waiting time = (0+2+6+7+8)/5 = 4.6 Kalau order diubah menjadi B,C,D,E,A, maka average waiting time = (0+4+5+6+7)/5 = 4.4

Shortest Time Remaining Next Preemptive version dari SJF Scheduler menjadwalkan process dengan sisa run time terpendek Jika ada job baru datang dengan run time yang lebih pendek dari process yang sedang berjalan, maka process yang sedang berjalan di-suspend dulu dan segera eksekusi process dari job yang baru.

Interactive Systems

Round-Robin Scheduling Penjadwalan CPU di mana tiap process mendapat giliran secara bergantian untuk menggunakan CPU. Interval waktu penggunaan CPU disebut quantum. Contoh: Quantum 1 Quantum 2

Round-Robin: besaran quantum Pertukaran penggunaan CPU dari satu process ke process berikutnya membutuhkan waktu untuk tugas administrasi (context switch), mis. saving dan loading registers, memory map, updating tabel, list, dll. Pemilihan besaran quantum perlu memperhatikan trade-off: Terlalu kecil  terlalu banyak context switch dan sumber daya CPU terbuang untuk tugas administrasi Terlalu besar  respons tidak bagus untuk layanan-layanan interactive singkat Contoh: waktu switching =1 msec Waktu quantum = 10 msec  ((1/11)*100%) 10 %  terlalu tinggi penggunaan CPU untuk keperluan administrasi Waktu quantum =100 msec  (1/101)*100%) 1%  utilisasi CPU bagus, tapi response time (interactive) jelek karena process terlalu lama menunggu giliran

Round-Robin: Contoh Time Misal: Time Quantum = 20, dan Time line: Waiting Time: Average waiting time = (26+20+23)/3 = 23 Average turnaround time = (30+23+26)/3 = 26.3  Lebih jelek dibandingkan SJF, namun response time untuk tiap process lebih bagus karena kepastian giliran menggunakan CPU sesuai dengan time quantum yang ditetapkan P1 P2 P3 20 23 26 30 Time

Priority Scheduling (Penjadwalan dengan Prioritas) Tiap Process diberikan prioritas, dan prioritas yang lebih tinggi lebih dahulu dijalankan Untuk mencegah process dengan prioritas tertinggi berjalan tanpa batas, dapat digunakan clock interrupt untuk menurunkan prioritasnya sehingga process yang lain dapat berjalan

Priority Scheduling: Penentuan Prioritas Tiap Process diberikan prioritas, dan prioritas yang lebih tinggi lebih dahulu dijalankan Untuk mencegah process dengan prioritas tertinggi berjalan tanpa batas, dapat digunakan clock interrupt untuk menurunkan prioritasnya sehingga process yang lain dapat berjalan Cara sederhana: Gunakan rumus Prioritas=1/f , di mana f=prosentase waktu quantum yang digunakan Contoh quantum=5omsec Process P1, baru running 1 msec, di-blocked, maka f=1/50  Prioritas=50 Process P2, baru running 25 msec, di-blocked, make f=25/50  Prioritas=2 Process P1 lebih diprioritaskan dibandingkan P2 apabila keduanya ready menunggu penjadwalan CPU

Contoh Soal Ujian Tahun Lalu Terdapat 5 jobs A, B, C ,D dan E dengan arrival time, run time dan prioritas masing-masing seperti tabel dibawah. ( Catatan: prioritas 4 lebih tinggi dari prioritas 3). Tentukan average waiting time dan average turnaround time dengan algoritma scheduling sbb.: First Come First Served Shortest Job First Shortest Remaining Time Next Non-preemptive Priority Scheduling Job Arrival Time (menit) Run Time (menit) Prioritas A 7 1 B 9 4 C 2 D 5 3 E -

Real-Time Systems

Real-Time Systems Real-time system: sistem di mana peranan time (waktu) adalah kritis untuk aplikasi, contoh aplikasi multinedia, proses kendali otomasi, instrumentasi, dsb. Hard real-time computing Komputasi yang mensyaratkan tugas-tugas kritis digaransi untuk dapat diselesaikan pada waktu yang ditentukan (absolute deadline) Soft real-time computing Komputasi yang mensyaratkan process yang kritis untuk mendapatkan prioritas lebih tinggi Tipe-tipe real-time schedulers Periodic schedulers: fixed arrival rate Demand-driven schedulers: variable arrival rate Deadline schedulers: prioritas ditentukan oleh deadline

Schedulable Criteria Jika ada m periodic events dan events i berlangsung pada periode Pi dan diperlukan CPU time Ci detik untuk handle tiap event, maka dapat dilakukan scheduling secara realtime (schedulable) apabila

Rate-Monotonic Scheduling (RMS) Static real-time scheduling algorithm untuk preemptable dan periodic processes. Tiap process menggunakan CPU time yang sama untuk tiap burst Tiap process diberikan prioritas tetap didasarkan atas frekuensi terjadinya events. Dengan kata lain linear with the rate (number of times/second the process run) Contoh: process yang berjalan secara periodic tiap 50 msec ada 20 events/second  prioritas = 20 Scheduler menjalankan process dengan prioritas tertinggi, dan apabila diperlukan preempt process dengan prioritas lebih rendah yang sedang menggunakan CPU

Earliest Deadline First (EDF) Dynamic real-time scheduling di mana process tidak harus periodic dan CPU run time tidak harus sama untuk tiap burst Scheduler memilih process dengan deadline yang paling dekat. Tiap kali ada process yang ready, scheduler memeriksa apakah deadline untuk process yang baru ini lebih dekat dibandingkan dengan process yang sedang berjalan, dan preempt process yang sedang berjalan apabila diperlukan

Contoh Scheduling dengan RMS dan EDF

Akhir Kuliah Minggu 6 Terima kasih atas perhatiannya!