PROSES DAN PENJADWALAN PROSES

1. Penjelasan Penjadwalan Proses

Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas memutuskan proses harus berjalan, kapan dan berapa lama proses itu berjalan.

Tujuan Penjadwalan Proses

1. Supaya semua pekerjaan memperoleh pelayanan yang adil (fairness)
2. Supaya pemakaian prosesor dapat dimaksimumkan
3. Supaya waktu tanggap dapat diminimumkan, berupa waktu tanggap nyata dan waktu tanggap maya
4. Supaya pemakaian sumber daya seimbang
5. Turn arround time, waktu sejak program masuk ke sistem sampai proses selesai.
6. Efesien, proses tetap dalam keadaan sibuk tidak menganggur.
7. Supaya terobosan (thoughput) dapat dimaksimumkan

Tipe Tipe Penjadwalan

1. Penjadwalan jangka pendek, Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama. Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
2. Penjadwalan jangka menengah, Medium-term scheduler bertugas menyeleksi proses yang akan di swapping (swap-out) dan yang akan dikembalikan ke memori utama (swap-in).
3. Penjadwalan jangka panjang, Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi.

Penjadwalan Proses

3 Istilah yang digunakan pada penjadwalan proses.

1.  Antrian, Sejumlah proses yang menunggu menggunakan prosesor dan akan diproses sesuai dengan urutan antrian proses.
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 :
✓ Turn around time, dengan memperhitungkan lama waktu yang digunakan untuk sebuah proses hingga keluaran.
✓ Respone time, tidak memperhitungkan lama waktu yang digunakan untuk sebuah proses hingga keluaran.

2. Algoritma Penjadwalan Proses dan Contohnya

1. Algortima First Come First Served (FCFS)/FIFO (First In First Out)

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.
Contoh :
Misalkan ada tiga proses P1, P2, P3 yang datang dengan lama waktu kerja CPU (CPU Waiting time) masing-masing sebagai berikut :
Proses Waiting time
P1 24
P2 3
P3 3
Jika proses datang dengan urutan P1, P2, P3 dan dilayani dengan algoritma FIFO, maka dapat digambarkan Gantt Chart-nya :


Dari Gantt Chart dapat diambil kesimpulan waktu tunggu untuk P1 adalah 0 milidetik, waktu tunggu untuk P2 adalah 24 milidetik, waktu tunggu P3 adalah 27 milidetik.
Jadi rata-rata waktu tunggu (Average Waiting Time/AWT) adalah (0+24+27)/3 = 17 milidetik. Kemudian jika waktu kedatangan proses adalah P3, P2, P1 maka Gantt Chartnya adalah:


Turn around time (waktu penyelesaian) P3 adalah 0, P2 = 3, P1 = 6, Maka rata-rata turn around time = (0+3+6)/3 = 3 milidetik.

2. Algortima PTD/SJF (Shortest Job First)

Dasar prioritas adalah pendeknya proses. Makin pendek/singkat proses makin tinggi
prioritasnya. Langkah I : tentukan urutan prioritas berdasarkan pendeknya proses yang dilayani. 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.

Penjadwalan dengan tipe prioritas tanpa preeemptive. Dasar priorotasnya adalah pendeknya proses. Makin pendek prosesnya makin tinggi prioritasnya




3. Algoritma PTDP (Penjadwalan proses terpendek dipertamakan prempsi )


Penjadwalan dengan prioritas dengan prempsi Beberapa ketentuan :

Prioritas berdasarkan pendeknya sisa proses
Diperhatikan saat proses tiba atau saat proses selesai
Menghitung lama sisa proses dari semua proses yang ada
Jika proses dengan sisa proses yang lebih pendek dari proses yang sedang dikerjakan, maka atas dasar prempsi proses yang sedang dikerjakan akan dikeluarkan dari prosesor
Contoh:




4. Algoritma RPTD (Ratio penalti tertinggi dipertamakan)


Ketentuan :
Prioritas berdasarkan besarnya nilai ratio pinalti
Rumus ratio pinalti = Rp = ( s + t ) / t
s = waktu sia-sia (Saat selesai – Saat tiba)
t = lama proses
Tetap mendahulukan proses terpendek, namun prioritas proses panjang akan turut meningkat melalui peningkatan ratio pinaltinya.

Contoh:


Pada saat 0 : hanya ada A, A diolah
Pada saat 4 : A rampung, B, C, D, E telah tiba

Perhitungan rasio penalti
Proses Tiba selama Rasio penalti
B = 4 − 1 = 3 (3 + 2)/2 = 2,5
C = 4 − 2 = 2 (2 + 5)/5 = 1,2
D = 4 − 3 = 1 (1 + 8)/8 = 1,125
E = 4 − 4 = 0 (0 + 4)/4 = 1
Rasio penalti tertinggi pada B, B diolah



Pada saat 6 : A dan B telah rampung

Perhitungan rasio penalti

Proses Tiba selama Rasio penalti
C = 6 – 2 = 4 (4 + 5)/5 = 1,8
D = 6 – 3 = 3 (3 + 8)/8 = 1,375
E = 6 – 4 = 2 (2 + 4)/4 = 1,5

Rasio penalti tertinggi pada C, C diolah


Pada saat 11 : A, B, dan C telah rampung

Perhitungan rasio penalti

Proses Tiba selama Rasio penalti
D = 11 – 3 = 8 (8 + 8)/8 = 2
E = 11 – 4 = 7 (7 + 4)/4 = 2,75

Raio penalti tertinggi pada E, E diolah

Pada saat 15 : A, B, C, dan E telah rampung D diolah


5. Algoritma Penjadwalan Penjadwalan Putar Gelang (Roun Robin/ Time Slice)


Penjadwalan tanpa prioritas dengan prempsi

Beberapa ketentuan :
• 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.

Pada penjadwalan RR(Roun Robin) ini Eksekusi dijalankan secara giliran berdasarkan antrian ( Non – Preemptive), prosesor mengerjakan sesaat setiap proses secara berturut-turut. Proses yang telah dieksekusi tapi belum selesai akan kembali ke antrian terakhir.


Contoh soal

Jika diketahui waktu tiba proses sama yaitu 0, dengan Quantum (Q) = 2. Hitunglah waktu Turn Arround (TA) untuk tiap-tiap proses, Total TA dan Rata-rata TA-nya?!








Komentar