Penjadwalan proses adalah kumpulan kebijaksaanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas untuk memutuskan Proses yang harus berjalan, Kapan dan selama berapa lama proses berjalan.
Sasaran utama penjadwalan proses adalah optimasi kinerja sistem computer menurut kriteria tertentu.
Kriteria penjadwalan proses :
· Adil (Fairness)
· Efisiensi
· Waktu tanggap
· Waktu tanggap dalam system interatif
· Waktu tanggap dalam waktu nyata
Adil
Adil adalah proses-proses diperlakukan sama yaitu mendapat jatah waktu layanan pemroses yang sama dan tidak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvation. Starvation adalah kondisi bahwa proses tidak pernah berjalan karena tidak dijadwalkan untuk berjalan
Efisiensi
Efisiensi atau utilisasi pemroses yang dihitung dengan perbandingan (rasio) waktu sibuk pemroses dengan total waktu operasi system computer secara keseluruhan
Waktu tanggap
Waktu tanggap di bagi menjadi dua :
1. System interaktif
2. System waktu nyata
Waktu tanggap dalam system interatif
Waktu tanggap dalam system interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah oleh program atau transaksi sampai hasil pertama muncul di perangkat masukan keluaran seperti layar (terminal).
Waktu tanggap untuk system interaktif biasa disebut terminal response time.
Waktu tanggap dalam waktu nyata
Pada system waktu nyata (real-time), waktu tanggap didefinisikan sebagai waktu dari saat kemunculan suatu kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan terhadap kejadian dieksekusi.
Waktu untuk system nyata biasa disebut event response time. Sasaran penjadwalan adalah meminimalkan waktu tanggap sehingga menghasilkan system yang reponsif.
· Turn Arround Time
Turn Arround time adalah waktu yang dihabiskan dari saat proses atau job mulai masuk ke system sampai proses itu diselesaikan system. Waktu yang dimaksud adalah waktu yang dihabiskan proses berada di system, diekspresikan sebagai penjumlahan waktu eksekusi (waktu pelayanan proses/job) dan waktu menunggu dari proses itu, yaitu:
Turn Arround time = waktu eksekusi + waktu menunggu
Sasaran penjadwalan adalah menimbulkan turn arround time
· Throughput
Throughput adalah jumlah kerja yang dapat diselesaikan selama satu selang/unit waktu. Cara untuk mengekspresikan troughput 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 troughput maka lebih banyak kerja yang dilakukan system.
Strategi Penjadwalan
Terdapat dua stategi penjadwalan, yaitu:
1. Penjadwalan Nonpreemptive
Begitu proses diberi jatah layanan pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai. Nonpreemptive juga disebut run-to-completion karena proses yang telah dijadwalkan akan dijalankan sampai selesainya atau proses tersebut meminta layanan masukan/keluaran.
Contoh algoritma-algoritma yang menerapkan strategi nonpreemptive di antaranya:
FIFO (First-in, First-out) atau FCFS (First-come, First-serve)
Penjadwalan FIFO ini merupakan penjadwalan tidak berprioritas, dan penjadwalan dengan ketentuan-ketentuan paling sederhana, yaitu:
· Proses-proses diberi jatah waktu pemroses diurutkan berdasarkan waktu kedatangan proses-proses itu ke system.
· Pada saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.
Penjadwalan ini dikatakan adil dalam arti resmi (dalam semantic/arti antrian, yaitu proses yang pertama datang, akan dilayani pertama juga), tapi dinyatakan tidak adil karena proses-proses yang perlu waktu lama membuat proses-proses pendek menunggu. Proses-proses tidak penting dapat membuat proses-proses penting menunggu.
FIFO jarang digunakan secara mandiri tapi dikombinasikan dengan skema lain, misalnya: Keputusan berdasarkan prioritas proses, sedangkan untuk proses-proses berprioritas sama diputuskan berdasarkan FIFO.
Kelebihan FIFO :
1. Dalam kriteria efisiensi, penjadwalan FIFO sangat efisien dalam penggunaan proses.
2. Algoritmanya cukup sederhana
Kelemahan FIFO :
1. Dalam kriteria adil, penjadwalan FIFO adil dalam arti resmi (dalam semantic/arti antrian) yaitu proses yang pertama datang, akan dilayani pertama juga), tapi dinyatakan tidak adil karena proses-proses yang perlu waktu lama membuat proses-proses pendek menunggu. Proses-proses tidak penting dapat membuat proses-proses penting menunggu.
2. Penjadwalan sangat tidak memuaskan karena proses menunggu lama, aktu tanggapnya sangat jelek. Tidak cocok untuk sistem interaktif.
3. Turn around time tidak bagus.
4. Throughtput tidak bagus.
5. Tidak dapat digunakan untuk sistem waktu nyata (real-time applications).
SJF (Shortest Job First)
Penjadwalan SJF ini merupakan penjadwalan yang dapat dikatakan 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 FIFO.
Penjadwalan ini mengasumsikan waktu jalan proses (sampai selesai) atau waktu lamanya proses diketahui sebelumnya. Mekanisme penjadwalan SJF adalah lebih dulu menjadwalkan proses dengan waktu jalan terpendek sampai selesai. Setelah proses itu selesai, maka proses dengan waktu jalan terpendek berikutnya akan dijadwalkan, demikian seterusnya.
Keunggulan penjadwalan SJF ini adalah mempunyai efisien tinggi dan turn around time rendah. Selain itu, SJF selalu memperhatikan rata-rata waktu respon terkecil, maka sangat baik untuk proses interaktif. Umumnya proses interaktif memiliki pola, yaitu menunggu perintah, menjalankan perintah, menunggu perintah dan menjalankan perintah, begitu seterusnya.
2. Penjadwalan Preemptive
Saat proses diberi jatah waktu oleh pemroses, maka pemroses dapat diambil alih proses lain yang mempunyai prioritas lebih tinggi berdasarkan criteria system itu. Pada penjadwalan preemptive, proses dapat disela oleh proses lain sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu. Proses yang disela berubah menjadi state ready.
Penjadwalan preemptive berguna pada sistem yaitu proses-proses yang perlu mendapat perhatian/tanggapan pemroses secara cepat, misalnya :
a. Pada sistem realtime, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal.
b. Pada system-sistem interaktif timesharing, penjadwalan preemptive agar dapat menjamin waktu tanggap yang memadai.
c. Penjadwalan secara preemptive baik tetapi harus dibayar mahal.
Algoritma yang menerapkan strategi nonpreemptive diantaranya adalah:
a) Penjadwalan Round Robin (RR)
Round Robin (RR) merupakan :
· Penjadwalan yang paling tua, sederhana, adil,banyak digunakan algoritmanya dan mudah diimplementasikan.
· Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwal berdasarkan lama waktu berjalannya proses (preempt by time).
· Penjadwalan tanpa prioritas.
· Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga tidak ada prioritas tertentu.
Semua proses dianggap penting sehingga diberi sejumlah waktu oleh pemroses yang disebut kwanta (quantum) atau time slice dimana proses itu berjalan. Jika proses masih running sampai akhir quantum, maka CPU akan mempreempt proses itu dan memberikannya ke proses lain. Penjadwal membutuhkannya dengan memelihara daftar proses dari runnable.
Algoritma yang digunakan :
1) Jika kwanta habis dan proses belum selesai, maka proses menjadi runnable dan pemroses dialihkan ke proses lain.
2) Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain.
3) Jika kwanta belum habis tetapi proses telah selesai, maka proses diakhiri dan pemroses dialihkan ke proses lain.
Diimplementasikan dengan :
· Mengelola senarai proses ready (runnable) sesuai urutan kedatangan.
· Ambil proses yang berada di ujung depan antrian menjadi running.
· Bila kwanta belum habis dan proses selesai, maka ambil proses di ujung depan antrian proses ready.
· Jika kwanta habis dan proses belum selesai, maka tempatkan proses running ke ekor antrian proses ready dan ambil proses di ujung depan antrian proses ready.
Masalah yang timbul adalah menentukan besar kwanta, yaitu :
· Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround time rendah.
· Kwanta terlalu kecil menyebabkan peralihan proses terlalu banyak sehingga menurunkan efisiensi proses.
Switching dari satu proses ke proses lain membutuhkan kepastian waktu yang digunakan untuk administrasi, menyimpan, memanggil nilai-nilai register, pemetaan memori, memperbaiki tabel proses dan senarai dan sebagainya. Mungkin proses switch ini atau konteks switch membutuhkan waktu 5 msec disamping waktu pemroses yang dibutuhkan untuk menjalankan proses tertentu.
Dengan permasalahan tersebut tentunya harus ditetapkan kwanta waktu yang optimal berdasarkan kebutuhan sistem dari hasil percobaan atau data historis. Besar kwanta waktu beragam bergantung beban sistem. Apabila nilai quantum terlalu singkat akan menyebabkan terlalu banyak switch antar proses dan efisiensi CPU akan buruk, sebaliknya bila nilai quantum terlalu lama akan menyebabkan respon CPU akan lambat sehingga proses yang singkat akan menunggu lama. Sebuah quantum sebesar 100 msec merupakan nilai yang dapat diterima.
Penjadwalan ini baik untuk sistem interactive-time sharing dimana kebanyakan waktu dipergunakan menunggu kejadian eksternal. Contoh : text editor, kebanyakan waktu program adalah untuk menunggu keyboard, sehingga dapat dijalankan proses-proses lain.
Kelemahan RR:
1. Waktu tanggap tidak memadai untuk sistem interatif waktu maya atau hard-real-time applications
Kelebihan RR:
1. Adil bila dipandang dari persamaan pelayanan oleh pemroses.
2. Cenderung efisien pada sistem interaktif.
3. Waktu tanggap memuaskan untuk sistem interaktif
4. Turn around time cukup baik.
5. Throughtput cukup baik.
b) Priority Schedulling (PS)
PS Adalah tiap proses diberi prioritas dan proses yang berprioritas tertinggi mendapat jatah waktu lebih dulu (running). Berasumsi bahwa masing-masing proses memiliki prioritas tertentu, sehingga akan dilaksanakan berdasar prioritas yang dimilikinya. Ilustrasi yang dapat memperjelas prioritas tersebut adalah dalam komputer militer, dimana proses dari jendral berprioritas 100, proses dari kolonel 90, mayor berprioritas 80, kapten berprioritas 70, letnan berprioritas 60 dan seterusnya.
Contoh penjadwalan berprioritas :
Proses-proses yang sangat banyak operasi masukan/keluaran dan menghabiskan kebanyakan waktu proses untuk menunggu selesainya operasi masukan/keluaran. Proses demikian disebut I/O bound process. Proses-proses ini dapat diberi prioritas sangat tinggi sehingga begitu proses memerlukan pemroses segera diberikan dan proses akan segera memulai permintaan masukan/keluaran berikutnya sehingga menyebabkan proses blocked menunggu selesainya operasi masukan/keluaran. Dengan demikian pemroses dapat segera dialihkan, dapat dipergunakan proses-proses lain tanpa mengganggu proses I/O bound. Proses-proses I/O berjalan paralel bersama proses-proses lain yang benar-benar memerlukan pemroses.
Dalam algoritma berprioritas dinamis dituntun oleh keputusan untuk memenuhi
kebijaksanaan tertentu yang menjadi tujuan system komputer. Algoritma sederhana layanan yang bagus adalah menge-set proses dengan prioritas berdasarkan rumus nilai 1/f, dimana f adalah ration kwanta terakhir yang digunakan
proses.
Pemberian prioritas diberikan secara :
1) Static (Static Priority)
Static priorities berarti prioritas tidak berubah.
Kelebihan PS Statis :
1. Mudah diimplementasikan.
2. Mempunyai overhead relatif kecil.
Kelemahan PS Statis :
1. Tidak tanggap terhadap perubahan lingkungan yang mungkin menghendaki penyesuaian prioritas.
2) Dinamis (dynamic priorities)
Merupakan mekanisme untuk menanggapi perubahan lingkungan system beroperasi. Prioritas awal yang diberikan ke proses mungkin hanya berumur pendek setelah disesuaikan ke nilai yang lebih tepat sesuai lingkungan.
Kelemahan PS Dinamis :
1. Implementasi mekanisme prioritas dinamis lebih kompleks dan mempunyai overhead lebih besar. Overhead in diimbangi dengan peningkatan daya tanggap sistem.
Kelebihan PS Dinamis :
1. Tanggap terhadap perubahan lingkungan yang mungkin menghendaki
2. Memiliki penyesuaian terhadap prioritas
Tidak ada komentar:
Posting Komentar