Scheduling pada Sistem Operasi Linux

                                         NAMA              : I Putu Gede Oka Mahendra
                                         NIM                 : 1805551140
                                         MATA KULIAH   : Network Operating System

TEKNOLOGI INFORMASI
FAKULTAS TEKNIK
UNIVERSITAS UDAYANA

DOSEN PENGAJAR
I PUTU AGUS EKA PRATAMA S.T., M.T


1.         Schedulling pada Linux


  Apa yang terlintas di benak kalian saat pertama kali mendengar kata schedulling? Pasti suatu hal yang berkaitan dengan jadwal bukan? Benar sekali, schedulling dalam network operating system juga memiliki arti “penjadwalan”. Pengertiannya adalah satu atau beberapa buah aturan, mekanisme, dan prosedur di dalam sebuah sistem operasi yang melibatkan kernel, aplikasi, process terkait degan urutan kerja yang dilakukan oleh komputer dan sistem komputer. Mengapa dalam sistem operasi harus ada proses schedulling di dalamnya? Schedulling berperan penting yakni memiliki beberapa peran sebagai berikut.
1.1       Memaksimalkan Throughput.
  Throughput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses persatu interval waktu.
1.2       Memaksimalkan Kinerja dan Waktu Processor.
1.3       Efsiensi Process.
  Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
1.4       Keadilan (fairness) pada semua job dan aplikasi.
  Fairness adalah proses-proses yang diperlakukan harus bersifat sama, yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.
1.5       Response Time.
  Waktu yang dibutuhkan oleh suatu proses dari minta dilayani hingga ada respon pertama yang menanggapi permintaan tersebut. Sasaran penjadwalan adalah meminimalkan waktu tanggap.
1.6       Optimalisasi Sumber Daya (resource)

2.         Multiprogramming
          Multiprogramming adalah kemampuan sistem operasi untuk menjalankan dua buah aplikasi (program) atau lebih secara bersamaan yang akan menghasilkan sejumlah proses.

3.         Multiprocessing
       Sedangkan multiprocessing adalah kemampuan komputer untuk melakukan beberapa proses dalam waktu yang bersamaan dengan teknologi berbasis multiprocessor. Contohnya seperti komputer server.

4.         Jenis – Jenis Scheduling
      Penjadwalan dalam sistem operasi dapat dibagi menjadi 4 yaitu penjadwalan jangka panjang, jangka menengah, jangka pendek, dan penjadwalan I/O. Penjelasan masing – masing dapat dilihat dibawah ini.
4.1       Penjadwalan Jangka Panjang
  Penjadwalan Jangka Panjang (long-term) bisa diartikan sebagai suatu penambahan proses baru ke dalam sekelompok proses yang akan dieksekusi oleh komputer. Pada penjadwalan jangka panjang apabila makin banyak proses yang diciptakan maka kualitas tiap layanan untuk setiap proses makin berkurang.
4.2        Penjadwalan Jangka Menengah
        Penjadwalan jangka menengah atau medium-term adalah keputusan untuk menambah suatu proses secara keseluruhan / sebagian ke dalam memori utama, proses scheduling tersebut terjadi saat swapping.
4.3       Penjadwalan Jangka Pendek
  Penjadwalan jangka pendek atau short-term adalah keputusan di mana memilih salah satu proses yang akan dieksekusi diantara beberapa jumlah proses yang sudah atau telah siap dieksekusi. Proses scheduling ini sangat sering dilakukan dan penjadwalan tersebut juga mempunyai tugas untuk mengirimkan job (dispatcher).
4.4        Penjadwalan I/O
         Penjadwalan I/O sendiri berarti memilih proses yang mana yang akan diberi kesempatan terlebih dahulu untuk menggunakan I/O device diantara beberapa proses yang akan sama – sama menggunakan device tersebut.

5.         Algoritma Scheduling
 Algoritma scheduling membantu alur scheduling pada sistem serta membantu programmer di dalam pengembangan aplikasi terkait dengan sistem operasi. Terdapat 3 algoritma dalam scheduling yaitu sebagai berikut.
5.1.      Round-Robin Scheduling
 Konsep dasar dari algoritma ini adalah dengan menggunakan time-sharing. Setiap proses mendapatkan waktu CPU yang disebut dengan waktu quantum (quantum time) untuk membatasi waktu proses, biasanya 1-100 milidetik. Setelah waktu habis, proses ditunda dan ditambahkan pada ready queue.
5.2.     First-Come First-Served Scheduling (FCFS)
         Pada skema ini, proses yang meminta CPU pertama kali akan dialokasikan pertama. Algoritma FCFS termasuk non-preemptive, karena sekali CPU dialokasikan pada suatu proses, maka proses tersebut tetap akan memakai CPU sampai proses tersebut melepaskannya (proses I/O).
5.3.     Shortest Job First Scheduler (SJF)
  Pada penjadwalan SJF, proses yang memiliki CPU burst paling kecil akan dilayani terlebih dahulu. Terdapat dua skema yaitu sebagai berikut.
a. Non-Preemptive, bila CPU diberikan pada proses, maka tidak bisa ditunda sampai CPU burst selesai.
b. Preemptive, apabila proses baru datang dengan panjang CPU burst lebih pendek dari sisa waktu proses yang saat itu sedang dieksekusi, proses ini ditunda dan diganti dengan proses baru. Skema ini disebut dengan Shortest-Remaining Time-First (SRTF).

Tugas Praktek 1
        Kesempatan kali ini, kita akan melakukan praktek untuk melihat dan memanajemen aplikasi atau program yang sedang berjalan (running) pada sistem operasi. Ketikkan syntax berikut ini pada terminal Linux.

#sudo htop

         Dilihat dari syntax tersebut diatas, berisikan perintah sudo untuk pengguna bertindak sebagai administrator dilanjutkan dengan perintah htop yang menghasilkan output pada terminal seperti gambar dibawah ini.


          Dapat dilihat pada gambar diatas yang pada dasarnya perintah #sudo htop ini memiliki output hampir sama dengan #sudo top, namun bedanya hanya tampilan yang lebih lengkap dan rinci. Berikut merupakan penjelasan beberapa istilah pada output #sudo htop diatas.
1.         PID adalah alamat proses dalam memori,
2.         User adalah nama pemilik proses / pemilik hak akses,
3.         PRI (priority) adalah tingkat prioritas setiap proses,
4.         NI adalah prose optimal yang berjalan,
5.         VIRT adalah memori virtual yang digunakan oleh suatu proses,
6.         RES adalah memori fisik yang digunakan oleh suatu proses,
7.         SHR menampilkan proses yang berjalan,
8.         S adalah status proses, dimana S artinya Sleep, sedangkan R artinya Running,
9.         CPU% menampilkan presentase CPU yang digunakan,
10.       MEM% menampilkan total konsumsi memori dalam suatu proses,
11.       TIME+ menampilkan lama waktu berjalannya suatu proses,
11.       Command adalah nama – nama proses yang sedang berjalan.

Referensi 
[1] I Putu Agus Eka Pratama. "PPT Network Operating System Pertemuan ke-3". 2020.


Komentar