• Tidak ada hasil yang ditemukan

CPU Scheduler Ch. 5. SISTIM OPERASI (Operating System) IKI Johny Moningka

N/A
N/A
Protected

Academic year: 2021

Membagikan "CPU Scheduler Ch. 5. SISTIM OPERASI (Operating System) IKI Johny Moningka"

Copied!
31
0
0

Teks penuh

(1)

CPU Scheduler – Ch. 5

SISTIM OPERASI

(Operating System)

IKI-20230

Johny Moningka

([email protected])

(2)

Chapter 5: CPU Scheduling

n

Basic Concepts

n

Scheduling Criteria

n

Scheduling Algorithms

n

Multiple-Processor Scheduling

n

Real-Time Scheduling

n

Algorithm Evaluation

(3)

Basic Concepts

n

Pemakaian CPU secara maksimum dengan

multiprogramming => makin banyak jobs/task

yang dijalankan makin baik

n

CPU–I/O Burst Cycle – Eksekusi proses terdiri

dari siklus instruksi-instruksi CPU dan I/O

request/wait.

n

Bagaimana prilaku CPU-burst?

n Karakteristik dan berapa lama (tergantung profile program?)

n Distribusi lamanya CPU-brust (histogram-frekwensi)

(4)
(5)
(6)

CPU Scheduler

n

Algoritma scheduling:

n Memilih dari proses-proses yang berada di memori

(ready to execute) dan memberikan jatah CPU ke salah satu proses tersebut.

n

Kapan keputusan untuk algoritma dilakukan:

n Saat suatu proses:

1.Switches from running to waiting state. 2.Switches from running to ready state. 3.Switches from waiting to ready.

(7)

Types of Scheduling

n

Bagaimana pemilihan dilakukan oleh Scheduler?

n Preemptive: OS dapat mengambil (secara interrupt,

preempt) CPU dari satu proses setiap saat.

n Non-preemptive: setiap proses secara sukarela

(berkala) memberikan CPU ke OS.

n

Contoh:

n Scheduling untuk switch dari running ke wait atau

terminate: non-preemptive.

n Scheduling proses dari running ke ready: pre-emptive.

(8)

Dispatcher

n

Modul Dispatcher: mengatur dan memberikan

kontrol CPU kepada proses yang dipilih oleh

“short-term scheduler”:

n switching context

n switching to user mode

n jumping to the proper location in the user program to

restart that program

n

Dispatch latency – terdapat waktu yang terbuang

(CPU idle) dimana dispatcher menghentikan satu

proses dan menjalankan proses lain.

(9)

Scheduling Criteria

n Utilisasi CPU: menjadikan CPU terus menerus sibuk (menggunakan CPU semaksimal mungkin).

n Throughput: maksimalkan jumlah proses yang selesai dijalankan (per satuan waktu).

n Turnaround time: minimalkan waktu selesai eksekusi suatu proses (sejak di submit sampai selesai).

n Waiting time: minimalkan waktu tunggu proses (jumlah waktu yang dihabiskan menunggu di ready queue).

n Response time: minimalkan waktu response dari sistim terhadap user (interaktif, time-sharing system), sehingga interaksi dapat berlangsung dengan cepat.

(10)

Scheduling Algorithms

n

First-come, first-served (FCFS)

n

Shortest-Job-First (SJF)

n

Priority

n

Round-Robin (RR)

n

Multilevel Queue

(11)

First-Come, First-Served (FCFS)

n

Algoritma:

n Proses yang request CPU pertama kali akan

mendapatkan jatah CPU.

n Sederhana – algoritma maupun struktur data:

menggunakan FIFO queue (ready queue).

n

FIFO: Non preemptive

n Timbul masalah “waiting time” terlalu lama jika

didahului oleh proses yang waktu selesainya lama.

• Tidak cocok untuk time-sharing systems.

(12)

FCFS: too long to wait

n Example: Process Burst Time

P1 24

P2 3

P3 3

n Suppose that the processes arrive in the order: P1 , P2 ,

P3 : The Gantt Chart for the schedule is:

n Waiting time for P1 = 0; P2 = 24; P3 = 27

n Average waiting time: (0 + 24 + 27)/3 = 17

P1 P2 P3

24 27 30 0

(13)

FCFS Scheduling (Cont.)

Suppose that the processes arrive in the order

P

2

, P

3

, P

1

.

n

The Gantt chart for the schedule is:

n Waiting time for P1 = 6; P2 = 0; P3 = 3

n Average waiting time: (6 + 0 + 3)/3 = 3

• Much better than previous case.

P1 P3 P2 6 3 30 0

(14)

SJF Scheduling

n

Algoritma:

n Alokasikan CPU kepada proses dengan waktu

pemakaian CPU terpendek.

n Menghasilkan solusi optimal untuk: minimum. average

waiting time.

n Prasyarat terdapat informasi awal lamanya suatu jobs

(dari programmer atau log) => valid untuk batch jobs (long term scheduler).

n

Secara umum: sulit untuk melakukan prediksi

pemakaian CPU untuk suatu proses (short term

scheduler).

(15)

Shortest-Job-First (SJR)

n Prediksi suatu proses dengan panjang waktu CPU burst yang akan digunakan (CPU intensive atau I/O intensive).

n Gunakan “panjang waktu pemakaian CPU kelak” akan sama

dengan waktu pemakaina CPU-burst sebelumnya.

n Two schemes:

n Nonpreemptive – sekali CPU diberikan ke proses maka proses

tersebut tidak dapat disingkirkan sampai CPU burst selesai.

n Preemptive – jika terdapat proses baru dengan CPU burst lebih

kecil dibandingkan sisa waktu CPU proses “running” saat ini –

maka preempt proses tersebut => Shortest-Remaining-Time-First (SRTF).

(16)

SJF: min turnaround time

Process CPU Time

P0 x

P1 y

P2 z

P0 P1 P2

0 x x+y x+y+z

Avg. turnaround time = [ x + (x+y) + (x+y+z) ] / 3 To minimize: x < y < z

(17)

Priority Scheduling

n Algoritma:

n Setiap proses akan mempunyai prioritas (bilangan integer). n CPU diberikan ke proses dengan prioritas tertinggi (smallest

integer ≡ highest priority).

n Preemptive: proses dapat di interupsi jika terdapat prioritas lebih

tinggi yang memerlukan CPU.

n Nonpreemptive: proses dengan prioritas tinggi akan mengganti

pada saat pemakain time-slice habis.

n SJF adalah contoh priority scheduling dimana prioritas ditentukan

oleh waktu pemakaian CPU berikutnya.

n Problem ≡ Starvation

n low priority processes may never execute. n Solution ≡ Aging

(18)

Round Robin (RR)

n Setiap proses mendapat jatah waktu CPU (time

slice/quantum) tertentu misalkan 10 atau 100 milidetik.

n Setelah waktu tersebut maka proses akan di-preempt dan

dipindahkan ke ready queue.

n Adil dan sederhana.

n Jika terdapat n proses di “ready queue” dan waktu quantum q (milidetik), maka:

n Maka setiap proses akan mendapatkan 1/n dari waktu CPU.

n Proses tidak akan menunggu lebih lama dari: (n-1)q time units.

n Performance

n q large ⇒ FIFO

n q small q must be large with respect to context switch,

(19)

Example: RR (q=20)

Process Burst Time

P1 53 P2 17 P3 68 P4 24 Gantt chart: P1 P2 P3 P4 P1 P3 P4 P1 P3 P3 0 20 37 57 77 97 117 121 134 154 162

(20)
(21)

Varying The Quantum

n

Assuming context switch time is 3 msec

n

For a short quantum, Q = 15 msec:

overhead = 3 / (3 + 15) = 16.67 %

n

For a long quantum, Q = 97 msec:

overhead = 3 / (3 + 97) = 3 %

(22)

Multilevel Queues Scheduling

n

Kategori proses sesuai dengan sifat proses:

n Interaktif (response cepat) n Batch dll

n

Partisi “ready queue” dalam beberapa tingkat

(multilevel) sesuai dengan proses:

n Setiap queue menggunakan algoritma schedule

sendiri

n Foreground proses (interaktif, high prioritiy): RR

n Background proses (batch, low priority): FCFS

(23)
(24)

Mutlilevel scheduling

n

Scheduling must be done between the queues.

n Fixed priority scheduling; i.e., serve all from

foreground then from background. Possibility of starvation.

n Time slice – each queue gets a certain amount of CPU time which it can schedule amongst its processes; i.e.,

• 80% to foreground in RR

• 20% to background in FCFS

n

Proses kemungkinan dapat berpindah secara

dinamik dari satu queue ke queue lain.

(25)

Multilevel Feedback Queue

n

A process can move between the various

queues;

n

Perlu feedback untuk penentuan proses

naik/turun prioritasnya (dinamis):

n Aging dapat diimplementasikan sesuai dengan lama

proses pada satu queue.

n Suatu proses yang menggunakan CPU sampai habis

(tanpa I/O wait) => CPU-bound (bukan proses

interaktif) dapat dipindahk ke queue dengan prioritas lebih rendah

(26)
(27)

Example: Multilevel Feedback

n

Three queues:

n Q0 – time quantum 8 milliseconds n Q1 – time quantum 16 milliseconds n Q2 – FCFS

n

Scheduling

n A new job enters queue Q0 which is served FCFS.

When it gains CPU, job receives 8 milliseconds. If it does not finish in 8 milliseconds, job is moved to

queue Q1.

(28)

Multiple-Processor Scheduling

n

CPU scheduling more complex when multiple

CPUs are available.

n

Homogeneous processors within a

multiprocessor.

n

Load sharing

n

Asymmetric multiprocessing – only one

processor accesses the system data structures,

alleviating the need for data sharing.

(29)

Real-Time Scheduling

n

Hard real-time scheduling:

n Task kritis harus selesai dengan garansi waktu

tertentu

n OS akan melacak lamanya task tersebut dieksekusi

(real time):

• Mengetahui lama waktu system call, fungsi dan response dari hardware

• Melakukan prediksi apakah task tersebut dapat dijalankan.

n Mudah dilakukan untuk OS khusus pada

peralatan/pemakaian khusus (single task: control system)

(30)
(31)

Soft Real-Time Computing

n

Soft real-time scheduling:

n requires the use of a priority scheme n multimedia, highly interactive graphics n priority must not degrade over time

n small dispatch latency

• insert preemption points in long duration system calls

Referensi

Dokumen terkait

Theodore Peterson (dalam Rachmadi, 1990) mengatakan bahwa teori tanggung jawab sosial mendasarkan pada pandangannya kepada suatu prinsip bahwa ”kebebasan pers harus

Berdasarkan tabel di atas, penulis memilih dua jenis media yang terdiri dari presentasi digital dan booklet sebagai media company profile yang akan didesain. Berikut

Proses perlakuan permukaan bahan (surface treatment) dilakukan dengan teknik nitridasi ion karena dapat menghasilkan lapisan tipis nitrida metal, khususnya nitrida besi dan

b) Pemeriksaan atas kesesuaian klasifikasi, subklasifikasi, dan kualifikasi skema sertifikasi dengan klasifikasi asosiasi atau asosiasi-asosiasi pembentuknya, apabila asosiasi

Selain pencegahan Rawatan perubatan moden juga harus dijalankan.penyakit kanser boleh Diubati melalui pembedahan terutama kanser jenis ketumbuhan.Bahagian yang

Kode Kegiatan/ Output/ Sub Output/ Paket/ Sub Paket Vol Satuan Pemanfaat Tahun Atribut Kesiapan DED

Pada tahun 1985-1987 di desa Kali- kotes juga pernah dilakukan penelitian ten- tang peran serta masyarakat dalam penang- gulangan malaria melalui pengangkatan Tenaga

Keterkaitan penelitian ini dengan penelitian yang dilakukan oleh peneliti adalah sama-sama melihat pada pengelolaan budaya organisasi, sedangkan perbedaannya adalah peneliti