- KRITERIA PENJADWALAN
Algoritma penjadwalan CPU yang berbeda akan memiliki perbedaan properti. Sehingga untuk memilih algoritma ini harus dipertimbangkan dulu properti-properti algoritma tersebut. Ada beberapa kriteria yang digunakan untuk melakukan pembandingan algoritma penjadwalan CPU, antara lain:
- CPU utilization. Diharapkan agar CPU selalu dalam keadaan sibuk. Utilitas CPU dinyatakan dalam bentuk prosen yaitu 0-100%. Namun dalam kenyataannya hanya berkisar antara 40-90%.
- Throughput. Adalah banyaknya proses yang selesai dikerjakan dalam satu satuan waktu.
- Turnaround time. Banyaknya waktu yang diperlukan untuk mengeksekusi proses, dari mulai menunggu untuk meminta tempat di memori utama, menunggu di ready queue, eksekusi oleh CPU, dan mengerjakan I/O.
- Waiting time. Waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak mempengaruhi eksekusi proses dan penggunaan I/O.
- Response time. Waktu yang dibutuhkan oleh suatu proses dari minta dilayani hingga ada respon pertama yang menanggapi permintaan tersebut.
- Fairness. Meyakinkan bahwa tiap-tiap proses akan mendapatkan pembagian waktupenggunaan CPU secara terbuka (fair).
- DISPATCHER
- Switching context;
- Switching ke user-mode;
- 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
- ALGORITMA PENJADWALAN
Penjadwalan CPU menyangkut penentuan proses-proses yang ada dalam ready queue yang akan dialokasikan pada CPU. Terdapat beberapa algoritma penjadwalan CPU seperti dijelaskan pada sub bab di bawah ini.
First-Come First-Served Scheduling (FCFS)
Proses yang pertama kali meminta jatah waktu untuk menggunakan CPU akan dilayani terlebih dahulu. Pada skema ini, proses yang meminta CPU pertama kali akan dialokasikan ke CPU pertama kali. Misalnya terdapat tiga proses yang dapat dengan urutan P1, P2, dan P3 dengan waktu CPU-burst dalam milidetik yang diberikan sebagai berikut :
P1 24
P2 3
P3 3
Algoritma Penjadual
First Come, First Served
Penjadual CPU berurusan dengan permasalahan memutuskan proses mana yang akan dillaksanakan, oleh
karena itu banyak bermacam algoritma penjadual, di seksi ini kita akan mendiskripsikan beberapa
algoritma.
Ini merupakan algoritma yang paling sederhana, dengan skema proses yang meminta CPU mendapat
prioritas. Implementasi dari FCFS mudah diatasi dengan FIFO queue.
Shortest Job First
Salah satu algoritma yang lain adalah Shortest Job First. Algoritma ini berkaitan dengan waktu setiap
proses. Ketika CPU bebas proses yang mempunyai waktu terpendek untuk menyelesaikannya mendapat
prioritas. Seandainya dua proses atau lebih mempunyai waktu yang sama maka FCFS algoritma
digunakan untuk menyelsaikan masalah tersebut.
Ada dua skema dalam SJFS ini yaitu:
- nonpremptive— ketika CPU memberikan kepada proses itu tidak bisa ditunda hingga selesai.
- premptive— bila sebuah proses datang dengan waktu prose lebih rendah dibandingkan dengan waktu proses yang sedang dieksekusi oleh CPU maka proses yang waktunya lebih rendah mendapatkan prioritas. Skema ini disebut juga Short – Remaining Time First (SRTF).
Prioritas
Penjadualan SJF (Shortest Job First) adalah kasus khusus untuk algoritma penjadual Prioritas. Prioritas
dapat diasosiasikan masing-masing proses dan CPU dialokasikan untuk proses dengan prioritas tertinggi.
Untuk proritas yang sama dilakukan dengan FCFS.
Ada pun algoritma penjadual prioritas adalah sebagai berikut:
- Setiap proses akan mempunyai prioritas (bilangan integer). Beberapa sistem menggunakan integerdengan urutan kecil untuk proses dengan prioritas rendah, dan sistem lain juga bisa menggunakaninteger urutan kecil untuk proses dengan prioritas tinggi. Tetapi dalam teks ini diasumsikan bahwa integer kecil merupakan prioritas tertinggi.
- CPU diberikan ke proses dengan prioritas tertinggi (integer kecil adalah prioritas tertinggi).
Dalam algoritma ini ada dua skema yaitu:
- Preemptive: proses dapat di interupsi jika terdapat prioritas lebih tinggi yang memerlukan CPU.
- Nonpreemptive: proses dengan prioritas tinggi akan mengganti pada saat pemakain time-slice
habis.
- SJF adalah contoh penjadual prioritas dimana prioritas ditentukan oleh waktu pemakaian CPU
berikutnya. Permasalahan yang muncul dalam penjadualan prioritas adalah indefinite blocking atau
starvation.
- Kadang-kadang untuk kasus dengan prioritas rendah mungkin tidak pernah dieksekusi. Solusi untuk
algoritma penjadual prioritas adalah aging
- Prioritas akan naik jika proses makin lama menunggu waktu jatah CPU.
Round Robin
Algoritma Round Robin (RR) dirancang untuk sistem time sharing. Algoritma ini mirip dengan
penjadual FCFS, namun preemption ditambahkan untuk switch antara proses. Antrian ready
diperlakukan atau dianggap sebagai antrian sirkular. CPU menglilingi antrian ready dan mengalokasikan
masing-masing proses untuk interval waktu tertentu sampai satu time slice/ quantum.
Berikut algritma untuk penjadual Round Robin:
- Setiap proses mendapat jatah waktu CPU (time slice/ quantum) tertentu Time slice/quantum umumnya antara 10 – 100 milidetik.
- Setelah time slice/ quantum maka proses akan di-preempt dan dipindahkan ke antrian ready.
- Proses ini adil dan sangat sederhana.
- Jika terdapat n proses di “antrian ready” dan waktu quantum q (milidetik), maka:
- Maka setiap proses akan mendapatkan 1/n dari waktu CPU.
- Proses tidak akan menunggu lebih lama dari: (n-1)q time units.
- Kinerja dari algoritma ini tergantung dari ukuran time quantum
- Time Quantum dengan ukuran yang besar maka akan sama dengan FCFS
- Time Quantum dengan ukuran yang kecil maka time quantum harus diubah ukurannya lebih besar dengan respek pada alih konteks sebaliknya akan memerlukan ongkos yang besar.
0 comments:
Posting Komentar
Bebas, Sopan, No Sara. :)