Scheduling Pada Sistem Operasi

27th Feb 2022

3 min read

Nama : Alvin Maulana Rhusuli
NIM : 2005551014
Prodi : Teknologi Informasi
Fakultas/Universitas : Teknik/Universitas Udayana
Mata Kuliah : Network Operating System (A)
Dosen : I Putu Agus Eka Pratama, S.T.,M.T.

Selamat datang dan selamat kembali lagi dalam artikel pembahasan terkait Network Operating System (NOS). Pada kesempatan kali ini, saya akan membahas sedikit tentang peran dan penjelasan dari scheduling pada sistem operasi. Oleh karena itu mari kita awali dengan pengenalan terkait Scheduling itu sendiri.

Apa itu 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. Hal ini sangat diperlukan karena pada saat ini komputer berbasiskan multiprogramming.

Multiprogramming merupakan kemampuan sistem operasi untuk menjalankan 2 aplikasi atau lebih secara bersama – sama, menghasilkan sejumlah proses. Multiprocessing merupakan kemampuan penanganan 2 process atau lebih secara bersama – sama. Multiprogramming dengan Multiprocessing memiliki perbedaan yaitu :

  • Multiprogramming lebih ditekankan di sisi software.
  • Multiprocessing lebih ditekankan di sisi hardware.

Jadi ada lebih dari satu pemrosesan pada satu waktu. Tanenbaum menyebut bagian pemilihan sistem operasi sebagai penjadwal dan algoritma yang digunakan adalah algoritma penjadwalan.

Berikut ini adalah peran penjadwalan dalam Network Operating System (NOS) :

  1. Membantu penjadwalan dari semua service yang ada di dalam server.
  2. Memanfaatkan cron, dapat menentukan penjadwalan terhadap suatu proses.
  3. Dikaitkan dengan log dan cron, dapat membantu system administrator di dalam memperoleh data dan informasi mengenai sistem pada server (melalui bantuan sistem operasi). Misalnya untuk mengetahui mengenai user mana yang menggunakan job, kapan, berapa resource yang dihabiskan.
  4. Optimalisasi Sumber Daya (Resource).
  5. Meminimalkan Waktu Tanggap (Time Respond)
  6. Efisiensi Process.
  7. Memaksimalkan Troughput.

Jenis - Jenis Scheduling pada Network Operating System

Shortest Process Next (SPN)

SPN

Periksa waktu pemrosesan (waktu pemrosesan/waktu eksekusi) dari setiap pekerjaan, letakkan yang terpendek di antrian sebelumnya dan yang terpanjang di belakang. Algoritma penjadwalan ini memecahkan masalah algoritma penjadwalan Shortest Job First ketika ada beberapa proses dengan waktu pemrosesan yang lama, tetapi antrian ditempatkan terlebih dahulu.

Feedback

Feedback

Fokusnya adalah "waktu yang dibutuhkan untuk mengeksekusi", bukan waktu eksekusinya. Prosesnya seperti ini, tugas ditempatkan dalam berapa banyak antrian, fokus pada berapa banyak waktu yang dibutuhkan, dan ketika waktu habis mereka dibebaskan (release), dan metode ini berjalan sampai semua proses selesai. Tetapi bagaimana jika ada kerugian dan jika tidak dilakukan? Kemudian Anda dapat menggunakan algoritma Round Robin (RR).

Highest Response Ratio Next (HRRN)

HRRN

Highest response ratio next adalah algoritma pemrosesan yang berfokus pada proses dengan tingkat respons tertinggi. Untuk bisa mendapatkan tingkat respons menggunakan rumus Rasio = (waktu tunggu + waktu_layanan_yang diharapkan) / (waktu_layanan_perkiraan). Jadi, dalam algoritma ini, proses kecil memberikan persentase yang tinggi, sehingga proses memiliki prioritas di atas CPU. Berikut ini adalah contoh dari algoritma scheduling HRRN.

Shortest Remaining Time (SRT)

SRT

Pada algoritma penjadwalan Shortest Remaining Time (SRT), proses dengan total waktu eksekusi terpendek langsung diproses tanpa menunggu proses yang sedang berjalan. Jika waktu eksekusi proses yang tersisa lebih pendek dari proses lainnya, proses yang berjalan sebelumnya akan di-requeued. Berikut ini adalah contoh dari algoritma scheduling SRT.

Praktik Cron List Pada Linux

Pada praktik kali ini, saya akan mempraktikan untuk melihat list dari cronjob yang terdaftar pada sistem operasi linux. Berikut ini adalah contoh dari cronjob yang ada pada sistem operasi linux :

cron daily

Pada gambar di atas, adalah list cronjob pada sistem operasi linux yang akan berjalan setiap harinya. untuk mengeceknya dapat menggunakan command :

ls -lah /etc/cron.daily

cron weekly

Pada gambar di atas, adalah list cronjob pada sistem operasi linux yang akan berjalan setiap minggunya. untuk mengeceknya dapat menggunakan command :

ls -lah /etc/cron.weekly

cron monthly

Pada gambar di atas, adalah list cronjob pada sistem operasi linux yang akan berjalan setiap bulannya. untuk mengeceknya dapat menggunakan command :

ls -lah /etc/cron.monthly

Jika kamu melihat flag -lah maka artinya adalah sebagai berikut :

  • "l" long listing format
  • "a" akan menampilkan semua informasi yang ada pada file
  • "h" akan menampilkan ukuran dalam bentuk human-readble (cth. 1K 234M 2G)

Sekian informasi yang dapat saya sampaikan, mohon maaf apabila terdapat kesalahan penulisan yang tidak disengaja. Akhir kata saya ucapkan terimakasih! 😊

Referensi

  • Pemaparan Materi Pertemuan Ketiga dari Dosen Pengampu I Putu Agus Eka Pratama, S.T., M.T. via Webex