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.
