• Sistem Operasi
• PENJADWALAN PROSES
Penjadwalan Proses
Penjadwalan merupakan kumpulan
kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan
urutan kerja yang dilakukan sistem komputer
Sasaran atau tujuan utama penjadwalan proses optimasi kinerja menurut kriteria tertentu
KONSEP PENJADWALAN
Konsep dari Multiprogramming :
–
Suatu proses akan menggunakan CPU sampai proses
tersebut dalam status “wait” (misal : meminta I/O) selesai
–
Pada saat “wait” à CPU akan menganggur, untuk
mengatasi hal ini à
CPU dialihkan ke proses lain yang berstatus “ready”
–
Tujuan dari Multiprogramming adalah :
–
Untuk memaksimalkan penggunaan CPU dengan cara
mengatur alokasi waktu yang digunakan oleh CPU untuk memperkecil waktu idle
•
Penjadwalan bertugas memutuskan hal-hal berikut
:
•
Proses yang harus berjalan
•
Kapan dan selama berapa lama proses berjalan
•
Kriteria Penjadwalan
•
Adil (Fairness)
•
Efisiensi
•
Waktu Tanggap (Respon Time)
•
Turn Arround Time
•
Throughput
•
Kriteria Penjadwalan : Adil (Fairness)
•
Proses-proses mendapatkan jatah waktu layanan
pemroses yang sama
•
Tidak ada proses yang tidak kebagian layanan
pemroses (Startvasion)
•
STARVASION : kondisi bahwa proses
tidak pernah berjalan karena tidak dijadwalkan untuk berjalan
•
Sasaran : Menjamin setiap proses mendapat
pelayanan dari pemroses secara adil
•
Kriteria Penjadwalan : Efisiensi
•
Pemrosesan yang dihitung dengan perbandingan
(rasio) waktu sibuk pemroses dengan total waktu operasi sistem komputer secara
keseluruhan
•
Sasaran : menjaga agar pemroses tetap dalam
keadaan sibuk sehingga efisiensi sistem komputer mencapai nilai maksimum
•
Kriteria Penjadwalan : Waktu Tanggap (Respon
Time)
•
Waktu Tanggap Pada Sistem Interaktif :
Sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah
dimasukan oleh program atau transaksi sampai hasil pertama muncul di perangkat
masukan/keluaran. Disebut juga TERMINAL RESPONSE TIME
•
Waktu Tanggap Pada Sistem Waktu Nyata :
waktu dari saat kemunculan suatu kejadian sampai instruksi pertama rutin
layanan kejadian dieksekusi. Disebut juga EVENT RESPONSE TIME
•
Kriteria Penjadwalan : Turn Arround Time
•
Waktu yang dihabiskan dari saat proses atau job
mulai masuk ke sistem sampai proses itu diselesaikan sistem
•
Waktu yang dimaksud adalah waktu yang dihabiskan
proses berada dalam sistem.
Turn Arround Time =
Waktu Eksekusi + Waktu Menunggu
•
Kriteria Penjadwalan : Throughput
•
Jumlah kerja yang dapat diselesaikan selama satu
selang/unit waktu
•
Sasaran : meminimalkan turn arround time
•
Sasaran Berdasarkan Kriteria
•
Menjamin tiap proses mendapat pelayanan dari
pemroses yang adil.
•
Menjaga agar pemroses tetap dalam keadaan sibuk
sehingga efisiensi mencapai maksimum. Pengertian sibuk adalah pemroses tidak
menganggur, termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai
dan sistem operasi
•
Meminimalkan waktu tanggap
•
Meminimalkan turn arround time
•
Memaksimalkan jumlah job yang diproses persatu
interval waktu. Lebih besar
•
angka throughput, lebih banyak kerja yang
dilakukan sistem
•
Bentuk penjadwalan
•
Antrian
•
Penjadwal (scheduler)
•
Context switch
•
Antrian
penjadwalan
•
Queue Scheduling dapat diklasifikasikan dalam 3
kategori :
–
Job Queue
•
Antrian berisi semua proses yang masuk dalam
sistem
–
Ready Queue
•
Proses yang berada pada memori utama, siap dan
menunggu untuk dieksekusi
–
Device Queue
•
Deretan proses yang sedang menunggu peralatan
I/O
•
Tiap peralatan I/O memiliki device queue
Antrian penjadwalan
–
Setiap antrian disimpan sebagai linked list dan
berisi pointer awal dan akhir PCB.
–
Tiap PCB memiliki suatu pointer menunjuk ke
proses selanjutnya pada antrian
•
Antrian penjadwalan
–
Proses baru mula-mula diletakkan di ready queue
dan menunggu sampai dipilih untuk dieksekusi (dispatched) CPU
–
Ketika proses dialokasikan CPU dan dieksekusi,
terjadi satu dari event berikut :
•
Proses meminta I/O dan kemudian ditempatkan pada
I/O queue
•
Proses membuat sub proses baru dan menunggu
diterminasi
•
Proses dihapus dari CPU karena diinterrupt dan
dikembalikan ke ready queue
•
PENJADWALAN
–
Penjadwalan proses dapat direpresentasikan
secara umum dalam bentuk diagram :
•
SCHEDULER (PENJADWAL)
•
Bagaimana schedulers memilih proses atau program
(decision)?
•
Ada 3 tipe Scheduler :
–
Long Term Scheduler (Job Scheduler)
–
Short Term Scheduler (CPU Scheduler)
–
Medium Term Scheduler
•
SCHEDULER (PENJADWAL)
•
Long Term Scheduler (Job Scheduler)
–
Menyeleksi proses-proses mana yang harus
dimasukkan ke dalam ready queue dan membawanya ke memori untuk dieksekusi
–
Long Term Scheduler mengeksekusi lebih jarang,
dibutuhkan beberapa menit untuk pembuatan proses baru dalam sistem
–
Long Term Scheduler à mengontrol jumlah proses
dalam memori (degree of multiprogramming)
•
SCHEDULER (PENJADWAL)
•
Short Term Scheduler (CPU Scheduler)
–
Menentukan proses mana yang selanjutnya akan
dieksekusi dan mengalokasikan CPU untuk proses tersebut,
–
Sort Term Scheduler à lebih sering dipanggil (hanya
dalam waktu milisecond)
–
Karena durasi yang pendek antara eksekusi, short
Term Scheduler harus sangat cepat
•
SCHEDULER (PENJADWAL)
•
Medium Term Scheduler
–
Penjadwal ini akan menguntungkan untuk
memindahkan proses dari memori à
jumlah proses dalam memori akan berkurang
–
Skema Medium Term Scheduler disebut swapping.
Swapping
diperlukan untuk meningkatkan mutu penggabungan proses (karena perubahan dalam
kebutuhan memori yang mengakibatkan memori harus dibebaskan)
•
CONTEXT SWITCH
•
Pada saat CPU beralih ke proses lain, sistem
harus menyimpan state dari proses lama dan mengambil state dari proses yang
baru.Pekerjaan ini disebut : “Context Switch”
•
CONTEXT SWITCH
•
Context Switch sebuah proses direpresentasikan
dalam PCB dari suatu proses à
nilai dari CPU register, status proses, informasi manajemen memori
•
Waktu context switch mempunyai kecepatan
bervariasi (biasanya berkisar 1 – 1000ms) tergantung:
–
Kecepatan memori
–
Jumlah register yang dicopy
–
Ada atau tidaknya instruksi khusus (misal :
instruksi tunggal untuk mengisi atau menyimpan seluruh register)
•
Strategi Penjadwalan
•
NonPreemptive
•
Begitu proses diberi jatah layanan maka pemroses
tidak dapat diambil oleh proses lain sampai proses itu selesai
•
Preemptive
•
Begitu proses diberi jatah layanan, maka
pemroses dapat diambil alih proses lain yang mempunyai perioritas lebih tinggi
berdasarkan kriteria
DOWNLOAD PPT SELENGKAPNYA

