3. 01 Apa itu Penjadwalan CPU
Mengapa dibutuhkan Penjadwalan CPU
02
Komponen Utama Pengatur Penjadwalan CPU
03
Kriteria Penjadwalan CPU
04
Algoritma Penjadwalan CPU
05
4. Penjadwalan CPU adalah proses pengaturan urutan eksekusi dari
berbagai proses di dalam CPU yang menentukan performa
keseluruhan sistem dengan memungkinkan alokasi sumber daya
CPU kepada proses-proses secara efisien, menjadi dasar dari
multiprogramming. Dengan kebijakan penjadwalan yang tepat,
sistem dapat mengoptimalkan penggunaan sumber daya CPU,
menghindari kepenuhan, dan memastikan respons sistem
terhadap permintaan pengguna berjalan dengan baik.
5. Penjadwalan CPU dibutuhkan karena mengatur akses CPU yang
terbatas untuk proses-proses dalam sistem komputer, mencegah
inefisiensi, kepenuhan, atau deadlock. Dengan mengatur urutan
eksekusi proses, penjadwalan CPU memastikan penggunaan sumber
daya yang optimal, menjaga kinerja sistem, dan mendukung
multiprogramming untuk meningkatkan produktivitas.
6. CPU Scheduler
Komponen ini bertanggung jawab untuk memilih proses mana yang akan
dieksekusi selanjutnya saat CPU menganggur. Juga dikenal sebagai short-term
scheduler, tugasnya adalah memilih proses-proses yang berada dalam memori
utama (ready queue) untuk mendapatkan alokasi CPU.
Dispatcher adalah modul yang memberikan kontrol pada CPU terhadap proses
yang telah dipilih oleh CPU scheduler untuk dieksekusi. Tugasnya termasuk
menyiapkan lingkungan eksekusi untuk proses yang dipilih dan memindahkan
kontrol CPU ke proses tersebut untuk menjalankan instruksi-instruksinya.
Dispatcher
7. Algoritma penjadwalan CPU memiliki berbagai properti yang berbeda, sehingga pemilihan
algoritma harus mempertimbangkan properti-properti khusus dari masing-masing algoritma.
Kriteria yang digunakan untuk membandingkan algoritma penjadwalan CPU meliputi:
CPU Utilization
CPU diharapkan selalu sibuk untuk
memaksimalkan utilitasnya, yang diukur
dalam persentase antara 0% hingga
100%. Namun, dalam kenyataannya,
utilitas CPU biasanya hanya berkisar
antara 40% hingga 90%.
Throughput
Adalah banyaknya proses yang selesai
dikerjakan dalam satu satuan waktu.
Turnaround Time
Banyaknya waktu yang diperlukan untuk
mengeksekusi proses, dari mulai
menunggu untuk meminta tempat di
memori utama, menunggu di ready queue,
eksekusi oleh CPU, dan mengerjakan I/O.
Waiting Time
Waktu yang diperlukan oleh
suatu proses untuk menunggu
di ready queue. Waiting time ini
tidak mempengaruhi eksekusi
proses dan penggunaan I/O.
Response Time
Waktu yang dibutuhkan oleh suatu
proses dari minta dilayani hingga ada
respon pertama yang menanggapi
permintaan tersebut.
Fairness
Meyakinkan bahwa tiap-tiap
proses akan mendapatkan
pembagian waktu penggunaan
CPU secara terbuka (fair)
8. Penjadwalan CPU menyangkut penentuan proses-proses
yang ada dalam ready queue yang akan dialokasikan pada
CPU. Terdapat beberapa algoritma penjadwalan CPU seperti
dijelaskan pada slide selanjutnya
9. 1
Proses yang pertama kali meminta jatah waktu untuk menggunakan CPU akan dilayani
terlebih dahulu. Pada skema ini, proses yang meminta CPU pertama kali akan
dialokasikan ke CPU pertama kali (Mirip seperti algoritma FIFO).
11. 2
Pada penjadwalan SJF, proses yang memiliki CPU burst paling kecil dilayani terlebih
dahulu. Terdapat dua skema :
1. Non Preemptive, bila CPU diberikan pada proses, maka tidak bisa ditunda sampai
CPU burst selesai.
2. Preemptive, jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa
waktu proses yang saat itu sedang dieksekusi, proses ini ditunda dan diganti dengan
proses baru. Skema ini disebut dengan Shortest-RemainingTime-First (SRTF).
SJF adalah algoritma penjadwalan yang optimal dengan rata-rata waktu tunggu yang
minimal.
14. 3
Pada algoritma ini tiap-tiap proses dilengkapi dengan nomor prioritas (integer). CPU
dialokasikan untuk proses yang memiliki prioritas paling tinggi (nilai integer terkecil
biasanya merupakan prioritas terbesar). Jika beberapa proses memiliki prioritas yang
sama, maka akan digunakan algoritma FCFS. Penjadwalan berprioritas terdiri dari dua
skema yaitu non preemptive dan preemptive.
16. 3
Algoritma time-sharing merupakan konsep dasar dari algoritma Round Robin, mirip
dengan FCFS tetapi bersifat preemptive. Setiap proses diberi waktu CPU yang disebut
waktu quantum untuk membatasi waktu proses, biasanya 1-100 milidetik. Jika proses
selesai lebih cepat dari waktu quantum, CPU akan segera digunakan oleh proses lain.
Namun, jika proses memiliki CPU burst lebih besar dari waktu quantum, proses akan
dihentikan setelah waktu quantum dan mengantri kembali pada ready queue. CPU
kemudian menjalankan proses berikutnya.
18. Dalam penjadwalan CPU, CPU Scheduler memilih
proses dari antrian siap untuk dieksekusi,
sedangkan Dispatcher menyalurkan CPU kepada
proses yang telah dipilih. Beberapa algoritma
penjadwalan CPU yang dibahas termasuk First
Come First Served, Shortest Job First, Priority
Scheduling, dan Round Robin. Penjadwalan CPU
adalah elemen kunci dalam sistem operasi yang
memengaruhi kinerja dan responsivitas sistem
secara keseluruhan. Pemilihan algoritma
penjadwalan CPU yang tepat perlu
mempertimbangkan kebutuhan sistem serta
karakteristik dan kelebihan masing-masing
algoritma.