MODUL PERKULIAHAN
Sistem Operasi
Deskripsi Penjadwalan, Kriteria,
strategi, Dispathcer dan Algoritma
Penjadwalan
05
Ilmu Komputer Teknik Informatika W151700010 Mohamad Yusuf, S.Kom.,M.C.S.
Abstract Kompetensi
Penjadwalan berkaitan dengan Mahasiswa Memahami proses
permasalahan memutuskan proses penjadwalan Prosesor dan
mana yang akandilaksanakan dalam berbagai algoritma penjadwalan
suatu sistem. Proses yang belum
mendapat jatah alokasi dari CPU
akan mengantri di ready queue.
Algoritma penjadwalan berfungsi
untuk menentukan proses manakah
yang ada di ready queue yang akan
dieksekusi oleh CPU.
Pembahasan
Gagasan multiprogramming adalah sederhana. Satu proses dieksekusi sampai proses itu
menunggu sesuatu, biasanya pelaksanaan operasi I/O. Pada multiprogramming, beberapa
proses disimpan di memori pada satu waktu. Ketika satu proses harus menunggu, sistem
operasi mengambil pemroses darinya dan memberikan pemroses ke proses lain. Pola ini
dilakukan secara terus menerus. Setiap kali satu proses harus menunggu, proses lain
mengambil alih penggunaan pemroses
Tujuan utama penjadwalan proses optimasi kinerja menurut kriteria tertentu, dimana
kriteria untuk mengukur dan optimasi kerja penjadwalan.
5.3 Dispathcer
Dispatcher adalah suatu modul yang akan memberikan kontrol pada CPU terhadap
penyeleksian proses yang dilakukan selama short-term scheduling. Fungsi-fungsi yang
terkandung di dalamnya meliputi:
1. Switching context;
2. Switching ke user-mode;
3. Melompat ke lokasi tertentu pada user program untuk memulai program. Waktu yang
diperlukan oleh dispatcher untuk menghentikan suatu proses dan memulai untuk
menjalankan proses yang lainnya disebut dispatch latency.
Terdapat tiga tipe penjadwal berada secara bersama-sama pada sistem operasi yang
kompleks yaitu:
a. Penjadwal jangka pendek (short term scheduller)
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.
2. Penjadwalan preemptive
Proses diberi jatah waktu oleh pemroses, maka pemroses dapat diambil alih proses
lain, sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah
waktu pemroses tiba kembali pada proses itu.
Penjadwalan preemptive berguna pada sistem dimana proses-proses yang mendapat
perhatian/tanggapan pemroses secara cepat, misalnya:
Pada sistem realtime, kehilangan interupsi (tidak layani segera) dapat berakibat
fatal.
Pada sistem interaktif time sharing, agar dapat menjamin waktu tanggap yang
memadai.
Penjadwalan secara preemptive baik tetapi harus dibayar mahal. Peralihan proses
memerlukan overhead (banyak tabel yang dikelola). Supaya efektif, banyak proses
harus berada di memori utama sehingga proses-proses tersebut dapat segera running
Klasifikasi lain selain berdasarkan dapat/tidaknya suatu proses diambil secara paksa
adalah klasifikasi berdasarkan adanya prioritas di proses-proses, yaitu:
1. Algoritma penjadwalan tanpa berprioritas.
2. Algoritma penjadwalan berprioritas, terdiri dari:
a) Berprioritas statis
b) Berprioritas dinamis
Penjadwalan ini dikatakan adail dalam arti resmi yaitu proses yang datang duluan, dilayani
duluan juga, tetapi dinyatakan tidak adil karena proses-proses yang perlu waktu lama
Penggunaan
Cocok untuk sistem batch yang sangat jarang melakukan interaksi dengan pemakai
secara langsung. Contoh aplikasi analisisi numerik, pembuatan tabel
Penjadwalan ini sama sekali tidak berguna untuk sistem interaktif karena tidak
memberi waktu tanggap yang bagus
Tidak dapat digunakan untuk sistem waktu nyata
Kelemahan
o Penjadwalan tak tanggap perbuhana lingkungan yang mungkin menghendaki
penyesuaian prioritas.
Prioritas Dinamis
Prioritas dinamis merupakan mekanisme menanggapi perubahan lingkungan sistem
beroperasi. Prioritas awal diberikan ke proses mungkin hanya berumur pendek setelah
disesuaikan ke nilai yang lebih tepat sesuai lingkungan
Kelemahan
o Implementasi mekanisme prioritas dinamis lebih kompeks dan mempunyai
overhead lebih besar. Overhead ini diimbangi dengan peningkatan daya tanggap
sistem.
Proses-proses yang sangat banyak operasi I/O kalau harus menuggu lama untuk
memakai pemroses (karena prioritas rendah) hanya akan membebani meori karena
harus disimpan tanpa perlu prosesproses itu dimemori karena tidak selesai-selesai
menunggu operai I/O dan menunggu jatah pemroses.
Kombinasi
Algoritma penjadwalan berprioritas dapat dikombinasikan yaitu mengelompokan
proses-proses menjadi kelas-kelas prioritas. Penjadwalan berprioritas diterapkan
antar kelas-kelas proses itu. Penjadwalan round-robin atau FIFO diterapkan pada
proses-proses di satu kelas.
Penjadwalan non-preemptive
Penjadwalan dapat dikataka sebagai berprioritas. Di SJF,prioritas diasosiasikan
dengan masing-masing proses dan pemroses dialokasikan ke proses dengan prioritas
tertinggi. Proses-proses dengan prioritas yang sama akan dijadwalkan secara
FCFS(FIFO)
Setelah proses itu selesai, maka proses dengan waktu jalan terpendek berikutnya
dijadwalkan. Demikian seterusnya.
Contoh :
Terdapat empat proses A,B,C,D dengan jalam selama 8,7,6,5 kwanta.
Gambar 5.2a menunjukkan cara I, dengan proses-proses dijadwalkan berurutan sebagai
A,B,C,D. Gambar 5.2b menunjukkan bila proses-proses dijadwalkan secara SJF yaitu
berurutan B,C,D,A
Kedua cara menghasilkan turn arround time ditunjukan Cara I trun arround time rata-rata
adalah 17,5 kwanta sedang cara II adalah 15 kwanta.
Untuk mengetahui ukuran job agar dapat ditetapkan yang terpendek biasanya dilakukan
pendekatan. Pendekatan yang biasa dilakukan adalah membuat estimasi berdasar kelakuan
sebelumnya.
Penggunaan
Jarang digunakan, merupakan kajian teoritis untuk pembandingan turn arround time.
Penjadwalan ini untuk mencegah banyaknya swapping dengan proses-proses yang sangat
banyak menggunakan pemroses (karena menyeelesaikan tugasnya memakan waktu lama)
diberi jatah waktu (jumlah kwanta) lebih banyak dalam satu waktu.
Penjadwalan ini menghendaki kelas-kelas prioritas bagi proses-proses yang ada. Kelas
tertinggi berjalan selama satu kwanta, kelas berikutnya berjalan selama dua kwanta, kelas
berikutnya berjalan empat kwanta, dan seterusnya.
Ketentuan yang berlaku adalah sebagai berikut:
– Jalankan proses pada kelas tertinggi
– Jika proses menggunakan seluruh kwanta yang dialokasikan maka diturunkan
kelas prioritasnya.
– Proses yang masuk untuk pertama kali ke sistem langsung diberi kelas tertinggi.
Mekanisme ini dapat mencegah proses yang perlu berjalan lama swapping berkali-kali dan
mencegah proses-proses interaktif yang singkat harus menunggu lama.
Penggunaan
Sistem dengan banyak proses lambat, memerlukan waktu dan juga terdapat banyak proses
singkat.
Penjadwalan ini melengkapi SJF. SJF merupakan penjadwalan non premtive sedang SRF
adalah preemptive untuk timesharing.
Ketentuan
Kelemahan
SRT mempunyai overhead lebih besar disbanding SJF. SRT perlu penyimpanan waktu
layanan yang telah dihabiskan job dan kadang-kadang harus menangani peralihan.
- Tibanya proses-proses kecil akan segera dijalankan
- Job-job lebih lama berarti dengan lama dan variasi waktu tunggu lebih lama disbanding
SJF.
SRT perlu menyimpan waktu layanan yang telah dihabiskan menambah overhead.
Secara teoritis, SRT memberi waktu tunggu minimum tapi karena overhead peralihan maka
pada situasi tertentu SJF biasa memberi kinerja lebih baik dibanding SRT.
Karena waktu layanan muncul sebagai pembagi maka job lebih pendek berprioritas lebih
baik. Karena waktu tunggu sebagai pembilang maka proses yang telah
menunggu lebih lama juga mempunyai kesempatan lebih bagus.
Penjadwalan ini berupaya memberi tiap pemakai daya pemroses yang sama. Jika terdapat N
pemakai, tiap pemakai mendapat 1/N daya pemroses. Sistem merekam besar waktu
pemroses yang telah digunakan proses sejak login dan jumlah waktu pemroses yang
digunakan seluruh pemroses.
Karena jumlah pemroses setiap pemakai dapat diketahui,maka dapat dihitung rasio antara
waktu pemroses yang sesungguhnya harus diperoleh yaitu 1/N waktu pemroses seluruhnya
dan waktu pemroses yang telah diperuntukan proses itu.
Penjadwal akan menjalankan proses dengan rasio terndah sampai rasio proses diatas pesaing
terdekatnya.
Round Robin First merupakan suatu metode penjadwalan dengan membagi total waktu
proses atas interval tertentu(tetap) yang disebut quantum. Setiap proses yang masuk ke
CPU akan mendapat jatah waktu penggunaan CPU selama quantum dan apabila jatah
waktu itu habis, apapun yang terjadi baik masih ada sisa proses atau tidak, proses harus
meninggalkan CPU.
Metode ini biasanya, dikombinasikan dengan metode-metode penjadwalan terdahulu.
0 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20 21 22
(6+3+10+3+8)/5 = 30/5 = 6
0 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20 21 22
5.14.1 RR-FCFS
Round Robin First Come First Server merupakan metode penjadwalan dimana yang
lebih dalu sampai di Ready Queue akan dilayani lebih dahulu dan kalua quantum untuk
proses tersebut dihabiskan lebih dahulu maka proses tersebut harus keluar dan masuk
kembali ke antrian Readt Queue kala masih ada sisa.
Ditanya :
1. Berapa lama waktu tunggu untuk setiap proses?
2. Berapa lama waktu tunggu rata-rata untuk setiap proses?
Untuk menjawab pertanyaan diatas, maka kita bisa menggunakan Gannt Chart seperti
gambar dibawah ini.
Jadi :
5.14.3 RR-SJF(Preemptive)
RR-SJF(Preemptive) adalah pemberian jatah waktu sebesar Q kepada setiap proses
dengan ketentuan kalua P1 sedang running, dating P2 dengan BT yang lebih kecil maka
Karena sistem waktu nyata sering mempunyai deadline absolut, maka penjadwalan dapat
berdasarkan deadline. Proses yang dijalankan adalah yang mempunyai deadline terdekat.
Proses yang lebih dalam bahaya kehilangan deadline dijalankan lebih dulu.Proses yang
harus berakhir 10 detik lagi mendapat prioritas diatas proses yang harus berakhir 10 menit
lagi. Penjadwalan in disebut Earliest Deadline First (EDF).
Ketika kriterian pemulihan telah selesai didefinisikan, maka kita dapat mengevaluasi
beragam algoritma. Terdapat sejumlah metode evaluasi untuk melakukan hal tersebut,
diantaranya :
1. Pemodelan deteministik
Pemodelan deteministik merupakan evaluasi analistik, evaluasi anlistik menggunakan
algoritma dan beban kerja sistem untuk menghasilkan satu rumus atau angka yang
menunjukkan kinerja suatu algoritma untuk beban kerja tertentu. Pemodelan
deterministik menggunakan suatu beban kerja tertentu yang telah ditentukan dan
mendefinisikan kinerja algoritma untuk beban kerja tersebut.
3 Simulasi
Simulasi dapat memberikan evaluasi algoritma penjadwalan dengan lebih akurat.
Simulasi melibatkan pemrograman model sistem komputer. Dengan simulasi akan
diperoleh statistik yang menyatakan kinerja algoritma.
4. Implementasi
Simulasi hanya memberikan akurasi yang terbatas. Satu – satunya cara yang paling tepat
dalam mengevaluasi algoritma penjadwalan adalah mengimplementasikannya,
menjalankannya pada sistem nyata dan melihatnya bekerja. Pendekatan ini adalah
menjalankan algoritma nyata di sistem nyata untuk keperluan evaluasi pada sistem yang
nyata.
Tetapi dapat disimpulkan bahwa pada dasarnya masing – masing algoritma penjadwalan
mempunyai kelebihan dan kelemahan.
Pangera Ali Abas M.Kom. Ariyus Dony.2005, Sistem Operasi, Penerbit ANDI
Tanenbaun Andrew S,, Modern Operating System.
https://www.tutorialspoint.com/operating_system/os_process_scheduling_algorithms.htm
http://www.mikirbae.com/2016/09/penjadwalan-processor-pada-sistem.html