Pada artikel kali ini, saya akan menjelaskan mengenai penjadwalan (scheduling) pada sistem operasi, yang mana merupakan lanjutan dari materi pada pertemuan sebelumnya. Beberapa topik yang akan dibahas pada artikel ini adalah definisi, jenis-jenis, peran, serta algoritma scheduling.
Definisi Scheduling
Penjadwalan atau scheduling adalah sebuah metode dalam system operasi yang mengatur proses-proses yang akan berjalan dalam suatu system operasi. Hal ini sangat diperlukan karena pada saat ini komputer berbasiskan multiprogramming. Sehingga dalam suatu waktu akan berlangsung dua atau lebih pemrosesan. Tanenbaum menyebutkan, bagian dari sistem operasi yang membuat pilihan dinamakan scheduller, sedangkan algoritma yang digunakan dinamakan schedulling algorithm. Penjadwalan sangat diperlukan dalam sistem operasi untuk mengatur multiprogramming pada sistem operasi.
Multiprogramming merupakan kemampuan sistem operasi untuk menjalankan 2 aplikasi atau lebih secara bersama – sama, sehingga menghasilkan sejumlah proses. Selain Multiprogramming, terdapat juga istilah multiprocessing. Berbeda dengan multiprogramming, multiprocessing merupakan kemampuan penanganan 2 process atau lebih secara bersama – sama. Dapat disimpulkan, perbedaan antara keduanya adalah multiprogramming lebih ditekankan di sisi software. 2.Multiprocessing lebih ditekankan di sisi hardware.
Jenis-jenis Scheduling
Berdasarkan bagan diatas sheduling pada sistem operasi dibagi menjadi empat jenis, yang terdiri dari :
1. Short-term Scheduling
Penjadwal ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama. Sasaran utama penjadwal ini memaksimalkan kinerja untuk memenuhi satu kumpulan kriteria yang diharapakan. Penjadwal ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
2. Medium-term Scheduling
Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan dimasukkan kembali ke memori utama dan ready.
3. Long-term Scheduling
Penjadwal 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 proses, memori, perangkat I/O), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah. Sasaran utama penjadwal jangka pangjang adalah memberi keseimbangan job-job campuran. Dikaitkan dengan state-state proses.
4. I/O Scheduling
Penjadwalan input-output (I/O) merupakan penjadwalan dengan memilih process mana yang tertunda yang dapat dilanjutkan kembali berdasarkan ketersediaan perangkat I/O.
Peran Scheduling
Adanya penjadwalan berperan penting dalam sistem operasi. Beberapa peran tersebut adalah sebagai berikut.
- Memaksimalkan throughput
- Memaksimalkan kinerja dan waktu processor. Dengan adanya penjadwalan maka process yang membutuhkan waktu yang pendek akan dijalankan lebih dahulu sehingga memaksimalkan kinerja processor.
- Efisiensi process
- Keadilan pada semua job dan aplikasi
- Meminimalkan waktu tanggap/respond time. Dengan adanya penjadwalan process yang alebih cepat selesai akan dijalankan duluan sehingga respond time nya menjadi rendah.
- Meminimalkan waktu tanggap/respond time. Dengan adanya penjadwalan process yang alebih cepat selesai akan dijalankan duluan sehingga respond time nya menjadi rendah.
Algoritma Scheduling
Algoritma scheduling membantu alur scheduling pada sistem serta membantu programmer di dalam pengembangan aplikasi terkait dengan sistem operasi. Beberapa jenis algoritma scheduling dapat dijelaskan sebagai berikut.
1. Round Robin
Algoritma scheduling Round Robin menggunakan konsep antrian. Setiap proses memiliki time quantum untuk menandai waktu dari proses. Jika time quantum selesai, maka proses selesai pula. apabila terlalu besar, algoritmanya akan menjadi FCFS (First Come First Serve)
2. FIFO (First in First Out)
Algoritma scheduling FIFO menggunakan konsep dimana proses yang lebih dahulu datang akan segera dieksekusi. Waktu eksekusi setiap proses tidaklah sama, Jika ada proses panjang atau pendek, akan diselesaikan sesuai waktu kedatangan. hal tersebut akan merugikan proses yang hanya membutuhkan waktu sebentar
3. Shortest Job First
Algoritma scheduling Shortest Job First memperbaiki kekurangan dari FIFO, dimana proses yang pendek akan didahulukan sehingga meskipun antrian panjang, proses yang pendek akan tetap didahulukan.
Post a Comment