PEMBAHASAN PENJADWALAN PROSES
Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme disistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.
Adapun penjadwalan bertugas memutuskan :
a. Proses yang harus berjalan
b. Kapan dan selama berapa lama proses itu berjalan
Sasaran utama penjadwalan proses adalah optimasi kinerja menurut kriteria tertentu, yaitu:
- adil
- efisiensi
- waktu tanggap (response time)
- turn arround time
- throughput
Adapun penjadwalan bertugas memutuskan :
a. Proses yang harus berjalan
b. Kapan dan selama berapa lama proses itu berjalan
Sasaran utama penjadwalan proses adalah optimasi kinerja menurut kriteria tertentu, yaitu:
- adil
- efisiensi
- waktu tanggap (response time)
- turn arround time
- throughput
Adil
Proses-proses diperlakukan sama yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tidak kebagian layanan pemroses.
Efisiensi
-Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
-Sasaran penjadwalan : menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi
Proses-proses diperlakukan sama yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tidak kebagian layanan pemroses.
Efisiensi
-Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
-Sasaran penjadwalan : menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi
mencapai maksimum.
-Sibuk : pemroses tidak menganggur, termasuk waktu yang dihabiskan untuk mengeksekusi
-Sibuk : pemroses tidak menganggur, termasuk waktu yang dihabiskan untuk mengeksekusi
program pemakai dan SO
Waktu tanggap (Response Time)
Waktu tanggap pada sistem interaktif
Adalah waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan sampai hasil pertama muncul dilayar (terminal) => disebut terminal response time
Waktu tanggap pada sistem waktu nyata (real-time)
Adalah waktu dari saat kejadian (internal ataueksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi => disebut event response time
Turn Arround time
-Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses
Waktu tanggap pada sistem interaktif
Adalah waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan sampai hasil pertama muncul dilayar (terminal) => disebut terminal response time
Waktu tanggap pada sistem waktu nyata (real-time)
Adalah waktu dari saat kejadian (internal ataueksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi => disebut event response time
Turn Arround time
-Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses
Diselesaikan sistem.
-Waktu yang dimaksud adalah waktu yang dihabiskan didalam sistem.
-Waktu yang dimaksud adalah waktu yang dihabiskan didalam sistem.
Turn Arround Time = waktu eksekusi + waktu menunggu
Sasaran penjadwalan adalah meminimalkan turn arround time.
Throughput
-Adalah jumlah kerja atau jumlah job yang dapat diselesaikan dalam satu unit waktu.
-Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per satu interval waktu.
-Lebih tinggi angka throughput = lebih banyak kerja yang dilakukan sistem.
Ada 2 strategi penjadwalan:
• Penjadwalan non preemptive
• Penjadwalan preemptive
Sasaran penjadwalan adalah meminimalkan turn arround time.
Throughput
-Adalah jumlah kerja atau jumlah job yang dapat diselesaikan dalam satu unit waktu.
-Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per satu interval waktu.
-Lebih tinggi angka throughput = lebih banyak kerja yang dilakukan sistem.
Ada 2 strategi penjadwalan:
• Penjadwalan non preemptive
• Penjadwalan preemptive
Penjadwalan nonpreemptive : Proses yang sedang berjalan tidak dapat disela . Sekali proses berada di status running sedang berjalan ), maka proses tersebut akan dieksekusi terus sampai proses berhenti dan CPU tidak dapat diambil alih oleh proses yang lain disela. (berjalan),
lain.
Penjadwalan preemptive : Proses yang sedang berjalan dapat diinterupsi dan dipindah ke status ready oleh sistem operasi sehingga CPU dapat diambil alih proses yang lain
lain.
lain.
Penjadwalan preemptive : Proses yang sedang berjalan dapat diinterupsi dan dipindah ke status ready oleh sistem operasi sehingga CPU dapat diambil alih proses yang lain
lain.
Tipe Penjadwalan
Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
1. Penjadwal jangka pendek (short term scheduller)
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.
Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
1. Penjadwal jangka pendek (short term scheduller)
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. Penjadwal jangka menengah (medium term scheduller)
Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan.
Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah prosesaktif.
Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan proses dimasukkan kembali ke memori utama dan ready.
Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan proses dimasukkan kembali ke memori utama dan ready.
3. Penjadwal jangka panjang (long term scheduller)
Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang
harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan
sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi
Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang
harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan
sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi
(agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah.
Sasaran penjadwalan berdasarkan tipe-tipe penjadwalan :
Sasaran penjadwalan berdasarkan tipe-tipe penjadwalan :
a. Memaksimumkan kinerja untuk memenuhi satu kumpulan kriteria yang diharapkan.
b. Mengendalikan transisi dari suspended to ready (keadaan suspend ke ready) dari proses-
proses swapping.b. Mengendalikan transisi dari suspended to ready (keadaan suspend ke ready) dari proses-
c. Memberi keseimbangan job-job campuran.
tiga istilah yang digunakan pada penjadwalan proses
1. antrian
sejumlah proses yang menunggu menggunakan prosesor dan akan diproses sesuai dengan urutan antrian proses. Proses berada dalam memori utama
1. antrian
sejumlah proses yang menunggu menggunakan prosesor dan akan diproses sesuai dengan urutan antrian proses. Proses berada dalam memori utama
2. prioritas
mendahului pada antrian proses, jika proses itu berada dibagian belakang antrian, maka dengan pemberian prioritas, proses itu lanngsung berada dibagian paling depan pada antrian itu sambil menunggu sampai kerja prosesor selesai.
mendahului pada antrian proses, jika proses itu berada dibagian belakang antrian, maka dengan pemberian prioritas, proses itu lanngsung berada dibagian paling depan pada antrian itu sambil menunggu sampai kerja prosesor selesai.
Contoh penjadwalan dengan menggunakan prioritas:
Proses | Waktu | Prioritas | Kedatangan |
P1 | 6 | 4 | 0 |
P2 | 8 | 1 | 0 |
P3 | 7 | 3 | 0 |
P4 | 3 | 2 | 0 |
P2 | P4 | P3 | P1 |
0 8 11 18 24
- waktu tunggu : P1=18, P2=0, P3=11, P4=8
- waktu tunggu rata-rata : (18+0+11+8)/4=9.25
3. prempsi
mendahului pada antrian proses, jika proses itu berada dibagian belakang antrian, maka dengan pemberian prempsi proses itu langsung berada dibagian paling depan pada antrian itu bahkan akan memberhentikan kerja prosesor untuk mengerjakan proses yang prempsi tersebut.
mendahului pada antrian proses, jika proses itu berada dibagian belakang antrian, maka dengan pemberian prempsi proses itu langsung berada dibagian paling depan pada antrian itu bahkan akan memberhentikan kerja prosesor untuk mengerjakan proses yang prempsi tersebut.
Perhitungan pada kerja prosesor
lama proses (t) adlah lama waktu yang diperlukan untuk mengolah proses itu didalam prosesor.
Lama tanggap (T) adlah waktu yang diperlukan untuk proses sejak mulai sampai selesai diolah oleh prosesor.
Teknik penjadwalan prosesor
1. kategori penjadwalan prosesor
- tanpa prioritas tanpa prempsi
- dengan prioritas tanpa prempsi
- tanpa prioritas dengan prempsi
- dengan prioritas dengan prempsi
lama proses (t) adlah lama waktu yang diperlukan untuk mengolah proses itu didalam prosesor.
Lama tanggap (T) adlah waktu yang diperlukan untuk proses sejak mulai sampai selesai diolah oleh prosesor.
Teknik penjadwalan prosesor
1. kategori penjadwalan prosesor
- tanpa prioritas tanpa prempsi
- dengan prioritas tanpa prempsi
- tanpa prioritas dengan prempsi
- dengan prioritas dengan prempsi
2. Teknik penjadwalan prosesor
- penjadwalan satu tingkat
- penjadwalan multi tingkat
3. teknik penjadwalan satu tingkat
- jika terdapat N proses serentak, serta setiap proses memiliki lama tanggap sebesar T, maka
- penjadwalan satu tingkat
- penjadwalan multi tingkat
3. teknik penjadwalan satu tingkat
- jika terdapat N proses serentak, serta setiap proses memiliki lama tanggap sebesar T, maka
rerata lama tanggap Tr adalah
Tr = (jumlah Ti) / N
- waktu sia-sia (T-t), waktu yang terbuang dalam antrian atau selama terkena prempsi
- rasio tanggap (Rt), perbandingan diantara lama proses terhadap lama tanggap
- rasio pinalti (Rp), perbandingan diantara lama tanggap terhadap lama proses
Rt = t dan Rp = T
T t
Tr = (jumlah Ti) / N
- waktu sia-sia (T-t), waktu yang terbuang dalam antrian atau selama terkena prempsi
- rasio tanggap (Rt), perbandingan diantara lama proses terhadap lama tanggap
- rasio pinalti (Rp), perbandingan diantara lama tanggap terhadap lama proses
Rt = t dan Rp = T
T t
1. Algoritma Penjadwalan Pertama tiba pertama dilayani (PTPD/ FCFS/FIFO)
Penjadwalan tanpa prioritas tanpa prempsi, Proses yang tiba lebih dahulu akan dilayani lebih dahulu, jika tiba pada waktu yang bersamaan akan dilayani sesuai dengan urutan pada antrian.
Penjadwalan tanpa prioritas tanpa prempsi, Proses yang tiba lebih dahulu akan dilayani lebih dahulu, jika tiba pada waktu yang bersamaan akan dilayani sesuai dengan urutan pada antrian.
Nama Proses | Saat Tiba | Lama Proses |
A | 0 | 4 |
B | 1 | 7 |
C | 3 | 3 |
D | 7 | 8 |
Tabel PTPD
Nama Proses | Saat Tiba | Lama Proses | Saat Mulai | Saat Rampung | Lama Tanggap |
A | 0 | 4 | 0 | 4 | 4 |
B | 1 | 7 | 4 | 11 | 10 |
C | 3 | 3 | 11 | 14 | 11 |
D | 7 | 8 | 14 | 22 | 15 |
S Ti | 40 | ||||
Tr | 10 | ||||
2. Algoritma penjadwalan proses terpendek dipertamakan (PTD/SJF/SJN)
Penjadwalan dengan prioritas tanpa prempsi
Terdapat 2 langkah :
Penentuan berdasarkan pendeknya proses yang dilayani. Jika proses yang terpendek tersebut belum tiba maka prosesor akan melayani proses yang telah tiba sampai proses tersebut selesai.
Penjadwalan dengan prioritas tanpa prempsi
Terdapat 2 langkah :
Penentuan berdasarkan pendeknya proses yang dilayani. Jika proses yang terpendek tersebut belum tiba maka prosesor akan melayani proses yang telah tiba sampai proses tersebut selesai.
Nama Proses | Saat Tiba | Lama Proses |
A | 0 | 5 |
B | 3 | 7 |
C | 5 | 2 |
D | 6 | 4 |
Tabel PTD
Nama Proses | Saat Tiba | Lama Proses | Saat Mulai | Saat Rampung | Lama Tanggap |
A | 0 | 5 | 0 | 5 | 5 |
B | 3 | 7 | 11 | 18 | 15 |
C | 5 | 2 | 5 | 7 | 2 |
D | 6 | 4 | 7 | 11 | 5 |
Jumlah | 27 | ||||
Rerata | 6,75 | ||||
Barisan proses
saat | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |||||||||||||
barisan | A | A | A | A | A | A | A | C | C | D | D | |||||||||||||
saat | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | ||||||||||||
barisan | D | B | B | B | B | B | B | B | |||||||||||||||
3. algoritma penjadwalan proses terpendek dipertamakan prempsi (PTDP/PSPN/SRT)
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
- 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
Tabel proses PTDP
Nama Proses | Saat Tiba | Lama Proses |
A | 0 | 7 |
B | 2 | 3 |
C | 4 | 9 |
D | 5 | 4 |
Barisan proses
A B C D
saat | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |||||||||||||
barisan | A | A | B | B | B | D | D | D | D | A | ||||||||||||||
sisa A=5 A=5 A=5
B=2 B=1 B=0
C=9 C=9
D=4
B=2 B=1 B=0
C=9 C=9
D=4
saat | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |||||||||||||
barisan | A | A | A | A | C | C | C | C | C | C | ||||||||||||||
saat | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | |||||||||||||
barisan | C | C | C | |||||||||||||||||||||
Tabel PTPD
Nama Proses | Saat Tiba | Lama Proses | Saat Mulai | Saat Rampung | Lama Tanggap |
A | 0 | 7 | 0 | 14 | 14 |
B | 2 | 3 | 2 | 5 | 3 |
C | 4 | 9 | 14 | 23 | 19 |
D | 5 | 4 | 5 | 9 | 4 |
Jumlah | 40 | ||||
Rerata | 10 | ||||
4. Algoritma Penjadwalan Ratio Pinalti Tertinggi
Dipertamakan (RPTD/ HPRN)
Penjadwalan dengan prioritas tanpa prempsi 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.
Algoritma ini untuk mengatasi kelemahan pada algoritma PTD
Pada algoritma PTD, jika proses pendek terus berdatangan maka proses panjang akan terbengkalai. Pada algoritma RPTD, lama tunggu akan meningkatkan prioritas sehingga pada suatu saat proses panjang memperoleh prioritas. Makin lama menunggu, makin besar RP sehingga makin tinggi prioritas
Contoh:
Nama proses | Saat tiba | Lama proses |
A | 0 | 4 |
B | 1 | 2 |
C | 2 | 5 |
D | 3 | 8 |
E | 4 | 4 |
STEP 1
Nama proses | Tiba selama | Ratio penalti |
B | 3 | (3+2)/2=2.5 |
C | 2 | (2+5)/5=1.2 |
D | 1 | (1+8)/8=1.125 |
E | 0 | (0+4)/4=1 |
STEP 2
Nama proses | Tiba selama | Ratio penalti |
C | 4 | (4+5)/5=1.8 |
D | 3 | (3+8)/8=1.375 |
E | 2 | (2+4)/4=1.5 |
STEP 3
Nama proses | Tiba selama | Ratio penalti |
D | 8 | (8+8)/8=2 |
E | 7 | (7+4)/4=2.75 |
TABEL RPTD
Nama Proses | Saat Tiba | Lama Proses | Saat Mulai | Saat Rampung | Lama Tanggap |
A | 0 | 4 | 0 | 4 | 4 |
B | 1 | 2 | 4 | 6 | 5 |
C | 2 | 5 | 6 | 11 | 9 |
D | 3 | 8 | 15 | 23 | 20 |
E | 4 | 4 | 11 | 15 | 11 |
Jumlah | 49 | ||||
Rerata | 9.8 | ||||
Barisan proses
saat | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |||||||||||||
barisan | A | A | A | A | B | B | C | C | C | C | ||||||||||||||
saat | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |||||||||||||
barisan | C | E | E | E | E | D | D | D | D | D | ||||||||||||||
saat | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | |||||||||||||
barisan | D | D | D | |||||||||||||||||||||
5. Algoritma 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.
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.
Contoh:
Tabel proses putar gelang
Tabel proses putar gelang
Nama proses | Saat tiba | Lama proses |
A | 0 | 5 |
B | 2 | 3 |
C | 5 | 7 |
D | 6 | 1 |
E | 7 | 6 |
Kuantum ¹ 3
Barisan proses
saat | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |||||||||||||
barisan | A | A | A | B | B | B | A | A | C | D | ||||||||||||||
saat | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |||||||||||||
barisan | E | E | C | C | C | E | E | E | C | C | ||||||||||||||
saat | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | |||||||||||||
barisan | C | E | ||||||||||||||||||||||
Tabel putar gelang
Nama Proses | Saat Tiba | Lama Proses | Saat Mulai | Saat Rampung | Lama Tanggap |
A | 0 | 5 | 0 | 8 | 8 |
B | 2 | 3 | 3 | 6 | 4 |
C | 5 | 7 | 8 | 21 | 16 |
D | 6 | 1 | 9 | 10 | 4 |
E | 7 | 6 | 10 | 22 | 15 |
Jumlah | 47 | ||||
Rerata | 9.6 | ||||

0 comments:
Post a Comment