Showing posts with label OS. Show all posts
Showing posts with label OS. Show all posts

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

Scheduling pada Sistem Operasi Linux



Penjadwalan merupakan aktivitas untuk mengalokasi waktu dari CPU ke proses yang berbeda-beda dalam sebuah sistem operasi. Tidak hanya running proses dan interrupt proses, ada aspek lain yang penting pada Linux, yaitu running dari beberapa tugas kernel. Tugas kernel meliputi tugas yang diminta oleh running proses dan tugas yang dieksekusi secara internal untuk kepentingan device driver.

Linux memiliki dua algoritma proses penjadwalan. Yang pertama adalah time-sharing algoritma untuk penjadwalan yang adil dan preemptive diantara beberapa proses, sedangkan yang lain di desain untuk tugas-tugas realtime, dimana absolut prioritas adalah hal yang paling penting.
Algortima penjadwalan Linux adalah preemptive, berdasarkan prioritas yang ada dengan dua range prioritas yang terpisah (range real time dari 0-99, dan range lainnya dari 100-140). Dua range ini memetakan skema prioritas global dimana semakin kecil angka prioritasnya semakin tinggi prioritasnya.

Linux memberikan quantum waktu yang lebih panjang pada proses dengan prioritas tinggi dan sebaliknya. Sebuah proses dapat berjalan pada CPU jika proses tersebut memiliki waktu sisa pada slot waktu. Saat slot waktunya habis, proses tersebut dianggap kadaluarsa dan tidak akan dieksekusi sampai seluruh proses slot waktunya habis juga. Saat ini terjadi, list proses aktif akan menjadi kosong, maka list proses kadaluarsa akan menjadi aktif dan eksekusi akan dimulai kembali.

Penjadwalan real-time Linux mengimplementasikan dua penjadwalan real-time, yaitu First-Come, First-Served (FCFS) dan Round-Robin (RR). Setiap proses memiliki prioritasnya masing-masing. Penjadwal akan memilih proses dengan prioritas paling tinggi pada penjadwalan real-time. Jika ada dua proses dengan prioritas yang sama, maka penjadwal akan menjalankan proses yang telah menunggu paling lama.

Penjadwalan real-time Linux bersifat soft real-time. Pada algoritma soft real-time, fitur yang paling penting adalah merespon dengan segera sebuah proses real-time secepat proses yang dibutuhkan oleh CPU. Algoritma penjadwalan berdasarkan prioritas memberikan prioritas kepada masing-masing proses berdasarkan tingkat kepentingannya; proses yang lebih penting di berikan prioritas lebih tinggi daripada proses lain yang dianggap kurang penting. Apabila penjadwalan yang digunakan juga mendukung preemption dan tersedia sebuah proses berprioritas tinggi, maka proses ini akan dijalankan lebih dahulu mengingat prioritasnya yang tinggi.