Scheduling Dalam Komputer
Nama Mata
Kuliah : Network Operating System
Nama Dosen : I Putu Agus Eka Pratama, S.T.,
M.T
Jurusan : Teknologi Informasi
Fakultas : Teknik
Universitas : Universitas Udayana
Pertemua :3
Apakah teman-teman pernah membuat suatu jadwal? Untuk apa
jadwal itu dibuat? Umumnya, jadwal dibuat agar memudahkan kita untuk melakukan
sesuatu secara berurutan dan benar. Dalam dunia komputer juga sama, komputer
juga memiliki penjadwalan agar kegiatan-kegiatan komputasi yang kita lakukan
berjalan dengan baik dan benar.
DEFINISI SCHEDULING
Scheduling atau penjadwalan adalah kegiatan
pengalokasian sumber-sumber atau mesin-mesin yang ada untuk menjalankan
sekumpulan tugas dalam jangka waktu tertentu. Dalam komputer, scheduling adalah
satu atau beberapa buah aturan, mekanisme, dan prosedur di
dalam sistem operasi
(melibatkan kernel, aplikasi,
process) terkait dengan urutan kerja yang dilakukan oleh komputer dan sistem
komputer.
MULTIPROGRAMMING DAN MULTIPROCESSING
Secara umum, kita
melihat komputer dapat menjalankan dua aplikasi atau lebih. Kemampuan ini
disebut Multiprogramming. Multiprogramming adalah sistem operasi pada komputer
untuk menjalankan 2 aplikasi atau lebih yang menghasilkan sejumlah proses.
Sedangkan Multiprocessing merupakan kemampuan komputer untuk menangani 2 proses
atau lebih yang dihasilkan oleh program. Multiprogramming dan multiprocessing
memang terdengar sama namun mereka perbedaan yaitu multiprogramming dilihat
dari sisi software dan multiprocessing dilihat dari sisi hardware.
PERAN SCHEDULING
- Memaksimalkan throughput
- Memaksimalkan kinerja dan waktu processor
- Efsiensi process
- Keadilan (fairness) pada semua job dan aplikasi
- Meminimalkan waktu tanggap (time respond)
- Optimalisasi sumber daya (resource)
JENIS SCHEDULING
- Penjadwalan jangka pendek (short-terms scheduler).
Penjadwalan ini bertugas menjadwalkan alokasi pemroses di
antara proses - proses ready yang terdapat di memory utama. Sasaran utama
penjadwalan ini memaksimumkan kinerja untuk memenuhi satu kumpulan kriteria
yang diharapkan. Penjadwalan ini dijalankan setiap terjaid pengalihan proses
untuk memilih proses berikutnya yang harus dijalankan.
- Penjadwalan
jangka menengah (medium-terms scheduler).
Penjadwalan jangka menengah adalah menangani proses-proses
swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses
yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan
proses dimasukan kembali ke memori utama dan ready. Penjadwalan jangka menengah
mengendalikan transisi dari uspend-to-ready (dari keadaan suspend ke ready)
proses-proses swapping.
- Penjadwalan jangka Panjang (long-terms scheduler).
Penjadwalan jangka panjang bekerja terhadap antrian batch
dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah
proses-proses dengan penggunaan sumber daya yang intensif ( yaitu waktu
pemroses, memori,perangkat masukan/keluaran), program-program ini berprioritas
rendah,digunakan sebagai pengisi( agar pemroses sibuk)selama periode aktivitas
job-job interaktif rendah.
- I/O scheduling.
Penjadwalan dengan memilih process mana yang tertunda yang
dapat dilanjutkan kembali berdasarkan ketersediaan perangkat I/O.
ALOGIRITMA SCHEDULING
Masalah penjadwaln CPU adalah memutuskan proses mana yang
berada di dalam antrian ready akan dialokasikan
ke CPU. Ada
beberapa algoritma penjadwalan
CPU beberapa diantaranya
akan di jelaskan pada bagian
berikut ini.
- Round Robin
Penjadwalan Round Robin (RR) ini dilakukan secara
bergiliran berdasarkan antrian, prosessor mengerjakan sesaat setiap proses
berturut-turut. Proses yang telah dieksekusi prosessor dan belum selesai akan
kembali ke antrian terakhir yang ada pada saat itu sehingga penggiliran untuk
eksekusi tersebut seperti gelang. Semua proses di anggap penting dan diberi
sejumlah waktu pemroses yang disebut kwanta (quantum) atau time-slice dimana
prose situ berjalan.
- First-Come First-Served (FCFS)
Algoritma ini merupakan algoritma penjadwalan yang paling
sederhana yang digunakan CPU. Dengan menggunakan algoritma ini seiap proses
yang berada pada status ready dimasukkan ke dalam antrian FIFO sesuai dengan waktu kedatangannya. Proses yang tiba
terlebih dahulu yang akan
dieksekusi terlebih dahulu.
- Shortest-Job First (SJF)
Algoritma ini
mempunyai cara penjadwalan yang berbeda dengan FCFS. Dengan algoritma ini maka setiap proses
yang ada di
antrian ready akan
dieksekusi berdasarkan burst
time terkecil. Hal
ini mengakibatkan waiting time
yang pendek untuk setiap proses dan karena hal
tersebut maka waiting time
rata-ratanya juga menjadi
pendek, sehingga dapat
dikatakan bahwa algoritma
ini adalah algoritma yang
optimal.