Deskripsi
Penjadwalan Proses
Kumpulan
kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan
kerja
yang dilakukan sistem komputer.
·
Sistem Operasi modern umumnya merupakan sistem multitasking.
·
Pemanfaatan CPU maksimum diperoleh dengan multiprogramming
·
CPU-I/O Burst Cycle-Pelaksanaan proses terdiri dari suatu
siklus tunggu I/O dan eksekusi CPU
Penjadwalan
bertugas memutuskan hal-hal berikut :
·
Proses yang harus berjalan
·
Kapan dan selama berapa lama proses
berjalan
Tujuan
Utama Penjadwalan adalah Untuk mempunyai
proses berjalan secara bersamaan, untuk memaksimalkan kinerja dari CPU.
Sasaran
utama penjadwalan proses adalah Optimasi
kinerja sistem komputer menurut kriteria tertentu.
Kriteria untuk mengukur dan optimasi kinerja penjadwalan
1.
Adil (fairness)
Proses-proses
diperlakukan sama yaitu mendapat jatah waktu layanan pemroses yang sama dan
tidak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvation.
Startvation adalah kondisi bahwa proses tidak pernah berjalan karena tidak dijadwalkan untuk berjalan. Sasaran penjadwalan seharusnya menjamin setiap proses mendapat pelayanan dari pemroses secara adil.
Startvation adalah kondisi bahwa proses tidak pernah berjalan karena tidak dijadwalkan untuk berjalan. Sasaran penjadwalan seharusnya menjamin setiap proses mendapat pelayanan dari pemroses secara adil.
2.
Efisiensi
Efisiensi
atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk
pemroses dengan total waktu operasi sistem komputer secara keseluruhan.
Sasaran penjadwalan adalah menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi sistem komputer mencapai nilai maksimum.
Sasaran penjadwalan adalah menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi sistem komputer mencapai nilai maksimum.
3.
Waktu Tanggap (response time)
Waktu
tanggap berbeda untuk :
·
Sistem interaktif
Waktu
yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan oleh
program atau transaksi sampai hasil pertama muncul di jperangkat masukan
keluaran seperti layar (terminal).Waktu tanggap untuk sistem interaktif biasa
disebut terminal responce time.
·
Sistem waktu nyata (real time)
Pada
sistem waktu nyata, waktu tanggap didefinisikan sebagai waktu dari saat
kemunculan suatu kejadian (internal/eksternal) sampai instruksi pertama rutin
layanan terhadap kejadian dieksekusi. Waktu untuk sistem waktu nyata biasa
disebut event response time.
Sasaran penjadwalan adalah meminimalkan waktu tanggap sehingga menghasilkan sistem yang responsif.
Sasaran penjadwalan adalah meminimalkan waktu tanggap sehingga menghasilkan sistem yang responsif.
4.
Turn arround Time
Waktu
yang dihabiskan dari saat proses atau job mulai masuk ke sistem sampai proses
itu diselesaikan sistem.Waktu yang dimaksud adalah waktu yang
dihabiskan proses berada di sistem, diekspresikan sebagai penjumlahan waktu
eksekusi (waktu layanan proses/job) dan waktu menunggu dari proses itu, yaitu :
Turn
arround time = waktu eksekusi + waktu menunggu.
Sasaran
penjadwalan adalah meminimalkan turn arround time.
5.
Troughput
Troughput adalah
Jumlah kerja yang dapat diselsesaikan selama satu selang/ unit waktu. Cara
untuk mengekspresikan throughput adalah dengan jumlah proses/job pemakai
yang dapat dieksekusi dalam satu unit/ interval waktu tertentu.
Sasaran penjadwalan adalah memaksimalkan jumlah job/ proses yang dilayani per satu interval waktu. Lebih tinggi angka througput maka lebih banya kerja yang dilakukan sistem.
Sasaran penjadwalan adalah memaksimalkan jumlah job/ proses yang dilayani per satu interval waktu. Lebih tinggi angka througput maka lebih banya kerja yang dilakukan sistem.
Tipe-Tipe Penjadwalan
Dapat terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu :
Dapat terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu :
1. Penjadwal jangka pendek (short-term scheduller).
Penjadwalan jangka
pendek bertugas menjadwalkan alokasi pemroses di antara proses-proses Ready
yang berada di memori utama. sasaran utama penjadwal jangka pendek adalah
memaksimumkan kinerja sistem untuk memenuhi satu kumpulan kriteria yang
diharapkan. Penjadwal ini dijalankan setiap terjadi pengalihan proses untuk
memilih proses berikutnya yang harus dijalankan.
2. Penjadwal jangka menengah (medium-term scheduller).
Setelah eksekusi selama
suatu waktu, proses mungkin ditunda karena permintaan layanan masukan/keluaran
atau memanggil suatu system call. Proses-proses yang tertunda tidak dapat
membuat suatu kemajuan untuk menuju selesai sampai ondisi yang menyebabkannya
hilang. Agar ruang memori dapat bermanfaat maka proses dipindah dari memori
utama ke memori sekunder sehingga tersedia ruang yang lebih besar untuk proses
yang lain.
Kapasitas memori utama
terbatas untuk sejumlah proses yang aktif. Aktivitas pemindahan proses yang
tertunda dari memori utama ke memori sekunder disebut swapping. Penjadwal
jangka menengah bertugas menangani proses swapping . Proses yang mempunyai
kepentingan kecil saat itu adalah proses yang tertunda. Tetapi begitu kondisi
yang membuat proses tertunda hilang dan proses dimasukkan kembali ke memori
utama dan Ready.
Penjadwal jangka
menengah mengendalikan transisi dari suspended ke ready (dari state suspend ke
Ready dari proses yang mengalami swapping).
3. Penjadwal jangka panjang (long-term scheduller).
Penjadwal jangka panjang
bekerja terhadap antrian batch dan memilih batch berikutnya yang
harus dieksekusi sistem. Batch biasanya berupa proses-proses dengan penggunaan
sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat
masukan/keluaran), program ini mempunyai prioritas yang rendah, dan biasa
digunakan sebagai pengisi (agar pemroses sibu) selama periode aktivitas
proses-proses interaktif rendah. Sasaran utama penjadwal jangka panjang adalah
memberi keseimbangan proses-proses campuran.
Tujuan
Penjadwalan Proses
·
Supaya semua pekerjaan memperoleh pelayanan yang adil (fairness)
·
Supaya pemakaian prosesor dapat dimaksimumkan
·
Supaya waktu tanggap dapat diminimumkan, berupa waktu tanggap
nyata dan waktu tanggap maya
·
Supaya pemakaian sumber daya seimbang
·
Turn arround time, waktu sejak program masuk ke sistem sampai proses selesai.
·
Efesien, proses tetap dalam keadaan sibuk tidak menganggur.
·
Supaya terobosan (thoughput) dapat dimaksimumkan
3
Istilah yang digunakan pada penjadwalan proses
1. Antrian
Sejumlah proses yang
menunggu menggunakan prosesor dan akan diproses sesuai dengan urutan antrian
proses.
Proses berada dalam
memori utama
2. Prioritas
Mendahului pada antrian proses, jika
proses berada di bagian belakang antrian, maka dengan pemberian prioritas,
proses itu langsung berada di bagian paling depan pada antrian itu sambil
menunggu sampai kerja prosesor selesai.
3. Prempsi
Mendahului pada antrian proses, jika
proses berada di bagian belakang antrian, maka dengan pemberian prempsi, proses
itu langsung berada di bagian paling depan pada antrian itu bahkan akan
memberhentikan kerja prosessor untuk mengerjakan proses yang prempsi tersebut.
PERHITUNGAN PADA CARA KERJA
PROSESSOR
· Lama proses (t)
adalah lama waktu yang diperlukan untuk mengolah proses itu di dalam prosesor.
· Lama tanggap (T)
adalah Waktu yang diperlukan untuk proses sejak mulai sampai selesai diolah
oleh prosesor.
Terdapat 2 macam lama tanggap :
1) Turn around time, dengan memperhitungkan lama waktu yang
digunakan untuk sebuah proses hingga keluaran.
2) Respone time, tidak memperhitungkan lama waktu yang digunakan untuk sebuah
proses hingga keluaran.
TEKNIK PENJADWALAN
PROSESSOR
1) Kategori penjadwalan prosessor
o Tanpa prioritas tanpa prempsi
o Dengan prioritas tanpa prempsi
o Tanpa prioritas dengan prempsi
o Dengan prioritas dengan prempsi
2) Teknik penjadwalan prosessor
o Penjadwalan satu tingkat
o Penjadwalan multi tingkat
3) Teknik penjadwalan satu tingkat
RUMUS PENJADWALAN
Jika terdapat N
proses serentak, serta setiap proses memiliki lama tanggap sebesar T, maka
rerata lama tanggap Tr adalah :
· Tr
= (jumlah Ti) / N
· Waktu
sia-sia (T – t), waktu yang terbuang dalam antrian atau selama terkena Prempsi.
o Rasio
tanggap (Rt), Perbandingan di antara lama proses terhadap lama tanggap
o Rasio pinalti (Rp), Perbandingan diantara
lama tanggap terhadap lama proses.
o Rt = t/T dan
Strategi
Penjadwalan
Terdapat 2 strategi penjadwalan, yaitu :
Terdapat 2 strategi penjadwalan, yaitu :
Ø Penjadwalan nonpreemptive (run-to-completion).
Begitu proses diberi
jatah layanan pemroses aka pemroses tidak dapat diambil alih oleh proses lain
sampai proses itu selesai. Non-preemptive juga disebut
run-to-completion karena proses yang telah dijadwalkan akan dijalankan sampai
selesainya atau proses tersebut meminta layanan masukan/keluaran.
Ø Penjadwalan preemptive.
Saat proses diberi jatah
layanan pemroses maka pemroses dapat diambil alih proses lain yang mempunyai
prioritas lebih tinggi berdasarkan kriteria sistem itu. Pada penjadwalan
preemptive, proses dapat disela oleh proses lain sebelumnya selesainya dan harus
dilanjutkan menunggu jatah waktu layanan pemroses tiba kembali pada proses itu.
Proses yang disela berubah menjadi state Ready.
Penjadwalan preemptive berguna
pada sistem yakni proses-proses yang perlu mendapat perhatian/ tanggapan
pemroses secara cepat. Misalnya :
·
Pada sistem-sistem waktu nyata,
kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat
fatal.
·
Pada sistem-sistem interatif
timesharing, penjadwalan preemptive penting agar dapat menjamin waktu tanggap
yang memadai.
·
Peralihan proses (yaitu layanan pemroses
dari satu proses beralih ke proses lain) memerlukan overhead (karena
banya tabel yang dikelola). Agar penjadwalan preemptive menjadi efektif, banyak
proses harus berada di memori utama sehingga proses-proses tersebut dapat
segera Running begitu diperlukan. Menyimpan banyak proses yang tidak Running di
memori utama merupakan suatu overhead tersendiri.
Algoritma-Algoritma Penjadwalan Proses
Terdapat banyak algoritma
penjadwalan, baik algoritma penjadwalan nonpreemptive maupun penjadwalan
preemptive.
Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya :
Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya :
·
FIFO (First-In,
First-Out) atau FCFS (First-Come, First-Serve)
·
SJF (Shortest
Job First)
Algoritma-algoritma yang menerapkan strategi
preemptive diantaranya :
·
RR (Round-Robin)
·
MFQ (Multiple
Feedback Queues)
·
SRF (Shortest-Remaining-First)
·
HRN (Highest-Remaining-Next)
·
PS (Priority
Schedulling)
·
GS (Guaranteed
Schedulling)
Klasifikasi lain selain berdasarkan dapat/tidaknya
suatu proses diambil alih secara paksa adalah klasifikasi yang berdasarkan
adanya prioritas diproses-proses, yaitu :
a) Algoritma penjadwalan tanpa berprioritas
b) Algoritma penjadwalan berprioritas, terdiri dari :
· Algoritma penjadwalan berprioritas statis
· Algoritma penjadwalan berprioritas dinamis
Algoritma-Algoritma Penjadwalan Proses
o Penjadwalan Round-Robin (RR)
o Penjadwalan FIFO (FIFO)
o Penjadwalan Berprioritas (PS)
o Penjadwalan yang Terpendek yang Lebih Dahulu (SJF)
o Penjadwalan dengan Banyak Antrian (MFQ)
o Penjadwalan dengan Sisa Waktu Terpendek, Lebih
Dahulu (SRF)
o Penjadwalan Rasio Tanggapan Tertinggi, Lebih
Dahulu(HRN)
o Penjadwalan Terjamin (GS)
·
Merupakan algoritma
penjadwalan CPU yang paling sederhana.
·
Proses yang tiba lebih
dahulu akan dilayani lebih dahulu.
·
Jika ada proses tiba
pada waktu yang sama, maka pelayanan mereka dilaksanakan berdasarkan urutan
dalam antrian.
·
Proses di antrian
belakang harus menunggu sampai semua proses di depannya selesai.
·
Setiap proses diberi
jadwal eksekusi berdasarkan urutan waktu kedatangan.
·
FIFO jarang digunakan
secara tersendiri tetapi dikombinasikan dengan algoritma lain karena:
o Timbul masalah “waiting time” terlalu lama jika didahului
oleh proses yang waktu selesainya lama.
o Job yang pendek harus menunggu job yang panjang
o Job yang penting harus menunggu job yang kurang penting.
Algoritma (PTPD/ FCFS/FIFO)
Berdasarkan kriteria penilaian
penjadwalan:
1.
Fairness
Penjadwalan FCFS adil dalam arti
semantiks (dalam arti antrian)
2.
Efesiensi
Penjadwalan FCFS sangat efisien dalam
penggunaan pemroses
3.
Waktu
Tanggap
Penjadwalan sangat tidak memuaskan,
karena proses dapat menunggu lama
4.
Turn
Arround Time
Penjadwalan FCFS tidak bagus
5.
Throughput
Penjadwalan FCFS tidak bagus.
Contoh soal :
Jika diketahui terdapat 4 macam antrian proses, yaitu A-B-C-D dengan waktu kedatangan 0-3-5-7.
Lama proses berturut-turut antara lain: 7-3-4-8.
Pertanyaan :
Kapan dimulainya
eksekusi dari tiap-tiap antrian proses tsb?
Kapan selesai
eksekusinya?
Hitung Turn Arround Time
(TA)-nya?
Berata rata-rata TA?
Rumus :
TA = Waktu Tunggu + Lama
Eksekusi
Rata-rata TA = ΣTA /
ΣJob
Waktu Tunggu = Mulai
Eksekusi – Waktu Tiba
Selesai Eksekusi = Mulai
Eksekusi + Lama Eksekusi
Jawaban:
2. Algoritma (PTD/ SJF/SJN)
· Algoritma Shortest Job First
· Dasar prioritas adalah pendeknya proses.
· Makin pendek/singkat proses makin tinggi prioritasnya
o Langkah I : tentukan urutan prioritas berdasarkan pendeknya
proses yang dilayani
o Langkah II : penentuan proses mana yang dilayani oleh
pemroses
· Setiap proses yang ada dalam ready queue akan dieksekusi
berdasarkan burst time terkecil
· Hal ini mengakibatkan waiting time yang pendek untuk setiap
proses, maka rerata waiting time (AWT) juga menjadi pendek
· Algoritma ini dikatakan optimal
Contoh soal :
Jika diketahui terdapat 4 macam antrian proses, yaitu A-B-C-D dengan waktu kedatangan 0-3-5-7. Lama proses berturut-turut antara lain: 7-4-8-3..
Pertanyaan :
Kapan dimulainya eksekusi dari tiap-tiap antrian proses tsb?
Kapan selesai eksekusinya?
Hitung Turn Arround Time (TA)-nya?
Berata rata-rata TA?
Rumus :
TA = Waktu Tunggu + Lama Eksekusi
Rata-rata TA = ΣTA / ΣJob
Waktu Tunggu = Mulai Eksekusi – Waktu Tiba
Selesai Eksekusi = Mulai Eksekusi + Lama Eksekusi
Jawaban:
3. Algoritma Penjadwalan Proses
Terpendek Dipertamakan Prempsi (PTDP atau PSPN)
Pada penjadwalan ini, prioritas dan prempsi
diberlakukan namun dengan beberapa ketentuan, yaitu:
- Prioritas
berdasarkan pendeknya sisa proses;
- Perhatikan
saat proses tiba dan atau saat proses selesai;
- Menghitung
lama sisa proses dari semua proses yang ada; dan
- Jika proses dengan sisa proses yang lebih pendek dari proses yang sedang dikerjakan, maka akan dikeluarkan dari prosesor.
Contoh :
4. Algoritma Penjadwalan Ratio Pinalti Tertinggi Dipertamakan
(RPTD atau HPRN)
4. Algoritma Penjadwalan Ratio Pinalti Tertinggi Dipertamakan
(RPTD atau HPRN)
Penjadwalan
ini dilakukan dengan prioritas namun tanpa menggunakan prempsi. Dengan
ketentuan Prioritas berdasarkan besarnya nilai ratio pinalti.
Tetap
mendahulukan proses terpendek, namun prioritas proses panjang akan turut meningkat
melalui peningkatan ratio pinaltinya.
Contoh :
5. Algoritma Penjadwalan Putar Gelang (Round Robin atau Time Slice)
Penjadwalan
pada algoritma ini dapat menggunakan prempsi namun tidak dengan prioritas.
Berikut ketentuannya:
- Kuantum
Waktu, Waktu yang digunakan oleh prosesor untuk melayani setiap proses.
- Prosesor
akan melayani setiap proses berdasarkan antrian.
- Prosesor
akan melayani sesuai dengan Kuantum Waktu yang sudah ditentukan.
Contoh :
Nah terakhir dari pembahasan kali ini, Jadi Kesimpulannya...
Penjadwalan
adalah sekumpulan mekanisme dan kebijaksanaan pada OS yang bersangkutan dengan
urutan kerja yang dilakukan sistem pada komputer. dan Penjadwalan memiliki 2
tugas, yaitu:
- Kapan dan berapa lama proses
itu berjalan; dan
- Proses harus berjalan.
Penjadwalan
bertujuan untuk mengoptimalkan kinerja sistem komputer sesuai dengan kriteria
yang telah ditentukan.
Selain itu
ada beberapa macam Algoritma Penjadwalan Proses, yaitu:
- Algoritma
Pertama Tiba Pertama Di Layani (PTPD atua FCFS)
- Algoritma
Proses Terpendek Dipertamakan (PTD atau SJF)
- Algoritma
Proses Terpendek Dipertamakan Prempsi (PTDP atau PSPN)
- Algoritma
Penjadwalan Ratio Pinalti Tertinggi Dipertamakan (RPTD atau HPRN)
- Algoritma
Penjadwalan Putar Gelang (Round Robin atau Time Slice)



























0 Komentar