disini saya akan menjelaskan beberapa tentang penjadwalan proses bagian ll di antaranya
1. Priority Scheduling
2. Round Robin
3. Multilevel Queue
4. Multilevel Feedback Queue
A. Deskripsi Penjadwalan Proses
·
Penjadwalan
proses merupakan kumpulan
kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan
kerja yang dilakukan sistem komputer.
·
Sedangkan proses merupakan
unit kerja terkecil yang secara individu memiliki sumberdaya atau unit
pemilikan sumberdaya.
Tugas penjadwalan diantaranya adalah
sebagai berikut :
·
Memutuskan proses yang berjalan.
·
Memutuskan kapan dan selama berapa
lama proses itu berjalan.
Sasaran utama dalam penjadwalan
proses adalah :
·
Adil (fairness)
Adil adalah proses-proses diperlukan sama yaitu mendapat jatah waktu pemrosesan yang sama dan tak ada pemroses yang tak kebagian layanan pemroses sehingga mengalami (starvation).
Adil adalah proses-proses diperlukan sama yaitu mendapat jatah waktu pemrosesan yang sama dan tak ada pemroses yang tak kebagian layanan pemroses sehingga mengalami (starvation).
·
Efisiensi
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
·
Waktu tanggap (response time),
dibagi menjadi :
1.
Sistem Interaktif
Waktu tanggap dalam sistem interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul dilayar (terminal). Waktu tanggap ini disebut terminal response time
Waktu tanggap dalam sistem interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul dilayar (terminal). Waktu tanggap ini disebut terminal response time
2.
Sistem Realtime
Pada sistem waktu nyata (real-time), waktu tanggap di definisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time. Sasaran penjadwalan adalah meminimalkan waktu tanggap.
Pada sistem waktu nyata (real-time), waktu tanggap di definisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time. Sasaran penjadwalan adalah meminimalkan waktu tanggap.
3.
Turn Arround Time
Waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem.
Waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem.
4.
Throughput
Throughput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu.
Throughput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu.
B. Tipe-tipe Penjadwalan
·
Penjadwalan jangka pendek
(short-termscheduller)
Penjadwalan ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready dimemori utama.
Penjadwalan ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready dimemori utama.
·
Penjadwalan jangka menengah
(medium-termscheduller)
Penjadwalan jangka menengah adalah menangani proses-proses swapping (aktivitas pemindahan proses yang tertunda dari memory utama ke memory sekunder)
Penjadwalan jangka menengah adalah menangani proses-proses swapping (aktivitas pemindahan proses yang tertunda dari memory utama ke memory sekunder)
·
Penjadwalan jangka panjang
(long-termscheduller)
Penjadwalan jangka panjang bekerja terhadap antrian batch (proses-proses dengan penggunaan sumberdaya yang intensif) dan memilih batch berikutnya yang harus di eksekusi.
Penjadwalan jangka panjang bekerja terhadap antrian batch (proses-proses dengan penggunaan sumberdaya yang intensif) dan memilih batch berikutnya yang harus di eksekusi.
C. Strategi Penjadwalan
·
Penjadwalan Nonpreemptive
Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.
Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.
·
Penjadwalan Preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih oleh proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih oleh proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.
D. Algoritma-algoritma Penjadwalan
Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya adalah :
Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya adalah :
·
FIFO (First - In , First - Out)
·
SJF (Shortest Job First)
·
HRN (Highest Ratio Next)
·
MFQ (Multiple Feedbak
Queues)
Algoritma-algoritma yang menerapkan
strategi preemptive diantaranya adalah :
·
RR (Round-Robin)
·
SRF (Shortest - Remaining -
First)
·
PS (Priority Schedulling)
·
GS (Guaranteed Schedulling)
Klasifikasi lain berdasarkan adanya
prioritas di proses-proses yaitu :
- Algoritma penjadwalan tanpa berprioritas.
- . Algoritma penjadwalan berprioritas yang terdiri dari :
- Algoritma penjadwalan berprioritas statik.
- Algoritma penjadwalan berprioritas dinamis.
Priority
Scheduling
- Tiap proses diberi skala prioritas, proses
yang mendapatkan prioritas tertinggi mendapat jatah waktu pemroses
- Prioritas dapat diberikan secara :
* Prioritas statis (static
priorities)
* Prioritas dinamis (dynamic
priorities)
- Jika beberapa proses memiliki prioritas yang
sama akan digunakan algoritma FCFS, prioritas meliputi :
* Waktu
* Memori yang dibutuhkan
* Banyaknya file yang dibuka
* Perbandingan antara rata-rata
I/O Burst dengan rata-rata CPU Burst
- Algoritma Priority Scheduling dapat bersifat Preemptive atau Non
Preemptive. Jika ada proses P1 yang datang pada saat P0
sedang berjalan à akan dilihat prioritas P1, Jika prioritas P1>P0,
maka :
* Pada Non Preemptive, Algoritma
tetap akan menyelesaikan P0 sampai habis CPU burstnya dan meletakkan P1 pada
posisi head queue.
* Pada Preemptive, P0
akan dihentikan dulu dan CPU ganti dialokasikan untuk P1.
Contoh Priority Scheduling
Keunggulan priority scheduling biasanya
memenuhi kebijaksanaan yang ingin mencapai maksimasi suatu kriteria diterapkan.
Round Robin
Ø
Algoritma ini menggilir proses yang ada di
antrian.
Ø
Proses akan mendapat jatah sebesar time
quantum.
o Jika time
quantum-nya habis atau proses sudah selesai, CPU akan dialokasikan ke proses
berikutnya.
Ø
proses ini cukup adil karena tak ada proses yang diprioritaskan, semua proses
dapat jatah waktu yang sama dari CPU.
Ø
Contoh 1
Sebuah CPU dengan quantum 4 mendapat beberapa proses sebagai
berikut:
• Kelemahan
– Permasalahan
utama adalah menentukan besarnya time quantum.
– Jika
time quantum yang ditentukan terlalu kecil, maka sebagian besar proses tidak
akan selesai dalam 1 time quantum.
• Hal
ini tidak baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu
untuk beralih dari suatu proses ke proses lain (context switches time).
– Jika
time quantum terlalu besar, algoritma Round Robin akan berjalan seperti
algoritma First Come First Served.
Multilevel Queue
• Ide
dasar dari algoritma ini adalah berdasarkan pada sistem prioritas proses.
• Prinsipnya
adalah, jika setiap proses dapat dikelompokkan berdasarkan prioritasnya, maka
akan didapati queue.
• Dari
gambar, terlihat bahwa akan terjadi pengelompokan-pengelompokan proses-proses
berdasarkan prioritasnya.
• Kemudian
muncul ide untuk menganggap kelompok-kelompok tersebut sebagai sebuah
antrian-antrian kecil yang merupakan bagian dari antrian keseluruhan proses,
yang sering disebut dengan algoritma multilevel queue.
• Kelemahan:
• algoritma
ini pun memiliki kelemahan yang sama dengan priority scheduling, yaitu suatu
proses pada queue dengan prioritas rendah bisa saja tidak mendapat jatah CPU.
• Untuk
mengatasinya, memodifikasi algoritma ini dengan adanya jatah waktu maksimal
untuk tiap antrian,
• jika
antrian memakan terlalu banyak waktu, maka prosesnya akan dihentikan dan
digantikan oleh antrian dibawahnya (batas waktu untuk tiap antrian bisa berbeda
tergantung pada prioritas masing-masing antrian).
Multilevel
Feedback Queue
• Algoritma
ini mirip sekali dengan algoritma Multilevel Queue.
• Perbedaannya
ialah algoritma ini mengizinkan proses untuk pindah antrian.
• Jika suatu proses menyita CPU terlalu
lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah.
• Ini
menguntungkan proses interaksi, karena proses ini hanya memakai waktu CPU yang
sedikit.
• Demikian
pula proses yang menunggu terlalu lama. Proses ini akan dinaikkan tingkatannya.
• Biasanya
prioritas tertinggi diberikan kepada proses dengan CPU burst terkecil, dengan
begitu CPU akan terutilisasi penuh dan I/O dapat terus sibuk.
• Semakin
rendah tingkatannya, panjang CPU burst proses juga semakin besar.
• Algoritma
ini didefinisikan melalui beberapa parameter, antara lain:
– Jumlah
antrian
– Algoritma
penjadwalan tiap antrian
– Kapan
menaikkan proses ke antrian yang lebih tinggi
– Kapan
menurunkan proses ke antrian yang lebih rendah
– Antrian
mana yang akan dimasuki proses yang membutuhkan
Tidak ada komentar:
Posting Komentar