Thursday, October 9, 2014

Scheduling pada Sistem Operasi Windows XP



Windows XP menggunakan algoritma prioritas penjadwalan quantum. Jumlah thread yang dibuat oleh process dapat berjumlah lebih dari satu. Thread-thread yang dibuat oleh process harus dapat dijalankan sesuai dengan kebutuhan process tersebut. Tugas sistem operasi untuk mengatur dan melakukan penjadwalan agar thread-thread yang dibutuhkan mendapat waktu yang cukup untuk dieksekusi oleh CPU.

Windows XP dalam melakukan penjadwalan thread memakai pendekatan prioritas dan bersifat preemptive. Thread dengan prioritas tertinggi sudah pasti dijalankan lebih dulu dan dapat menghentikan/menginterupsi jalannya thread lain dengan prioritas lebih rendah. Ketika menggunakan CPU thread menghabiskan sejumlah waktu, ini disebut dengan quantum. Quantum adalah sejumlah waktu yang diberikan kepada thread untuk menggunakan CPU. Sifat penjadwalan windows yang preemtive memungkinkan suatu thread untuk diinterupsi, meskipun waktu quantumnya belum habis.

Windows XP menggunakan algoritma prioritas penjadwalan quantum-based yang berbasis preemptive priority scheduling. Terdapat 6 kemungkinan state dari sebuah thread, yaitu ready, standby, running, waiting, transition dan terminated. Ready state yaitu thread yang siap untuk dieksekusi. Thread yang berada pada ready state dengan prioritas tertinggi akan berpindah menjadi standby state. Ketika thread dieksekusi, thread tersebut berada pada running state. State waiting dimasuki thread ketika thread menunggu untuk dijadwalkan ulang. Ketika thread akan dieksekusi tetapi sumber daya yang diperlukan belum tersedia, maka thread tersebut akan berpindah pada state transition. Terminated state dimasuki thread ketika thread selesai dieksekusi.

Threads yang berjalan selalu dengan tingkat prioritas tertinggi. Jika tidak ada thread yang ready, Threads idle dijalankan. Ketika waktu quantum thread habis, prioritasnya diturunkan, tetapi prioritasnya tidak pernah diturunkan terlalu jauh. Ketika Threads menjadi ready setelah waiting state, maka diberikan prioritas tertinggi setiap threads dari proses yang terkait dengan program yang saat ini user gunakan diberikan prioritas lebih.

Sumber: http://rendikurniawandi.blogspot.com/2011/08/penjadwalan-proses-pada-windows-xp.html