Anda di halaman 1dari 22

Kelompok 53.

10

Real-Time Scheduling dan


Evaluasi Penjadualan

Anthony Steven (120300017X)


Anwar Chandra (1203000188)
Kritik dan Saran ke : anwarchandra@yahoo.com
Real-Time Scheduling

•Hard Real-Time
•Soft Real-Time
Hard Real-Time :
Wajib menyelesaikan tugas
penting tertentu! Dalam
rentang waktu yang pasti!
Scheduler Akan Melakukan :
Alokasi Sumber Daya!
Scheduler Akan Membutuhkan :
Informasi Selengkapnya!
Jaminan waktu eksekusi yang
tidak berubah mustahil
(di Secondary Storage atau Virtual
Memory……..)

MENGAPA?
Sistem-sistem ini
mengakibatkan variasi jumlah
waktu yang diperlukan untuk
menyelesaikan sebuah proses,
dimana variasi itu tidak dapat
diduga dan tidak dapat
diprediksi sebelumnya!
Karena itu………….
Hard Real-Time systems dibuat
untuk software dengan tujuan
yang khusus yang berjalan dalam
sebuah hardware untuk
menyelesaikan proses kritisnya.
Sebagai gantinya ini
menyebabkan Hard Real-Time
tidak menggunakan seluruh
kemampuan dari komputer
modern dan OS.
Soft Real-Time :
• Tidak Terlalu Mengikat
• Proses-proses yang kritis
mendapat prioritas lebih
Meskipun menimbulkan beberapa
masalah. Penerapan Soft Real-
Time system telah terbukti
mampu menghasilkan banyak
pencapaian dan kemajuan.
Implementasi Soft Real-Time
Memerlukan :
• Design scheduler yang cermat dan hati-hati
• Aspek-aspek yang terkait dari OS yang
bersangkutan harus mempunyai priority-
scheduling(sistem real-timenya harus
mempunyai prioritas tertinggi)
• Prioritas dari proses-proses Real-Time tidak
boleh menurun seiring dengan waktu
• Dispatch latency harus rendah
Masalah Latency :
Banyak OS, harus menunggu untuk
menyelesaikan sebuah system call atau
I/O Block, sebelum menyelesaikan
sebuah Context Switch .
Masalahnya adalah beberapa
System Calls itu rumit dan peralatan I/O
itu lambat.
SOLUSI:
Kita harus membuat system-calls
menjadi :

Preemptible!!!
Bagaimana??
• Memasukkan Preemption
Points di long – duration
System Calls
• Membuat seluruh kernel
menjadi preemptible
Bagaimana jika proses dengan
prioritas lebih tinggi perlu untuk
mengakses atau mengubah kernel
data yang sedang diakses oleh proses
lain yang lebih rendah prioritasnya?

Priority Inversion!
Kenyataannya, sebuah rantai proses-
proses dapat (semuanya) mengakses
sumber daya yang diperlukan oleh
proses-proses dengan prioritas
tinggi. Problem ini dapat dipecahkan
dengan cara :

Priority Inheritance
Protocol!
Evaluasi Penjadualan
• Deterministic model
• Simulations
• Queueing model
• Implementation
Deterministic model
Process Arrival Time Burst Time
P1 0 24
P2 2 3
P3 4 3

P1 P2 P3 P1 P2 P3 P1 P1 P1 P1 P1

0 24 27 30 0 4 7 10 14 18 22 26 30
FCFS: RR (q = 4):
average waiting time: average waiting time:
(0 + 22 + 23)/3 = 15 (6 + 2 + 3)/3 = 3.67
Scheduling algorithm evaluation (cont.)
Simulations

ƒ Memerlukan data statistik / barisan data untuk


menjalankan simulasi

ƒ Mahal, namun sering menghasilkan informasi yang


paling baik
Simulations (cont.)
Queuing models
ƒ Berbasis statistika dan memanfaatkan metode matematika
ƒ Mengumpulkan data dari real system di CPU bursts, I/O bursts,
dan process arrival times

• Little’s formula: N = L * W
• dimana N > jumlah proses dalam queue
• L > besar process arrival rate
• W > wait time dari sebuah proses

• Memakai asumsi (randomly arriving jobs, random lengths):


• response_time = service_time/(1-utilization)

ƒ Memiliki metode yang kuat, namun terlalu kompleks


Implementation

Just do it!

Dan silakan anda


membandingkan secara langsung
Copyright Status :
Slide-Slide Presentasi ini dapat
ditampilkan, diperbanyak,
dimodifikasi, dan disebarluaskan
untuk tujuan pendidikan saja! (for
educational purposes only)

Anda mungkin juga menyukai