Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Sistem Operasi (Operating Systems) Minggu 6 Universitas Multimedia Nusantara Serpong, Tangerang Dr. Ananda Kusuma

Presentasi serupa


Presentasi berjudul: "Sistem Operasi (Operating Systems) Minggu 6 Universitas Multimedia Nusantara Serpong, Tangerang Dr. Ananda Kusuma"— Transcript presentasi:

1 Sistem Operasi (Operating Systems) Minggu 6 Universitas Multimedia Nusantara Serpong, Tangerang Dr. Ananda Kusuma

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

3 Review Minggu 5 Interprocess Communications: Semaphores

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

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

6 Revisi SAP

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

8 CPU Scheduling (Penjadwalan CPU)

9 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

10 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

11 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

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

13 Batch Systems

14 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

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

16 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

17 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 = ( )/5 = 4.6 Kalau order diubah menjadi B,C,D,E,A, maka average waiting time = ( )/5 = 4.4

18 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.

19 Interactive Systems

20 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

21 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

22 Round-Robin: Contoh Misal: Time Quantum = 20, dan Time line: Waiting Time: Average waiting time = ( )/3 = 23 Average turnaround time = ( )/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 P1P2P3P Time

23 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

24 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

25 Contoh Soal Ujian Tahun Lalu JobArrival Time (menit) Run Time (menit) Prioritas A071 B194 C221 D553 E732 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

26 Real-Time Systems

27 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

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

29 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

30 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

31 Contoh Scheduling dengan RMS dan EDF

32 Akhir Kuliah Minggu 6 Terima kasih atas perhatiannya!


Download ppt "Sistem Operasi (Operating Systems) Minggu 6 Universitas Multimedia Nusantara Serpong, Tangerang Dr. Ananda Kusuma"

Presentasi serupa


Iklan oleh Google