Penjadwalan CPU
Penjadwalan CPU
adalah pemilihan proses dari antrian ready untuk dapat dieksekusi.
Penjadwalan CPU merupakan konsep dari multiprogramming, dimana CPU
digunakan secara bergantian untuk proses yang berbeda. Suatu proses
terdiri dari dua siklus yaitu Burst I/O dan Burst CPU yang dilakukan
bergantian hingga proses selesai. Penjadwalan CPU mungkin dijalankan
ketika proses:
- running ke waiting time
- running ke ready state
- waiting ke ready state
- terminates
Proses 1 dan 4
adalah proses Non Preemptive, dimana proses tersebut tidak bisa di-
interrupt, sedangkan 2 dan 3 adalah proses Preemptive, dimana proses
boleh di interrupt.
Pada saat CPU
menganggur, maka sistem operasi harus menyeleksi proses-proses yang ada
di memori utama (ready queue) untuk dieksekusi dan mengalokasikan CPU
untuk salah satu dari proses tersebut. Seleksi semacam ini disebut
dengan shortterm scheduler (CPU scheduler).
Komponen yang lain dalam penjadwalan CPU adalah dispatcher, Dispatcher adalah suatu modul yang akan memberikan kontrol pada CPU terhadap penyeleksian proses yang dilakukan selama short-term scheduling . Waktu yang diperlukan oleh dispatcher untuk menghentikan suatu proses dan memulai proses yang lain disebut dengan dispatch latency.
Jika dalam suatu proses Burst CPU jauh lebih besar daripada Burst I/O maka disebut
CPU Bound. Demikian juga sebaliknya disebut dengn I/O Bound.
Komponen yang lain dalam penjadwalan CPU adalah dispatcher, Dispatcher adalah suatu modul yang akan memberikan kontrol pada CPU terhadap penyeleksian proses yang dilakukan selama short-term scheduling . Waktu yang diperlukan oleh dispatcher untuk menghentikan suatu proses dan memulai proses yang lain disebut dengan dispatch latency.
Jika dalam suatu proses Burst CPU jauh lebih besar daripada Burst I/O maka disebut
CPU Bound. Demikian juga sebaliknya disebut dengn I/O Bound.
First
Come First Served (FCFS)
Algoritma ini adalah algoritma yang paling
sederhana. Prinsip dari algoritma ini adalah seperti prinsip antrian (antrian
tak berprioritas), halaman yang masuk lebih dulu maka akan keluar lebih dulu
juga. Algoritma ini menggunakan struktur data stack. Apabila tidak ada
frame kosong saat terjadi page fault, maka korban yang dipilih
adalah frame yang berada distack paling bawah, yaitu halaman
yang berada paling lama berada di memori.
Kelebihan :
algoritma yang paling sederhana, dengan skema proses yang meminta CPU mendapat prioritas.
Kelemahan :
Terjadi convoy effect dimana seandainya ada sebuah proses yang kecil tetapi mengantri dengan proses yang membutuhkan waktu yang lama mengakibatkan proses tersebut akan lama juga untuk
dieksekusi.algoritma yang paling sederhana, dengan skema proses yang meminta CPU mendapat prioritas.
Kelemahan :
Terjadi convoy effect dimana seandainya ada sebuah proses yang kecil tetapi mengantri dengan proses yang membutuhkan waktu yang lama mengakibatkan proses tersebut akan lama juga untuk
Contoh Kasus :
Bust Time : 8+7+10+6 = 31
Gant Chart : Dalam kasus ini Proses yang Arrival Timesnya paling kecil dikerjakan duluan, dalam kasus ini P1 yang paling kecil, maka duluan masukkan Grant Chart dan seterusnya
Sehingga Average Wating Time adalah 7 ms
Berikut Scernshoot programnya :
Untuk melihat source code programnya klik di SINI !!!
atau jika ingin file lengkapnya klik di SINI untuk download !!!
Program ini
telah di buat dan diselesaikan oleh penulis beserta anggota kelompok
penulis, dimana artikel ini bertujuan untuk menyelesaikan tugas mata
kuliah Sistem Operasi yang telah diberikan oleh Dosen.
Penulis
sangat berterima kasih atas dukungan dari teman-teman dan dosen yang
selama ini telah mengajarkan dan membantu mengenai Program penjadwalan
ini.




sama" smoga dpat membantu ;)
ReplyDeleteyuhuu...bermanfaat sekali
ReplyDeletesolder uap