Dosen Pengampu :
Di susun oleh :
Kelompok 6
Puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-
Nya sehingga kami dapat menyelesaikan tugas makalah yang berjudul “KONSEP
PENJADWALAN PROSES SISTEM OPERASI” ini tepat pada waktunya.
Adapun tujuan dari penulisan dari makalah ini adalah untuk memenuhi tugas dari
Ibu Putri Mentari Endraswari,M.Kom pada mata kuliah Sistem Operasi.Selain itu,
makalah ini juga bertujuan untuk menambah wawasan kami mengenai penjadwalan
dalam proses sisem operasi bagi para pembaca dan juga bagi penulis.
Kami juga mengucapkan terima kasih kepada semua pihak yang telah membagi
sebagian pengetahuannya sehingga kami dapat menyelesaikan makalah ini.Kmi
menyadari, makalah yang kami tulis ini masih jauh dari kata sempurna.Oleh karena itu,
kritik dan saran yang membangun akan kami nantikan demi kesempurnaan makalah ini.
Penulis
1
DAFTAR ISI
Kata Pengantar..................................................................................................................... 1
DAFTAR ISI........................................................................................................................2
BAB I................................................................................................................................... 2
1.1 Latar Belakang Masalah......................................................................................... 3
1.2 Rumusan Masalah...................................................................................................3
1.3 Tujuan.....................................................................................................................3
BAB II..................................................................................................................................4
2.1 Pengertian Sistem Operasi......................................................................................4
2.2 Algoritma Penjadwalan.......................................................................................... 5
2.3 Penjadwalan dalam Sistem Operasi........................................................................9
BAB III................................................................................................................................ 4
3.1 Kesimpulan...........................................................................................................14
Daftar Pustaka....................................................................................................................15
2
BAB I
Pendahuluan
1.3 Tujuan
3
BAB II
Pembahasan
Dalam Sistem Operasi (Operating System) tentunya banyak sekali proses yang
harus dieksekusi. Maka muncul permasalahan untuk memutuskan proses mana yang
akan dilaksanakan dalam suatu sistem. untuk itu diperlukan kebijaksanaan dan
mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem
komputer.
Untuk menyikapi hal tersebut maka dirumuskanlah sebuah Algoritma
penjadwalan yang berfungsi sebagai penentu proses manakah yang akan di eksekusi
terlebih dahulu oleh CPU.
Proses yang belum mendapat jatah alokasi dari CPU, akan mengantri di ready
queue. Kemudian dilakukan proses eksekusi. Algoritma penjadwalan tersebut pun ada
beberapa cara, tergantung kebutuhan kita untuk menggunakan cara yang mana.
4
2.2 Algoritma Penjadwalan
Berikut beberapa Algoritma Penjadwalan, antara lain:
1. Round Robin.
Yaitu salah satu Algoritma penjadwalan yang menggilir proses secara berurutan.
Dalam algoritma ini setiap proses akan mendapatkan waktu dari CPU yang kita kita sebut
dengan time quantum. Time quantum adalah suatu satuan waktu.
Time quantum inilah yang menentukan proses mana yang akan dikerjakan
terlebih dahulu oleh CPU dan kemudian proses mana yang akan dilakukan berikutnya.
Biasanya suatu proses mendapat jatah time quantum yang sama dari CPU yakni 1-100
milidetik atau (1/n).
Jika proses yang sedang dieksekusi selesai dalam waktu kurang dari 1 time
quantum, tidak ada masalah. Tetapi jika proses berjalan melebihi 1 time quantum, maka
proses tersebut akan dihentikan,lalu digantikan oleh proses yang berikutnya. Proses yang
dihentikan tersebut akan diletakkan di queue di urutan paling belakang.
Permasalahan utama pada Round Robin adalah menentukan besarnya time
quantum. Jika time quantum yang ditentukan terlalu kecil, maka sebagian besar proses
tidak akan selesai dalam 1 time quantum. Hal ini tidak baik karena akan terjadi banyak
switch, padahal CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain
(disebut dengan context switches time).Sebaliknya, jika time quantum terlalu besar,
Algoritma Round Robin akan berjalan seperti algoritma First Come First Served.
Time quantum yang ideal adalah jika 80% dari total proses memiliki CPU burst
time yang lebih kecil dari 1 time quantum.
5
FCFS ini melakukan proses menurut kapan proses itu datang atau yang bisa kita katakan
sebagai proses antrian, maka proses selanjutnya akan di kerjakan setelah proses yang
berada di depannya selesai untuk di kerjakan. Tadi proses P1 selesai di kerjakan di 8,
sementara itu ada P2,P3,dan P4 yang sedang menunggu untuk di kerjakan selanjutnya.
Ketika P1 selesai dikerjakan di 8, maka akan di lanjutkan dengan pengerjaan P2
yang memiliki waktu pengerjaan sebesar 7, sehingga proses P2 akan selesai di kerjakan
pada posisi 15. P1 dan P2 sudah selesai pengerjaannya, tinggal menunggu pengerjaan
daripada P3 dan P4. Dan begitupun selanjutnya sampai P4 selesai untuk di proses.
Algoritma FCFS dalam prosesnya tidak mengizinkan sebuah penyelaan dari segi
apapun, dengan kata lain Algoritma FCFS ini bersifat non-preempetive atau tidak dapat
dilakukan interrupt oleh proses lain, walaupun proses yang menunggu memiliki prioritas
yang lebih tinggi.
Kelemahan dari algoritma ini:
Waiting time rata-ratanya cukup lama
Terjadinya convoy effect, yaitu proses-proses menunggu lama untuk menunggu 1
proses besar yang sedang dieksekusi oleh CPU
3. Priority Scheduling
Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan
proses yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya masing-
masing.
Prioritas tersebut dapat ditentukan melalui beberapa karakteristik antara lain:
- Time limit
- Memory requirement
- Akses file
- Perbandingan antara I/O Burst dengan CPU Burst
- Tingkat kepentingan proses
Priority scheduling juga dapat dijalankan secara preemptive maupun
nonpreemptive.
Pada preemptive, jika ada suatu proses yang baru datang memiliki prioritas yang
lebih tinggi daripada proses yang sedang dijalankan, maka proses yang sedang berjalan
6
tersebut dihentikan, lalu CPU dialihkan untuk proses yang baru datang tersebut.
Sementara itu, pada non-preemptive, proses yang baru datang tidak dapat menganggu
proses yang sedang berjalan, tetapi hanya diletakkan di dalam queue.
Kelemahan pada priority scheduling adalah dapat terjadinya indefinite blocking
(starvation). Yaitu proses dengan prioritas rendah berkemungkinan untuk tidak
dieksekusi jika terdapat proses lain yang memiliki prioritas lebih tinggi darinya. Solusi
dari permasalahan ini adalah aging, yaitu meningkatkan prioritas dari setiap proses yang
menunggu dalam queue secara bertahap.
4. Shortest-Job-First-Scheduling (SJF)
Algoritma Shortest Job First Scheduling (SJF) ini memungkinkan setiap proses
yang memiliki burst time (waktu pengerjaan) terkecil yang akan dikerjakan terlebih
dahulu. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses dan
otomatis waiting time rata-ratanya juga menjadi pendek pula, sehingga dapat dikatakan
bahwa algoritma ini adalah algoritma yang optimal.
Algoritma Shortest Job First Scheduling (SJF) ini memiliki 2 jenis, yaitu :
a. Shortest Job First Scheduling Non-preemptive
CPU tidak memperbolehkan proses yang ada di ready queue untuk menggeser
proses yang sedang dieksekusi oleh CPU meskipun proses yang baru tersebut mempunyai
burst time yang lebih kecil.
b. Shortest Job First Scheduling Preemptive
Jika ada proses yang sedang dieksekusi oleh CPU dan terdapat proses di ready
queue dengan burst time yang lebih kecil daripada proses yang sedang dieksekusi
tersebut, maka proses yang sedang dieksekusi oleh CPU akan digantikan oleh proses
yang berada di ready queue tersebut. Preemptive SJF sering disebut juga Shortest-
Remaining-Time-First scheduling.
Walaupun algoritma ini dapat disebut algoritma yang cukup optimal, algoritma ini masih
memiliki beberapa kekurangan yaitu:
- Susahnya untuk memprediksi burst time proses yang akan dieksekusi selanjutnya
7
- Proses yang mempunyai burst time yang besar akan memiliki waiting time yang besar
pula karena yang dieksekusi terlebih dahulu adalah proses dengan burst time yang lebih
kecil
5. Multilevel Queue
Ide dasar dari algoritma ini berdasarkan pada sistem prioritas proses. Prinsipnya,
jika setiap proses dapat dikelompokkan berdasarkan prioritasnya,hal ini dapat dilihat
bahwa seolah-olah algoritma dengan prioritas yang dasar membentuk suatu
queueberdasarkan prioritas proses, dimana setiap queue akan berjalan dengan algoritma
FCFS dan dapat diketahui bahwa algoritma FCFS memiliki banyak kelemahan, dan oleh
karena itu maka dalam prakteknya, algoritma multilevel queue memungkinkan adanya
penerapan algoritma internal dalam masing-masing sub-antriannya untuk meningkatkan
kinerjanya, dimana setiap sub-antrian bisa memiliki algoritma internal yang berbeda.
Berawal dari priority scheduling, algoritma ini pun memiliki kelemahan yang
sama dengan priority scheduling, yaitu sangat mungkin bahwa suatu proses pada queue
dengan prioritas rendah bisa saja tidak mendapat jatah CPU.
Untuk mengatasi hal tersebut, salah satu caranya adalah dengan memodifikasi
algoritma ini dengan adanya jatah waktu maksimal untuk tiap antrian, sehingga jika suatu
antrian memakan terlalu banyak waktu, maka prosesnya akan dihentikan dan digantikan
oleh antrian dibawahnya, dan tentu saja batas waktu untuk tiap antrian bisa saja sangat
berbeda tergantung pada prioritas masing-masing antrian.
8
Algoritma ini sangat bergantung pada besar kecilnya quantum masing-masing
proses. Semua proses yang baru datang akan diletakkan pada queue 0 (quantum = 8 ms).
Jika suatu proses tidak dapat diselesaikan dalam 8 ms, maka proses tersebut akan
dihentikan dan dipindahkan ke queue 1 (quantum = 16 ms). Queue 1 hanya akan
dikerjakan jika tidak ada lagi proses di queue 0, dan jika suatu proses di queue 1 tidak
selesai dalam 16 ms, maka proses tersebut akan dipindahkan ke queue 2 4. Queue 2 akan
dikerjakan bila queue 0 dan 1 kosong, dan akan berjalan dengan algoritma FCFS.
Di dalam sebuah sistem komputer, jika terdapat beberapa proses,maka satu proses
akan berjalan dan proses lain akan menunggu sampai proses sebelumnya selesai
dieksekusi.Ide multiprogramming sebenarnya sederhana karena satu proses dieksekusi
sampai selesai tanpa menunggu, biasanya terjadi dalam operasi I/O.Pada
multiprogramming, dalam suatu waktu tertentu beberapa proses akan disimpan dimemori.
Ketika proses tertentu harus menunggu dalam antrian, setiap kali satu proses harus
menunggu, proses lain akan mengambil alih penggunaan pemroses. Dalam hal ini,sistem
operasi mengambil pemroses darinya dan memberikan pemroses ke proses lain. Pola ini
dilakukan secara terus-menerus.
9
Tujuan penjadwalan yaitu :
a. Penjadwalan CPU
b. Kriteria Penjadwalan
10
queue,eksekusi oleh CPU,dan mengerjakan I/O samapi semua proses-proses tersebut
diselesaikan.
4. Waiting time: Waktu yang di perlukan oleh suatu proses untuk menunggu di ready
queue.
5. Response time: Waktu yang di butuhkan oleh suatu proses dari minta di layani
hingga ada respont pertama yang menanggapi permintaan tersebut.
6. Fairness: Suatu algoritma harus memperhatikan pengawasan nilai prioritas dari suatu
proses (menghindari terjadinya starvation CPU time).
Penjadwalan preemptive
adalah salah satu yang dapat dilakukan dalam keadaan ketika suatu proses beralih
dari menjalankan status ke status siap atau dari status menunggu ke status siap . Di
sini, sumber daya (siklus CPU) dialokasikan ke proses untuk jumlah waktu terbatas dan
kemudian dihapus, dan proses tersebut ditempatkan kembali dalam antrian siap lagi jika
masih ada sisa waktu burst CPU. Proses tetap dalam antrian siap sampai mendapat
kesempatan berikutnya untuk dieksekusi.
Jika proses dengan prioritas tinggi tiba di antrian siap, ia tidak harus menunggu
proses saat ini untuk menyelesaikan waktu burst-nya. Sebagai gantinya, proses saat ini
terputus di tengah pelaksanaan dan ditempatkan dalam antrian siap sampai proses dengan
prioritas tinggi memanfaatkan siklus CPU. Dengan cara ini, setiap proses dalam antrian
siap mendapatkan waktu untuk menjalankan CPU. Itu membuat penjadwalan preemptive
fleksibel tetapi, meningkatkan overhead beralih proses dari menjalankan negara ke status
siap dan ayat.
Penjadwalan Non-preemptive
11
adalah penjadwalan yang dapat diterapkan dalam keadaan ketika suatu
proses berakhir, atau suatu proses beralih dari berjalan ke keadaan menunggu . Dalam
Penjadwalan Non-Preemptive, setelah sumber daya (CPU) dialokasikan untuk suatu
proses, proses memegang CPU sampai dihentikan atau mencapai keadaan menunggu.
Dalam penjadwalan Non-preemptive, jika suatu proses dengan waktu burst CPU
yang lama dieksekusi maka proses yang lain harus menunggu untuk waktu yang lama
yang meningkatkan waktu tunggu rata-rata dari proses dalam antrian siap. Namun,
penjadwalan non-preemptive tidak memiliki overhead untuk mengalihkan proses dari
antrian siap ke CPU tetapi itu membuat penjadwalan menjadi kaku karena proses dalam
eksekusi bahkan tidak diperuntukkan untuk proses dengan prioritas lebih tinggi.
12
preemptive, jika CPU dialokasikan untuk proses dengan waktu burst lebih besar
maka proses dengan waktu burst kecil mungkin harus kelaparan.
5. Penjadwalan preemptive cukup fleksibel karena proses kritis diperbolehkan untuk
mengakses CPU ketika mereka tiba di antrian siap, tidak peduli proses apa yang
sedang dieksekusi saat ini. Penjadwalan non-preemptive adalah kaku karena
bahkan jika proses kritis memasuki antrian siap proses yang menjalankan CPU
tidak terganggu.
6. Penjadwalan Preemptive adalah asosiatif biaya karena harus menjaga integritas
data bersama yang tidak demikian halnya dengan Penjadwalan Non-preemptive.
13
BAB III
Penutup
3.1 Kesimpulan
Turn arround time, waktu sejak program masuk ke system sampai proses selesai.
14
Daftar Pustaka
https://books.google.co.id/books?hl=id&lr=&id=xrKACwAAQBAJ&oi=fnd&pg=PR3&
dq=konsep+penjadwalan+proses+sistem+operasi&ots=x0TcFhe9fr&sig=x_hSCZcumbz-
JUj4czsq0I10n0Y&redir_esc=y#v=onepage&q=konsep%20penjadwalan%20proses%20s
istem%20operasi&f=false
https://ejournal.undiksha.ac.id/index.php/JST/article/view/9061/6364
https://www.tutorialspoint.com/operating_system/os_process_scheduling_algorithms.htm
http://www.studytonight.com/operating-system/cpu-scheduling
http://cs.stackexchange.com/questions/35723/can-shortest-job-first-scheduling-be-
subject-to-convoy-effect
http://ahmadpujianto100.blogspot.com/2018/04/makalah-penjadwalan-proses-pada-
sistem.html?m=1
http://sistemoperasi32.blogspot.com/2015/04/konsepdasar-penjadwalan-proses.html
https://aristysaputri3.wordpress.com/sistem-operasi/penjadwalan-proses/
https://www.google.com/amp/s/djamalstiki.wordpress.com/2015/04/06.konsep-
penjadwalan-dan-operasi-proses-sistem-operasi/amp/
https://www.google.com/amp/s/creamyapples.wordpress.com/2014.05/09/sistem-operasi-
konsep-proses-konsep-penjadwalan/amp/
15