CPU Scheduling
por Calvin and Hobbes
1. CPU scheduling adalah konsep utama dalam multitasking komputer, sistem operasi multiprocessing, desain operasi real-time. Scheduling artinya bagaimana suatu proses dibagikan ke bagian CPU agar bisa berjalan, dikarenakan banyaknya proses yang berjalan daripada CPUnya.
2. Di sistem processor tunggal, hanya satu proses yang dapat berjalan dalam satu waktu; artinya proses lain harus menunggu untuk proses CPU itu selesai. Tujuan multiprogramming cpu scheduling ini untuk membuat semua proses berjalan di waktu yang bersamaan untuk memaksimalkan pemanfaatan CPU (Optimization).
3. Priority Scheduling merupakan prioritas yang diasosiakan antar proses, dan CPU yang dialokasikan di proses memiliki prioritas yang paling tinggi.
3.1. Prioritas yang memiliki status sama ditaruh ke order FCFS
3.2. SJF algoritma artinya prioritas algoritma yang dimana prioritas adalah kebalikan dari ledakan proses CPU (CPU burst) yang diprediksikan, semakin besar CPU burst, semakin rendah statusnya di prioritas CPU.
4. Multiple-Processor Scheduling
4.1. 1. Ketika Multi processor ada, scheduling lalu akan lebih rumit, karena sekarang ada lebih dari CPU yang artinya harus disibukkan agar efektif digunakan setiap saat.
4.2. 2. Load sharing dibutuhkan untuk menyeimbangkan tugas antara multi processor.
4.3. 3. Mutli processor dapat bersifat heterogen (CPU yang memiliki tipe berbeda-beda) atau homogen (semua CPU bertipe sama)
5. Multilevel Queue Scheduling, dibuat untuk situasi yang prosesnya mudah untuk diklasifikasikan dalam grup. Karakteristiknya seperti ini :
5.1. 1. Proses dibagi ke queue yang berbeda tergantung tipenya. Tiap proses akan permanen didaftarkan dalam satu queue, seperti sistem proses, proses interaktif, sistem batch, proses end user, ukuran memori, prioritas proses, dan tipe proses.
5.2. 2. Tiap queue memiliki algoritma scheduling sendiri. Contohnya proses interaktif mungkin akan cenderung menggunakan metode scheduling round robin, Sementara batch job akan menggunakan metode FCFS
6. Kesuksesan CPU scheduling tergantung dari property proses yang diobservasi : eksekusi proses terdiri dari cycle eksekusi dari CPU dan I/O wait.
7. CPU Scheduling intinya adalah program yang mensimulasikan beberapa algoritma scheduling:
7.1. 1. FCFS (First Come First served)
7.1.1. algoritma termudah adalah FCFS, implementasinya mirip dengan FIFO. Ketika suatu proses masuk, PCB akan menghubungkan dengan ujung antrian. Yang pada akhirnya ketika CPU kosong, prosesnya kepalanya akan dialokasikan dalam antrian.
7.2. 2. SJF (Shortest Job First)
7.3. 3. SRTF (Shortest Remaining Time First)
7.4. 4. Priority Scheduling
7.5. 5. Round - Robin
7.5.1. Yang terpopuler, adalah algoritma scheduling yang didesain terutama untuk sistem timesharing. Mirip seperti FCFS, tetapi preemption ditambahkan untuk switch antara proses.