os211

Top 10 List of Week 08

1. CPU Scheduling

Sesuai dengan namanya, CPU scheduling pada dasarnya digunakan untuk melakukan penjadwalan eksekusi proses-proses. Tujuan dari CPU scheduling ini ialah untuk membuat sistem lebih efisien dan cepat.

2. Preemptive and Non-Preemptive Scheduling

Preemptive scheduling digunakan ketika sebuah proses berganti dari running state ke ready state atau dari waiting state ke ready state, sementara non-preemptive scheduling digunakan ketika sebuah proses berakhir atau berganti dari running ke waiting state. Pada link ini juga dijelaskan mengenai perbedaan lain antara kedua tipe scheduling ini.

3. Operating System Scheduling algorithms

Terdapat banyak algoritma scheduling seperti yang sudah dijelaskan di buku, pada link ini, algoritma-algoritma tersebut dijelaskan lebih ringkas sehingga lebih mudah dimengerti.

4. Scheduling Criteria

Seperti yang kita tahu, terdapat banyak algoritma scheduling yang memiliki cara berbeda dalam melakukan penjadwalan pada CPU. Terdapat beberapa kriteria yang dapat kita gunakan dalam memilih algoritma scheduling, kriteria tersebut adalah CPU utilization, throughput, turnaround time, waiting time, dan response time.

5. Thread Scheduling

Pada bab sebelumnya, kita mengenal thread pada proses model, selain itu kita juga membedakan antara user-level dan kernel-level thread. Pada scheduling, kita juga dapat menggunakan kedua thread ini. Proses yang dilakukan dapat dilihat pada link tersebut.

6. Multiple Processor Scheduling

Multiprocessor scheduling berfokus untuk mengatur penjadwalan pada sistem yang memiliki lebih dari satu prosesor. Multiprocessor scheduling dapat dilakukan dengan 2 cara yaitu asymmetric multiprocessor scheduling dan symmetric multiprocessor scheduling.

7. Scheduling in Real Time Systems

Real-time system adalah sistem yang menjalankan tugas secara real-time. Pada real-time system, scheduler dianggap sebagai komponen terpenting yang biasanya merupakan short-term task scheduler.

8. Scheduling in Linux

Linux menggunakan Completely Fair Scheduler (CFS) sebagai algoritma scheduling-nya. Dengan CFS, setiap task diberikan bagian yang adil dari sumber daya prosesor dengan cara yang tidak rumit tetapi sangat efisien.

9. Algorithm Evaluation

Kita tahu bahwa ada banyak CPU scheduling algorithm dengan masing-masing parameter yang dimiliki, kita dapat menentukan algoritma mana yang cocok untuk suatu sistem dengan mendefinisikan kriteria seperti yang sudah dibahas sebelumnya. Setelah itu, untuk mengevaluasi algoritma yang dipilih, kita dapat menggunakan metode-metode evaluasi yang dijelaskan pada link di atas.

10. Dispatcher vs Scheduler

Schedulers merupakan spesial system software yang menangani proses scheduling untuk menentukan proses mana yang akan dijalankan. Selain scheduler, terdapat istilah lain yang disebut dispatcher. Dispatcher ini yang akan membawa proses dari scheduler ke state/queue yang diinginkan.