Senin, 26 Februari 2018

SCHEDULING

Nama : Rasendriya Revo Daniswara
NIM : 1605551099
Matakuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, S.T., M.T.
TEKNOLOGI INFORMASI/TEKNIK/UNIVERSITAS UDAYANA


SCHEDULING
Rasendriya Revo Daniswara
Jurusan Teknologi Informasi, Fakultas Teknik, Universitas Udayana
Jalan Raya Kampus Unud, Bukit Jimbaran, Bali, Indonesia


Abstrak
     Matakuliah Network Operating System merupakan matakuliah yang membahas seputar sistem operasi yang digunakan dalam dunia jaringan komputer. Dalam matakuliah ini membahas seputar konsep dasar dari sistem operasi, evolusi sistem operasi, fungsionalitas sistem operasi, konsep dasar Network Operating System, infrastuktur pendukung Network Operating System, karakteristik dari Network Operating System, jenis-jenis Network Operating System, serta penggunaan Network Operating System dalam jaringan komputer.

Pendahuluan     Apakah yang dimaksud dengan scheduling ? scheduling merupakan 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 computer. Scheduling ada di dalam semua sistem operasi apapun.

Kenapa perlu penjadwalan pada sistem operasi?
     Seperti yang sudah kita bahas pada artikel sebelumnya, kita tahu bahwa kernel (inti sistem operasi) memiliki utilitas, fungsi – fungsi utama, dan dukungan terhadap software dan hardware (sesuai dengan arsitektur komputer : 32 atau 64), kemudian kita tahu juga bahwa adanya proses yang berjalan pada sistem operasi. Ini kenapa diperlukan adanya penjadwalan agar setiap proses dan fungsi-fungsi utama dalam sistem operasi dapat berjalan dengan kinerja yang baik, dan memperkecil kemungkinan kegagalan saat sistem operasi berjalan. Selain itu penjadwalan ini ada juga karena dalam sistem operasi ada istilah “multiprogramming”.

Multiprogramming
     Multiprogramming adalah kemampuan sistem operasi untuk menjalankan 2 aplikasi atau lebih secara bersama – sama, menghasilkan sejumlah proses. Sedangkan multiprocessing adalah kemampuan penanganan 2 process atau lebih secara bersama – sama.
 Perbedaannya adalah multiprogramming lebih ditekankan di sisi software sedangkan multiprocessing lebih ditekankan di sisi hardware.

Peran penjadwalan
     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).

4 Jenis penjadwalan
     Terdapat 4 macam scheduling (penjadwalan). Dimana proses berjalannya penjadwalan dapat digambarkan sebagai berikut :
 

Gambar 1 Scheduling.

    • Long Term Scheduling, yaitu penjadwalan dengan menambahkan pool untuk process yang akan dieksekusi
    • Medium Term Scheduling, yaitu penjadwalan dengan menambahkan jumlah dari process baik secara penuh maupun parsial di dalam memori utama
    • Short Term Scheduling, yaitu penjadwalan dengan memilih process mana yang akan dieksekusi terlebih dahulu oleh processor dalam waktu singkat
    • I/O Scheduling, yaitu penjadwalan dengan memilih process mana yang tertunda yang dapat dilanjutkan kembali berdasarkan ketersediaan perangkat I/O.
    Berikut ini penggambaran antrian (queue) pada sistem scheduling (penjadwalan) :
 

Gambar 2 Queue Scheduling.

     Berikut ini gambaran tingkatan (leveling) dalam sistem scheduling (penjadwalan) :

Gambar 3 Level scheduling.

Algoritma scheduling
     Ada banyak sekali agoritma scheduling di dalam sisem operasi, namun akan dibahas yang terpenting saja (fundamental dan digunakan di banyak sistem operasi : windows, linux, mac, free bsd, android). Algoritma scheduling membantu alur scheduling pada sistem serta membantu programmer di dalam pengembangan aplikasi terkait dengan sistem operasi. Berikut macam-macam algoritma scheduling :
1.   Round Robin
     Menggunakan konsep antrian (queue). Setiap process memiliki time quantum untuk menandai waktu dari process yaitu apabila time quantum selesai maka proses selesai. Setiap proses diberi nilai yang sama untuk time quantum yaitu 1/n.
Time quantum jangan terlalu kecil (process tidak dapat selesai dalam 1 quantum), jangan juga terlalu besar (akan menjadi FCFS/First Come First Serve). Nilai ideal time quantum adalah 80 (dari skala 0 - 100)
2.   First In First Out (FIFO)
      Process yang lebih dahulu datang akan segera dieksekusi. Bagaimana jika ada process panjang dan process pendek? Tetap sesuai waktu kedatangan, oleh karena itu algoritma ini merugikan process pendek.
3.   Shortest Job First (SJF)
     Memperbaiki FIFO Process, pada algoritma ini proses yang lebih pendek akan didahulukan / diprioritaskan algoritma ini akan melakukan cek pada masing – masing process.

Referensi
[1] I Putu Agus Eka Pratama,“PPT Matakuliah Network Operating System Pertemuan 3 : Scheduling,”2018.

Tidak ada komentar:

Posting Komentar