Konsep
Dasar Penjadwalan Proses
Penjadwalan
adalah fungsi dasar dari sistem operasi semua resources komputer dijadwalkan
sebelum digunakan. Pada sistem komputer terdapat beberapa bentuk penjadwalan:
admission (pintu masuk kesistem ), memori, dan CPU scheduler. Penjadwalan CPU
adalah pemilihan proses dari Ready Queue untuk dapat dieksekusi. Penjadwalan
CPU didasarkan pada sistem operasi yang menggunakan prinsip Multiprogramming.
Penjadwalan bertugas memutuskan :
- · Proses yang harus berjalan.
- · Kapan dan selama berapa lama proses itu berjalan.
Kita mengenal istilah multiprograming, yang
bertujuan untuk memaksimalkan penggunaan CPU dengan cara mengatur alokasi waktu
yang digunakan oleh CPU, sehingga proses berjalan sepanjang waktu dan
memperkecil waktu idle. Akibatnya sistem operasi dapat membuat komputer
lebih produktif. Oleh karena itu perlu adanya penjadwalan proses-proses yang
ada pada sistem.
Penjadwalan CPU adalah suatu proses pengaturan atau
penjadwalan proses-proses yang ada di dalam komputer. Dimana proses-proses
tersebut berjalan dalam pola yang disebut Siklus Burst yang akan
dijelaskan pada bab ini.
Penjadwalan CPU secara garis besar dibagi menjadi 2,
yaitu PenjadwalanPreemptive dan Penjadwalan Non Preemptive. kriteria
yang baik bagi suatu konsep penjadwalan dan penjelasan mengenai dispatcher, yaitu suatu
komponen yang turut terlibat dalam penjadwalan. Penjadwalan sangat penting
dalam menentukan performance sebuah komputer karena mengatur alokasi resource dari
CPU untuk menjalankan proses-proses di dalam komputer. Penjadwalan CPU
merupakan suatu konsep dasar darimultiprograming, karena dengan adanya
penjadwalan dari CPU itu sendiri maka proses-proses tersebut akan mendapatkan
alokasi resource dari CPU.
CPU Scheduler
Pada
saat CPU menganggur, maka sistem operasi yang harus menyeleksi proses-proses
yang ada di memori utama(rady queue),untuk di eksekusi dan mengalokasikan CPU
untuk salah satu dari proses tersebut,Seleksi semacam ini di sebut dengan short
term scheduler(CPU scheduler).
1 Apabila proses berpindah dari keadaan
ruuning ke waiting
2 Apabila proses berpindah dari keadaan
ruuning ke ready
3 Apabila proses berpindah dari keadaan
waiting ke ready
4 Apabila proses berhenti
Dispatcher
Dispatcher adalah suatu
modul yang akan memberikan kontrol pada CPU terhadap penyelesaian proses yang
di lakukan selama short-term scheduling.
KRITERIA
PENJADWALAN
Algoritma
penjadwalan CPU yang berbeda akan memiliki perbedaan properti,sehingg untuk
memiliki algoritma ini harus di pertimbangkan duluh properti-properti algoritma
tersebut.
1. CPU
utilization: Diharapkan agar CPU selalu dalam keadaan sibuk
2. Throughput: Throughput
adalah banyaknya proses yang selesai di kerjakan dalam satu satuan waktu
3. Turnaround
time: Banyaknya waktu yang di perlukan untuk mengeskusi proses,dari mulai
menunggu untuk memerintah tempat di memori utama,menunggu di ready queue,eksekusi
oleh CPU,dan mengerjakan I/O samapi semua proses-proses tersebut diselesaikan.
4. Waiting
time: Waktu yang di perlukan oleh suatu proses untuk menunggu di ready
queue
5. Response
time: Waktu yang di butuhkan oleh suatu proses dari minta di layani hingga
ada respont pertama yang menanggapi permintaan tersebut
6. Fairness . Suatu
algoritma harus memperhatikan pengawasan nilai prioritas dari suatu proses
(menghindari terjadinya starvation CPU time).
7. Efisiensi. Rendahnya overhead dalam context
switching, penghitungan prioritas dan sebagainya menentukan apakah suatu
algoritma efisien atau tidak.
Sebaiknya ketika kita
akan membuat algoritma penjadwalan yang dilakukan adalah memaksimalkan CPU
utilization dan throughput, dan meminimalkanturnaround time, waiting
time, dan response time.
Algoritma
Penjadwalan : First Come First Server (FCFS)
Pertama datang, pertama
dilayani (First In, First Out atau FIFO) tidak peduli apakah burst time nya panjang
atau pendek, sebuah proses yang sedang dikerjakan diselesaikan terlebih dulu
barulah proses berikutnya dilayani.
Penjadwalan FCFS merupakan penjadwalan:
·
Penjadwalan non-prevebtive
(run-to-completion)
·
Penjadwalan tidak berprioritas
Ketentuan dari
penjadwalan FCFS adalah:
·
Proses-proses diberi jatah waktu
pemroses, diurut dengan waktu kedatangannya.
·
Begitu proses mendapat jatah waktu
pemproses, proses dijalankan sampai proses tersebut selesai, walaupun ada
proses lain yang datang, proses tersebut berada dalam antrian sistem atau
disebut dengan ready queue.
Pada
dasarnya algoritma penjadwalan ini cukup adil dalam hal bahasa, karena proses
yang datang lebih dulu dikerjakan terlebih dahulu. Dari segi konsep sistem
operasi, penjadwalan model ini tidak adil karena proses-proses yang membutuhkan
waktu yang lama membuat proses-proses yang memiliki waktu proses yang lebih
pendek menunggu sampai proses yang lama tersebut selesai, sedangkan proses-proses
yang tidak penting membuat proses penting menunggu.
Penjadwalan
FCFS cocok digunakan untuk sistem batch yang sangat jarang melakukan interaksi
dengan user secara langsung, tapi tidak cocok digunakan untuk sistem interaktif
karena tidak memberi waktu tanggap yang bagus, begitu juga dengan waktu sistem
nyata.
Algoritma
Penjadwalan : Shortest Job First (SJF)
Dalam
Sistem Operasi dikenal istilah multiprograming, yang bertujuan
untuk memaksimalkan penggunaan CPU dengan cara mengatur alokasi waktu yang
digunakan oleh CPU,sehingga proses berjalan sepanjang waktu dan memperkecil
waktu idle. Oleh karena itu perlu adanyapenjadwalan proses-proses yang ada pada
sistem. Untuk sistem yang hanya mempunyai prosesortunggal (uniprosesor), hanya
ada satu proses yang dapat berjalan setiap waktunya. Jika ada proseslebih dari
satu maka proses yang lain harus menunggu sampai CPU bebas dan siap untuk
dijadwalkankembali.
Penjadwalan
berkaitan dengan permasalahan memutuskan proses mana yang akandilaksanakan
dalam suatu sistem. Proses yang belum mendapat jatah alokasi dari CPU akan
mengantridi ready queue. Algoritma penjadwalan berfungsi untuk menentukan
proses manakah yang adadi ready queue yang akan dieksekusi oleh CPU. Bagian
berikut ini akan memberikan ilustrasialgoritma penjadwalan Shortest Job First.
Pada
algoritma ini setiap proses yang ada di ready queue akan dieksekusi berdasarkan
burst time terkecil. Hal ini mengakibatkan waiting time yang pendek untuk
setiap proses dan karena haltersebut maka waiting time rata-ratanya juga
menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma
yang optimal.
Sumber :
Tidak ada komentar:
Posting Komentar