a. Process Bound
b. I/O Bound
CPU Scheduler
- menyeleksi proses-proses di dalam memory yang sudah siap untuk dieksekusi, dan mengalokasikan CPU ke dalam nya.
- Penjadwalan CPU (scheduling) dapat mengambil keputusan ketika proses
- Pergantian dari status running menjadi waiting
- Pergantian status dari running menjadi ready (siap)
- Pergantian status dari waiting menjadi ready
- Terminasi (terminate)
- Scheduling pada no 1 dan 4 bersifat non-preemptive
- Sedangkan sisa nya bersifat preemptive
Tipe-tipe Scheduler :
- Long Term Scheduling --> keputusan yang dibuat untuk menambahkan banyak proses untuk dieksekusi
- Medium Term Scheduling --> keputusan yang dibuat untuk menambahkan beberapa proses yang berada di dalam main memory, proses tersebut sudah sepenuh nya berada di main memory
- Short Term Scheduling --> keputusan dimana proses yang available (tersedia) akan dieksekusi oleh processor
- I/O Scheduling --> keputusan dimana proses request I/O yang pending harus ditangani oleh perangkat I/O yang tersedia. I/O = Input Output
Transisi Status Scheduling dan Proses
Long Term Scheduler :
- menentukan program mana yang diterima oleh sistem untuk diproses
- mengontrol tingkat dari multiprogramming
Medium Term Scheduler :
- merupakan bagian dari fungsi swapping (pertukaran)
- keputusan swapping berdasarkan dari kebutuhan untuk memanage tingkat daripada multiprogramming
Short Term Scheduler :
- dikenal sebagai dispatcher
- melakukan eksekusi paling banyak / sering
- melakukan keputusan yang sangat bagus untuk proses yang akan diekseksui nanti nya
- Cth : clock interrupt, I/O interrupt, pemanggilan OS (Operating System) dan sinyal
Short Term Scheduler :
- tujuan utama nya adalah untuk mengalokasikan waktu processor untuk mengoptimalkan aspek dalam sikap sistem
- kriteria tertentu dibutuhkan untuk mengevaluasi kebijakan scheduling
Kriteria dalam melakukan Scheduling :
- pemanfaatan CPU (membuat CPU sesibuk mungkin)
- throughput (# proses yang melengkapkan eksekusi nya per unit waktu)
- turnaround time / waktu penyelesaian (waktu untuk melakukan eksekusi pada proses tertentu)
- waktu tunggu (waktu yang dibutuhkan untuk proses yang sedang menunggu untuk dapat bersiap-siap di antrian)
- waktu response (waktu yang dibutuhkan ketika suatu request diberikan sampai respon pertama diberikan, tapi bukan output)
Kriteria Optimasi :
- Pemanfaatan CPU max.
- Max Throughput
- Min. waktu penyelesaian
- Min. waktu menunggu
- Min. waktu respon
Tujuan dari Scheduling :
Algoritma Scheduling :
1. First Come First Serve
Keuntungan : mudah dimengerti dan gampang untuk diprogram
Kerugian : pekerjaan yang pendek / sedikit akan menunggu lebih lama ketika pekerjaan yang banyak berada di depan nya.
2. Shortest Job First
- 2 skema :
- Non-preemptive ---> ketika CPU menerima proses, maka CPU tidak dapat di preempted sampai CPU selesai
- Preemptive ---> apabila proses baru tiba dengan panjang burst CPU yang lebih kecil daripada sisa waktu dari eksekusi proses sekarang, preempt. Skema ini dikenal sebagai Shortest Remaining Time First (SRTF)
Beberapa Algoritma interaktif dari Scheduling :
- Round-Robin Scheduling
- Virtual Round Robin Scheduling
- Shortest Process Next
- Shortest Remaining Time Next
- Highest Response Ratio Next
- Feedback Scheduling
- Guaranteed Scheduling
- Fair Share Scheduling
- Real Time Scheduling
Round Robin Scheduling
- menggunakan preemption sesuai dengan waktu
- dikenal sebagai time slicing karena setiap proses diberikan potongan waktu sebelum dieksekusi
- sangat efektif untuk sistem pembagian waktu atau transaksi
Virtual Round Robin Scheduling
Shortest Process Next
- kebijakan non-preemptive dimana proses dengan waktu proses terkecil akan dipilih selanjut nya
- proses yang sebentar akan menjadi antrian pertama
- kemungkinan untuk permintaan proses yang lebih lama
- satu kesulitan yang perlu diingat yaitu waktu proses yang dibutuhkan untuk setiap proses
Highest Response Ratio Next
- memilih proses selanjutnya dengan ratio yang paling besar
- sangat atraktif karena mencatat umur dari proses
Feedback Response
Cara melakukan perbedaan performa :
Guaranteed Scheduling
- pada single user sistem, dengan n proses yang sedang berjalan, setiap proses akan mendapatkan 1/n dari siklus CPU
- ratio sebesar 0.5 artinya adalah proses hanya mempunyai setengah dari apa yang harus dimilikinya
- ratio sebesar 2.0 artinya proses memiliki 2(dua) kali banyak yang seharusnya dimiliki oleh proses tersebut
Fair Share Scheduling
- keputusan scheduling berdasarkan pada pengaturan proses
- setiap user diberikan bagian dari processor
Real Time Scheduling
dimana :
m = periodic event
event i terjadi dalam periodik Pi dan membutuhkan Ci detik
Tambahan :
Tugas dari Buku hlm. 427, bag. 92
| Process Name | Arrival Time | Processing Time |
----------------------------------------------------------
| A | 0 | 3 |
| B | 1 | 5 |
| C | 3 | 2 |
| D | 9 | 5 |
| E | 12 | 5 |
------------------------------------------------------------------------
1. First Come First Serve
Waiting Time :
A = 0
B = 2
C = 5
D = 1
E = 3
Average : 11 \ 5 = 2.2
2. Shortest Job First Non Preemptive
Waiting Time :
A = 0
B = 4
C = 0
D = 1
E = 3
Average : 8 / 5 = 1.6
3. Shortest Job First Pre Emptive
Waiting Time :
A = 0
B = 4
C = 0
D = 1
E = 3
Average : 8 / 5 = 1.6
Tidak ada komentar:
Posting Komentar