Rabu, 28 Februari 2018

Scheduling Dalam Komputer

  Tidak ada komentar


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

  1. Memaksimalkan throughput 
  2. Memaksimalkan kinerja dan waktu processor
  3. Efsiensi process 
  4. Keadilan (fairness) pada semua job dan aplikasi
  5. Meminimalkan waktu tanggap (time respond) 
  6. 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.