LAPORAN
HASIL PENJADWALAN FCFS SISTEM OPERASI
DISUSUN OLEH :
NAMA : ROSMAWATI BR BARUS
NIM :
201403002
PRODI :
TEKNIK INFORMATIKA
MATA KULIAH : SISTEM OPERASI
I. PENJADWALAN
A.DEFENISI PENJADWALAN
Pengertian penjadwalan
menurut beberapa orang ahli:
Menurut Baker
penjadwalan adalah kegiatan pengalokasian sumber-sumber atau mesin-mesin yang
ada untuk menjalankan sekumpulan tugas dalam jangka waktu tertentu. John E Biegelberkata Penjadwalan
proses adalah suatu kegiatan memasukkan sejumlah produk yang telah direncanakan
kedalam proses pengerjaannya.
Conway,at,al
Penjadwalan merupakan proses pengurutan pembuatan produk secara menyeluruh pada
beberapa mesin. Penjadwalan juga didefenisikan sebagai rencana pengaturan
urutan kerja serta pengalokasian sumber, baik waktu maupun fasilitas untuk
setiap operasi yang harus diselesaikan menurut Vollman.
Dari beberapa defenisi yang disebutkan diatas maka dapat ditarik
suatu defenisi bahwa Penjadwalan
adalah suatu kegiatan perancangan berupa
pengalokasian sumber daya baik mesin tenaga kerja untuk menjalankan sekumpulan
tugas sesuai prosesnya dalam jangka waktu tertentu. Dan merupakan kumpulan
kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan
kerja yang dilakukan sistem komputer.
Penjadwalan bertugas memutuskan proses yang harus berjalan,
kapan dan selama berapa lama proses berjalan.
B.TUJUAN PENJADWALAN
Beberapa
tujuan Penjadwalan dari berbagai sumber:
1. Menurut
Baker (1974), tujuan penjadwalan umumnya adalah :
a. Meningkatkatkan
produktifitas mesin, yaitu dengan mengurangi waktu mesin menganggur.
b. Mengurangi
persediaan barang setengah jadi dengan jalan mengurangi jumlah rata-rata
pekerjaan yang menunggu dalam antrian suatu mesin karena mesin tersebut sibuk.
c. Mengurangi
keterlambatan suatu pekerjaan. Setiap pekerjaan mempunyai batas waktu
penyelesaian, jika pekerjaan tersebut diselesaikan melewati batas waktu yang
ditentukan maka pekerjaan tersebut dinyatakan terlambat. Dengan metode
penjadwalan maka keterlambatan ini dapat dikurangi, baik waktu maupun
frekuensi.
2.
Menurut Narasimhan (1985), penjadwalan yang baik seharusnya simple,
mudah dimengerti dan dapat dilaksanakan oleh pihak manajemen dan oleh siapapun
yang menggunakannya. Aturan- aturan penjadwalan seharusnya cukup flexible untuk
memecahkan masalah yang tidak terprediksi sebelumnya dan membolehkan satu perencanaan
ulang.
3.
Benworth (1987) mengidentifikasikan
beberapa tujuan dari aktivitas penjadwalan, adalah sebagai berikut:
a. Meningkatkan
penggunaan sumber daya atau mengurangi waktu tunggunya, sehingga total waktu proses dapat berkurang dan
produktivitas dapat meningkat.
b. Mengurangi
persediaan barang setengah jadi atau mengurangi sejumlah pekerjaan menunggu
dalam antrian ketika sumber daya yang ada masih mengerjakan tugas yang lain.
Teori Baker mengatakan, jika aliran kerja suatu jadwal konstan, maka antrian
yang mengurangi rata-rata waktu alir akan mengurangi rata-rata persediaan
barang setengah jadi.
c. Mengurangi
beberapa kelambatan pada pekerjaan yang mempunyai batas waktu penyelesaian
sehingga akan meminimaliskan penalty cost (biaya kelambatan).
d. Membantu
pengambilan keputusan mengenai perencanaan kapasitas pabrik dan jenis kapasitas
yang dibutuhkan sehingga penambahan biaya yang mahal dapat dihindarkan.
C.
KRITERIA PENJADWALAN
Sasaran atau tujuan utama penjadwalan proses optimasi
kinerja menurut kriteria tertentu, dimana kriteria untuk mengukur dan optimasi
kerja penjadwalan antara lain:
1. Agar semua pekerjaan
memperoleh pelayanan yang adil (firness).
vAgar
pemakaian prosesor dapat dimaksimumkan.
vAgar
waktu tanggap dapat diminimumkan.
vAgar
pemakaian sumber daya seimbang.
vTurn
around time, waktu sejak program masuk ke system sampai proses selesai.
2. Efisien, proses tetap dalam keadaan sibuk
tidak menganggur.
vAgar
terobosan dapat dimaksimumkan.
3. Waktu tanggap
(response time):
vSistem
interaktif didefenisikan sebagai waktu yang dihabiskan dari saat karakter
terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul dilayar. Waktu
tanggap ini disebut terminal response time.
vSistem
waktu nyata didefenisikan sebagai waktu dari saat kejadiaan (internal atau
eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi,
disebut event response time.
4.Turn
Around time
Adalh 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, diekspresikan sebagai penjumlah waktu ekskusi(waktu pelayanan job) dan
waktu menunggu, yaitu: Turn around time = waktu eksekusi + waktu menunggu.
5.Throughput
Jumlah kerja yang dapat
diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput
adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval
waktu.
D.
TIPE PENJADWALAN
1. Penjadwalan jangka pendek (short term scheduler)
Bertugas
menjadwalkan alokasi pemroses diantara 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)
Setelah
eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena
membuat permintaan layanan masukan/ keluaran atau memanggil sustu system call.
Proses – proses tertunda tidak dapat membuat suatu kemajuan menuju selesai
sampai kondisi –kondisi yang menyebalkan 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 proses aktif. 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 dimasukkan kembali ke memori utama dan ready.
3.
Penjadwalan jangka panjang(long term
scheduler)
Penjadwalan ini bekerja
terhadap antrian batch dan memilih batch berikutnya yang harus diekskusi. Batch
biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (
yaitu waktu pemroses, memori, masukan/keluaran), program-program ini
berprioritas rendah, job-job interaktif rendah.
E. STRATEGI PENJADWALAN
Strategi penjadwalan pada Sistem Operasi adalah:
1. Preemptive
Schedulling
Penjadwalan yang memungkinkan Sistem
operasi memberhentikan sementara proses yang sedang berjalan untuk memberi
ruang kepada proses yang prioritasnya lebih tinggi.
2. Non
Preemptive Schedulling
Non
preemptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak
pernah melakukan context switch dari proses yang sedang berjalan ke proses yang
lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di-interup.
II. ALGORITMA PENJADWALAN
A. PENJADWALAN
FCFS ( FIRST COME,FIRST SERVED )
Penjadwalan FCFS merupakan algoritma
Penjadwalan yang paling sederhana yang digunakan CPU. Dengan menggunakan
algoritma ini setiap proses yang berada pada status ready dimasukkan kedalam
FIFO queue atau antrian dengan prinsip first in first out sesuai dengan waktu
kedatangannya. Pertama datang pertama dilayani (Firs In, Firs Out atau FIFO ),
tidak peduli apakah burst time nya panjang atau pendek, sebuah proses yang
sedang dikerjakan diselesaikan terlebih dulu barulah proses selanjutnya
dilayani.
Penjadwalan FCFS merupakan penjadwalan:
Penjadwalan non-prevebtive
(run-to-completion)
Penjadwalan tidak berprioritas
Ketentuan dari penjadwalan FCFS adalah:
Proses-proses diberi jatah waktu
pemroses, diurut dengan waktu kedatangannya.
Begitu proses mendapat jatah waktu
pemproses, proses dijalankan sampai proses tersebut selesai, walaupun ada
proses lain yang datang, proses tersebut berada dalam antrian sistem atau
disebut dengan ready queue.
Pada dasarnya algoritma penjadwalan
ini cukup adil dalam hal bahasa, karena proses yang datang lebih dulu
dikerjakan terlebih dahulu. Dari segi konsep sistem operasi, penjadwalan model
ini tidak adil karena proses-proses yang membutuhkan waktu yang lama membuat
proses-proses yang memiliki waktu proses yang lebih pendek menunggu sampai
proses yang lama tersebut selesai, sedangkan proses-proses yang tidak penting
membuat proses penting menunggu.
Penjadwalan FCFS cocok digunakan
untuk sistem batch yang sangat jarang melakukan interaksi dengan user secara
langsung, tapi tidak cocok digunakan untuk sistem interaktif karena tidak
memberi waktu tanggap yang bagus, begitu juga dengan waktu sistem nyata.
Kelebihan Penjadwalan FCFS
·
Dalam kriteria efisiensi, penjadwalan
FCFS sangat efisien dalam penggunaan proses.
·
Algoritmanya cukup sederhana
Kelemahan Penjadwalan FCFS
·
Dalam kriteria adil, penjadwalan FCFS
adil dalam arti resmi (dalam semantic/arti antrian) yaitu proses yang pertama
datang, akan dilayani pertama juga, tapi dinyatakan tidak adil karena
proses-proses yang perlu waktu lama membuat proses-proses pendek menunggu.
Proses-proses yang tidak penting dapat membuat proses-proses yang penting
menunggu.
·
Penjadwalan sangat tidak memuaskan karna
proses menunggu lama, waktu tanggapnya sangat jelek. Tidak cocok untuk sistem
interaktif.
·
Turn around time tidak bagus.
·
Throughtput kurang bagus.
·
Tidak dapat digunakan untuk sistem waktu
nyata(real-time applications.
Contoh dari penjadwalan
FCFS adalah:
Ada 4 proses yang
datang secara bersamaan yaitu P1,P2,P3,P4 dengan lama waktu kerja CPU (burs
time) adalah sebagai berikut:
|
PROSES
|
BURS TIME
|
ARIVAL TIME
|
|
P1
|
3
|
0
|
|
P2
|
5
|
2
|
|
P3
|
2
|
6
|
|
P4
|
4
|
3
|
Burs Time adalah = 3 + 5 + 2 + 4 =14 milidetik
Diagram Grant =
Pada diagram ini,
arrival timenya yang paling kecil dahulu lah yang dikerjakan. jadi urutannya
adalah :
|
PROSES
|
BURS
TIME
|
ARIVAL
TIME
|
|
P1
|
3
|
0
|
|
P2
|
5
+ 3 = 8
|
2
|
|
P4
|
4
+ 3 + 5 =12
|
3
|
|
P3
|
2
+ 4 + 5 + 3 =14
|
6
|
0 3 8 12 14
Average Waiting Time =
12 / 4 = 3 milidetik
Menentukan Turn Around
Time ( waktu penyelesaian) P1 =3,P2=8,P3=14,P4=12 maka : 3 + 8 + 14 + 12 = 37/4
= 9,25 milidetik
Hasil program dalam bahasa C++
Hasil akhir
Jika Arrival Time tiap
Proses diganti menjadi 0 seperti tabel berikut
|
PROSES
|
BURS TIME
|
ARIVAL TIME
|
|
P1
|
3
|
0
|
|
P2
|
5
|
0
|
|
P3
|
2
|
0
|
|
P4
|
4
|
0
|
Maka Gantt Chart-nya dapat digambarkan seperti
berikut:
0
3 8 10 14
Average Waiting Time :
0 + 3 + 8 + 10 = 21/4 = 5,25 milidetik
Turnd Arround Time : 0
+ 3 + 8 + 10 + 14 = 35 / 4 = 8,75 milidetik