Penjadwalan Proses merupakan kumpulan kebijaksanaan dan
mekanisme di sistem operasi yang berkaitan dengan urutan layanan proses yang dilakukan
sistem komputer.
Tugas Penjadwalan
Proses :
1.Memutuskan proses mana yang harus dilayani (dijalankan atau dieksekusi atau diproses)
2.Menentukan kapan dan berapa lama suatu proses(job) dilayani (dijalankan).
TIPE PENJADWALAN PROSES
Ada
3 tipe penjadwalan berada bersama-sama pada Sistem Operasi yang kompleks:
1.Penjadwalan
jangka Pendek (Short Therm Scheduller)
Bertugas
menjadwalkan alokasi pemroses di antara
proses-proses ready di memori utama.
Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus
dilayani.
2.Penjadwalan
jangka Menengah (Medium Term Scheduller)
Bertugas
menjadwalkan proses-roses yang tertunda untuk kemudian dilayani hingga
pemrosesan selesai.
Setelah dilayani selama suatu waktu ,ada proses yang
mungkin ditunda layanannya karena membuat permintaan layanan
masukan/keluaran atau memanggil suatu system call sehingga proses tersebut
tidak selesai. Oleh karena kapasitas memori utama terbatas untuk sejumlah proses
aktif maka proses yang tertunda dipindah dari memori
utama ke memori sekunder sehingga tersedia ruang di memori utama untuk
proses-proses lain.
Aktifitas
pemindahan proses dari memori utama ke memori sekunder disebut Swapping. Ketika hilang kondisi yang membuat
tertundanya proses maka proses dimasukkan kembali ke memori utama dan ready(bersiap dilayani).
3.Penjadwalan
jangka Panjang (Long Therm Scheduller)
Penjadwalan jangka
panjang bekerja terhadap antrian batch dan memiliki batch berikutnya yang harus
dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya
yang intensif(yaitu waktu pemroses, memori, perangkat input/output),
berprioritas rendah digunakan sebagai pengisi agar pemroses sibuk selama periode
aktifitas job-job interaktif rendah.
STRATEGI PENJADWALAN
Ada 2
Strategi Penjadwalan Proses:
1.Penjadwalan Non Preemptif (Run
to Completion)
Dalam penjadwalan non preemptive scheduller tidak bisa memindahkan atau mengalihkan layananlayani dari suatu proses sehingga suatu proses itu selesai dilayani.Artinya suatu proses jika dilayanin maka akan dilayani hingga selesai.
Pada Strategi
Penjadwalan Non Preemptif, Algorithme
penjadwalan yang berlaku adalah(Run to
Completion)yaitu Algorithma Penjadwalan FIFO(First
In First Out) atau FCFS
(First Come First Serve), SJF(Short Job First) ,HRN (Highest Ratio Next), MFQ(Multiple Feedback Queues).
Catatan untuk sekedar mengingat
kembali ;bahwa algorithma adalah urutan
langkah langkah sistematis yang terkait pada bahasan penyelesaian suatu masalah;
didalamnya bisa terdapat sejumlah variabel, perintah, ekspresi &
assignment, struktur kendali aliran (control flow) dari algoritma, serta
definisi fungsi/prosedur.
2.Penjadwalan Preemptive
Penjadwalan Preemptive adalah Penjadwalan
yang dimana scheduller modern dapat memindahkan atau mengalihkan layanan dari suatu proses ke proses lain dalam suatu waktu dan kembali memberikan layanan lagi ke proses tersebut dalam waktu lain.
Scheduller memberikan jatah waktu
tertentu pada proses(job). Jika waktu yang dibutuhkan suatu proses lebih
pendek dari jatah waktu yang ditentukan pemroses maka proses itu selesai (terminated) dan keluar dari memori utama. Tetapi jika suatu proses memiliki waktu penyelesaian
yang lebih panjang dari jatah waktu yang diberikan pemroses maka begitu jatah
waktunya habis ,proses tersebut belum selesai dikeluarkan dari memori utama dan proses yang tak selesai tersebut menunggu jatah waktu untuk kembali dilayani ketika jatah waktu kembali tiba pada proses
itu.
Strategi Penjadwalan
Preemptive berguna pada Sistem yang penyelesaian proses-proses yang memerlukan perhatian/tanggapan pemroses secara cepat misalnya:
a.pada
sistem Realtime, kehilangan interupsi
atau tidak layani dapat berakibat fatal
b.Pada
sistem interaktif dapat menjamin waktu tanggap yang memadai. Waktu tanggap sistem interaktif adalah waktu
yang dihabiskan saat karakter terakhir dari perintah dimasukkan atau transaksi
sampai hasil pertama muncul di layar. Waktu tanggap disebut Terminal Response Time.
Pada Strategi Penjadwalan Preemptive
Algorithme
penjadwalan yang berlaku adalah RR (Round Robin),SRF
(Short Remaining First), PS(Priority Scheduling),GS(Guaranted Scheduling).
BEBERAPA KRITERIA
PENGUKURAN DAN OPTIMASI KINERJA
PENJADWALAN :
a.Adil (Fairness)
yaitu proses – proses diberlakukan sama
mendapat jatah waktu pemroses sama, semua proses dilayani.
b.Efisiensi (Eficiency)
ataU utilisasi pemroses dihitung dengan
perbandingan(ratio) waktu sibuk pemroses.
c.Waktu Tunggu (WT)
Disebut Waiting Time, yaitu ukuran lamanya suatu proses menunggu hingga dilayani.(dapat mudah dilihat pada Gantt Chart atau didapatkan sebagai hasil rumus perhitungan).Rumus perhitungan dapat dilihat pada paparan di bagian bawah postingan ini.
d.Waktu Tanggap (Response Time)
Terdapat perbedaan waktu tanggap pada Sistem
Interaktif dengan Sistem Real Time yaitu:
d1.Waktu tanggap pada Sisitem Interaktif
didefenisiskan sebagai waktu yang dihabiskan dari saat karakter terakhir dari
perintah atau transaksi dimasukkan hingga hasil pertama muncul di monitor.
Waktu Tanggap ini disebut Terminal Response Time.
d2.Waktu tanggap pada Sistem Real Time
Adalah waktu dari saat kejadian (internal
atau eksternal) sampai instruksi pertama rutin dilayani. Disebut Event Response
Time.
e.Completion Time (waktu penyelesaian)
Adalah waktu ketika suatu proses selesai dilayani.Ukuran waktu selesai dapat dilihat pada Gantt Chart atau sebagai hasil perhitungan.
f.Turn Around Time (TAT)
merupakan waktu yang digunakan sejak proses
tiba di dalam sistem pemrosesan hingga proses selesai dilayani atau diartikan sebagai waktu yang dihabiskan suatu proses selama di dalam sistem.
Kadang ada yang menyebut TAT sebagai Waktu Penyelesaian.
Waktu Penyelesaian berbeda maksudnya dengan Waktu Selesai.
TAT merupakann kriteria yang biasa diukur dalam bahasan penjadwalan. Rumus perhitungan TAT dapat dilihat pada bagian bawah postingan ini.
g.Throughtput
Jumlah kerja yang dapat diselesaikan dalam
satu uni(interval) waktu. Diekspresikan sebagai jumlah proses yang dapat dilayani dalam satu unit(interval)
tertentu.
Kriteria ukur dan optimasi penjadwalan
tersebut di atas dapat saling mendukung tetapi dapat saling bertentangan,
sehingga tidak dimungkinkan optimasi kriteria secara simultan.
Contoh: Untuk memperkecil waktu tanggap
memerlukan penjadwalan yang sering beralih diantara proses-proses itu.Hal
demikian akan meningkatkan overhead sistem dan mengurangi Throughput. Oleh
karena itu perancangan sistem penjadwalan harus mengkompromikan
kebutuhan-kebutuhan yang saling bertentangan, tergantung sifat dan penggunaan
sistem komputer.
BEBERAPA ISTILAH LAIN DALAM PENJADWALAN PROSES
No.
|
Istilah
|
Nama Lain dan
pengertian
|
1.
|
Proses
|
Proces,
Program, Job, pekerjaan, yang memerlukan layanan pemroses diatur oleh
scheduller
|
2.
|
Processor
|
CPU , Pemroses , yang
melaksanakan pemrosesan(pelayanan proses), yang melayani proses
|
3.
|
Scheduller
|
Pengatur
waktu pemrosesan , pengatur jadwal
layanan proses terhadap pemroses
|
4.
|
Arrival Time
(AT)
|
Waktu tiba,
waktu datang, waktu masuknya proses ke dalam sistem pemrosesan (ukurannya
biasanya dapat dilihat pada penjelasan soal atau pada tabel soal).
|
5.
|
Burst Time (BT)
|
Execute Time, waktu
eksekusi proses, waktu layanan proses ,waktu yang dibutuhkan proses untuk
dilayani(ukurannya biasanya dapat dilihat pada soal atau pada tabel soal dan pada Gantt Chart).
|
6.
|
Start Time
(ST)
|
waktu rilis layanan proses ,Waktu ketika proses mulai dilayani ,dapat mudah dilihat pada Chart).
|
|
|
|
Agar penggunaan istilah -istilah lebih simpel maka dalam bahasan algorithme penjadwalan penulis menggunakan istilah dalam Bahasa Inggris dengan maksud efisiensi penulisan serta mudah diartikan sahabat pembaca
online secara umum.
@BEBERAPA RUMUS PENGUKURAN DALAM PENJADWALAN PROSES@
*Turn Around Time = Completion Time – Arrival Time
Di sini saya notasikan
sebagai TAT = CT – AT
Tetapi pada kondisi AT =0
semua proses tiba di sistem pemrosesan maka TAT = CT – 0 sehingga dalam hal khusus seperti ini TAT =
CT.
Rumus Lain Turn Around Time = Waiting Time + Burst
Time
Di sini saya notasikan
sebagai TAT = WT + BT
Rata-rata TAT = ∑ TAT : ∑
Proses
*Waiting Time = Turn Around Time - Burst Time
Waiting Time WT =
TAT - BT
*Rumus lain Waiting Time:
b.Waiting Time = Start Time – Arrival Time
Di sini penulis notasikan sebagai WT = ST – AT
Jika Arrival Time t=0 maka WT = ST – 0
Sehingga WT = ST
c.Waiting Time =
Completion Time – Burst Time – Arrival Time
Di sini saya notasikan
sebagai WT = CT – BT – AT
Demikianlah rumus-rumus perhitungan pengukuran yang biasa digunakan di dalam penjadwalan.
Pertanyaan yang mungkin muncul adalah rumus yang mana sebaiknya digunakan? Jawabannya
adalah rumus perhitungan yang dimungkinkan dalam pembahasan atau penyelesaian soal perhitungan.Yaitu
rumus yang komponennya mudah ditemukan dalam soal dan efisiensi penyelesaiannya.
Selain istilah dan rumus–rumus
di atas hal yang juga perlu untuk diketahui adalah Gantt Chart yaitu diagram kotak
yang biasa tersusun horizontal menggambarkan(memetakan) kronologis rangkaian proses. Gantt Chart dilengkapi dengan nama atau kode nama Proses disertai keterangan waktu yang terkait
di dalam kronologis rangkaian proses sejak awal hingga akhir.Ukuran waktu akhir atau estimasi waktu di Gantt Chart harus sama dengan estimasi (total) Burst Time rangkaian proses.
Setiap jenis Algorithme
Penjadwalan berbeda dalam penggambaran Gant Chartnya karena masing-masing
memiliki prinsip mekanisme penjadwalan yang berbeda.
Demikianlah pengantar penjadwalan proses kerja komputer yang dapat penulis sajikan semoga mudah dipahami dan berguna, Sekian dan terima kasih
Daftar Referensi
https://www.cs.rutgers.edu/~pxk/416/notes/07-scheduling.html
Pasaribu, M.2015.Sistem Operasi.STIKOM Medan