Anda di halaman 1dari 12

BAB I

PENDAHULUAN
A. LATAR BELAKANG

Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang


berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan adalah fungsi dasar
dari sistem operasi. Semua resources pada komputer dijadwalkan sebelum digunakan.
Penjadwalan bertugas untuk memutuskan proses yang harus berjalan serta kapan dan selama
berapa lama proses itu berjalan.
Penjadwalan proses yaitu kumpulan kebijaksanaan dari mekanisme sistem operasi
yang berkaitan dengan urutan kerja yang di lakukan oleh sistem komputer.
Adapun tugas penjadwalan yaitu untuk memutuskan:
1. Proses yang harus berjalan
2. Kajian dan selama berapa lama proses itu bekerja

B. RUMUSAN MASALAH

1. Bagaimana cara penjadualan dengan menggunakan strategi penjadualan berprioritas dan


penjadualan terjamin, ketika pemroses melakukan eksekusi proses yang berkaitan
dengan operasi pada beberapa peripheral I/O secara bersamaan?
2. Bagaimana membedakan strategi penjadualan berprioritas dan penjadualan
terjamin, ketika penjadualan tersebut bekerja pada peripheral I/O?

C. TUJUAN
1. Untuk mengetahui cara penjadualan dengan menggunakan strategi penjadualan
berprioritas dan penjadualan terjamin, ketika pemroses melakukan eksekusi proses yang
berkaitan dengan operasi pada beberapa peripheral I/O secara bersamaan
2. Untuk membedakan strategi penjadualan berprioritas dan penjadualan terjamin, ketika
penjadualan tersebut bekerja pada peripheral I/O
BAB II
PEMBAHASA
N

A. KONSEP DASAR PENJADWALAN PROSES


Pada sistem komputer terdapat beberapa bentuk penjadwalan :
1. First-Come First-Served Scheduling (FCFS)
Inti dari algoritma ini adalah simple / paling sederhana karena prinsipnya sama seperti
prinsip antrian tak berprioritas. Page yang masuk terlebih dahulu maka yaitu yang akan keluar
duluan juga. Untuk algoritma ini menggunakan structure data stack. Jadi kerjanya yaitu dimana
kalau tidak ada frame yang kosong saat terjadi page fault maka korban yang dipilih adalah frame
dengan stack paling bawah seperti hal nya halaman yang sudah lama tersimpan didalam memory
maka dari itu algoritma ini juga bisa memindahkan page yang sering digunakan.
FCFS/FIFO bisa diartikan sebagai Proses yg tiba lebih dahulu akan dilayani lebih
dahulu.Kalau ada proses tiba pada waktu yg sama, maka pelayanan mereka dilaksanakan melalui
urutan mereka dalam antrian.Proses di antrian belakang harus menunggu sampai semua proses di
depannya selesai.Setiap proses yang berada pada status ready dimasukkan ke dalam FCFS queue
sesuai dengan waktu kedatangannya.
Proses yang pertama kali meminta jatah waktu untuk menggunakan CPU akan dilayani
terlebih dahulu. Pada skema ini, proses yang meminta CPU pertama kali akan dialokasikan ke
CPU pertama kali.
Misalnya terdapat tiga proses yang dapat dengan urutan P1, P2, dan P3 dengan waktu
CPU-burst dalam milidetik yang diberikan sebagai berikut :
Process Burst Time
P1 24
P2 3
P3 3

Gant Chart dengan penjadwalan FCFS adalah sebagai berikut :

P1 P2 P3

0 24 27 30
Waktu tunggu untuk P1 adalah 0, P2 adalah 24 dan P3 adalah 27 sehingga rata-rata waktu
tunggu adalah (0 + 24 + 27)/3 = 17 milidetik. Sedangkan apabila proses datang dengan urutan
P2, P3, dan P1, hasil penjadwalan CPU dapat dilihat pada gant chart berikut :

P2 P3 P1

0 3 6 30

Waktu tunggu sekarang untuk P1 adalah 6, P2 adalah 0 dan P3 adalah 3 sehingga ratarata
waktu tunggu adalah (6 + 0 + 3)/3 = 3 milidetik. Rata-rata waktu tunggu kasus ini jauh lebih
baik dibandingkan dengan kasus sebelumnya. Pada penjadwalan CPU dimungkinkan terjadi
Convoy effect apabila proses yang pendek berada pada proses yang panjang.
Algoritma FCFS termasuk non-preemptive. karena, sekali CPU dialokasikan pada suatu
proses, maka proses tersebut tetap akan memakai CPU sampai proses tersebut melepaskannya,
yaitu jika proses tersebut berhenti atau meminta I/O.
Contoh Soal :
Jika diketahui terdapat 5 macam antrian proses, yaitu A-B-C-D-E dengan waktu kedatangan
semuanya 0-1-2-2-5. Lama proses berturut-turut antara lain: 5-2-6-8-3.
Pertanyaan:
Kapan dimulainya eksekusi dari tiap-tiap antrian proses tsb?
Kapan selesai eksekusinya?
Hitung Turn Arround Time (TA)-nya?
Berata rerata TA?
Rumus
TA = Waktu Tunggu + Lama Eksekusi
Rerata TA = ∑TA / ∑Job
Waktu Tunggu = Mulai Eksekusi – Waktu Tiba
jawab:

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.
 Algoritma ini juga menerapkan konsep nonpreemptive, yaitu setiap proses yang sedang
dieksekusi oleh CPU tidak dapat di-interrupt oleh proses yang lain.

2. Shortest Job First Scheduler (SJF)


Shortest Job First (SJF) Merupakan penjadwalan tidak berprioritas dan Non Preventive.
Maksud NonPreveentive disini ialah ketika proses diberi jatah waktu penggunaan prosessor
maka processor tidak dapat diambil proses lain, sampai proses tersebut selesai di eksekusi.
Penjadwalan ini mengasumsikan waktu jalan proses sampai selesai diketahui sebelumnya.
Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai
selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah. Dalam artian
waktu yang digunakan saat program (job) mulai masuk ke system sampai proses diselesaikan
system, membutuhkan waktu yang singkat. Shortest Job First (SJF) bisa dikatakan algoritma
penjadwalan yang optimal dengan rata-rata waktu tunggu yang minimal.
Selain FCFS/FIFO ada juga yang namanya sjf(shortest job first)bisa diartikan yaitu
Setiap proses yang ada di ready queue akan dieksekusi berdasarkan burst time terkecil.
Mengakibatkan waiting time yang pendek untuk setiap proses dan waiting time rata-ratanya juga
menjadi pendek, sehingga dapat dikatakan ini adalah algoritma yang optimal.
Langkahnya:
Langkah I: tentukan urutan prioritas berdasarkan pendeknya proses yang dilayani
Langkah II: penentuan proses mana yg dilayani oleh pemroses.
Contoh soal (dengan waktu tiba berbeda):

Jawaban :

Pada penjadwalan SJF, proses yang memiliki CPU burst paling kecil dilayani terlebih
dahulu. Terdapat dua skema :
1. Non preemptive, bila CPU diberikan pada proses, maka tidak bisa ditunda sampai CPU
burst selesai.
2. Preemptive, jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa
waktu proses yang saat itu sedang dieksekusi, proses ini ditunda dan diganti dengan
proses baru. Skema ini disebut dengan Shortest-RemainingTime-First (SRTF).
SJF adalah algoritma penjadwalan yang optimal dengan rata-rata waktu tunggu yang
minimal.
Misalnya terdapat empat proses dengan panjang CPU burst dalam milidetik.
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
Penjadwalan proses dengan algoritma SJF (non-preemptive) dapat dilihat pada gant chart berikut
:

P1 P3 P2 P4

0 7 8 12 16
Waktu tunggu untuk P1 adalah 0, P2 adalah 26, P3 adalah 3 dan P4 adalah 7 sehingga rata-rata
waktu tunggu adalah (0 + 6 + 3 + 7)/4 = 4 milidetik. Sedangkan Penjadwalan proses dengan
algoritma SRTF (preemptive) dapat dilihat pada gant chart berikut :

P1 P2 P3 P2 P4 P1

11 16
0 2 4 5 7

Waktu tunggu untuk P1 adalah 9, P2 adalah 1, P3 adalah 0 dan P4 adalah 4 sehingga rata-rata
waktu tunggu adalah (9 + 1 + 0 + 4)/4 = 3 milidetik.
Meskipun algoritma ini optimal, namun pada kenyataannya sulit buntu
diimplementasikan karena sulit untuk mengetahui panjang CPU burst berikutnya. Namun nilai
ini dapat diprediksi. CPU burst berikutnya biasanya diprediksi sebagai suatu rata-rata
eksponensial yang ditentukan dari CPU burst sebelumnya atau “Exponential Average”.
Grafik hasil prediksi CPU burst dapat dilihat pada Gambar 4-3.

Gambar 4-3 : Prediksi panjang CPU burst berikutnya

Sebagai contoh, jika α = 0,5, dan:


CPU burst (τn ) = 6 4 6 4 13 13 13 .
..
τn = 10 8 6 6 5 9 11 12 .
..

Pada awalnya τ0 = 6 dan τn = 10, sehingga : τ2 = 0,5 * 6 + (1 - 0,5) * 10 = 8 Nilai yang


dapat digunakan untuk mencari τ3 τ3 = 0,5 * 4 + (1 - 0,5) * 8 = 6

3. Priority Scheduling
Algoritma SJF adalah suatu kasus khusus dari penjadwalan berprioritas. Tiaptiap proses
dilengkapi dengan nomor prioritas (integer). CPU dialokasikan untuk proses yang memiliki
prioritas paling tinggi (nilai integer terkecil biasanya merupakan prioritas terbesar). Jika
beberapa proses memiliki prioritas yang sama, maka akan digunakan algoritma FCFS.
Penjadwalan berprioritas terdiri dari dua skema yaitu non preemptive dan preemptive. Jika ada
proses P1yang datang pada saat P0sedang berjalan, maka akan dilihat prioritas P1. Seandainya
prioritas P1 lebih besar dibanding dengan prioritas P0, maka pada non-preemptive, algoritma
tetap akan menyelesaikan P0sampai habis CPU burst-nya, dan meletakkan P1 pada posisi
head
queue. Sedangkan pada preemptive, P0akan dihentikan dulu, dan CPU ganti dialokasikan untuk
P1.
Misalnya terdapat lima proses P1, P2, P3, P4dan P5yang datang secara berurutan dengan
CPU burst dalam milidetik.
Process Burst Time Priority
P1 10 3
P2 1 1
P3 2 3
P4 1 4
P5 5 2
Penjadwalan proses dengan algoritma priority dapat dilihat pada gant chart berikut :

P2 P5 P1 P 3P 4

0 1 6 16 18 19
Waktu tunggu untuk P1 adalah 6, P2 adalah 0, P3 adalah 16, P4 adalah 18 dan P5 adalah 1
sehingga rata-rata waktu tunggu adalah (6 + 0 +16 + 18 + 1)/5 = 8.2 milidetik.

4. Round-Robin Scheduling
Disingkat dengan RR. Model Penjadwalan. Penjadwalan ini merupakan :

a) Penjadwalan preemptive, bukan di-preempt oleh proses lain, tapi terutama oleh penjadwal
berdasarkan lama waktu berjalannya proses, disebut preempt by time.
b) Penjadwal tanpa prioritas.

Semua proses dianggap penting dan diberi sejumlah waktu proses yang disebut kwanta
(quantum) atau time slice dimana proses itu berjalan.

Ketentuan algoritma round robin adalah sebagai berikut:

1. Jika kwanta dan proses belum selesai maka proses menjadi runnable dan pemroses dialihkan
ke proses lain.
2. Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka
proses menjadi blocked dan pemroses dialihkan ke proses lain
3. Jika kwanta belum habis tapi proses telah selesai, maka proses diakhiri dan pemroses
dialihkan ke proses lain.
Algoritma penjadwalan ini dapat diimplementasi sebagai berikut:
- Mengelola senarai proses read (runnable) sesuai urutan kedatangan.
- Ambil proses yang berada di ujing depan antrian menjadi running.
- Bila kwanta belum habis dan proses selesai maka ambil proses di ujung depan antrian
proses ready.
- Jika kwanta habis dan proses belum selesai maka tempatkan proses running ke ekor
antrian proses ready dan ambil proses di ujung depatn antrian proses ready.

Round Robin
Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time
quantum. Jika time quantum-nya habis atau proses sudah selesai, CPU akan dialokasikan ke proses
berikutnya. Tentu proses ini cukup adil karena tak ada proses yang diprioritaskan, semua proses
mendapat jatah waktu yang sama dari CPU yaitu (1/n), dan tak akan menunggu lebih lama dari (n-
1)q dengan q adalah lama 1 quantum.

Algoritma ini sepenuhnya bergantung besarnya time quantum. Jika terlalu besar, algoritma ini akan
sama saja dengan algoritma first come first served. Jika terlalu kecil, akan semakin banyak peralihan
proses sehingga banyak waktu terbuang.

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 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.

Konsep dasar dari algoritma ini adalah dengan menggunakan time-sharing. Pada
dasarnya algoritma ini sama dengan FCFS, hanya saja bersifat preemptive. Setiap proses
mendapatkan waktu CPU yang disebut dengan waktu quantum (quantum time) untuk membatasi
waktu proses, biasanya 1-100 milidetik. Setelah waktu habis, proses ditunda dan ditambahkan
pada ready queue.
Jika suatu proses memiliki CPU burst lebih kecil dibandingkan dengan waktu quantum,
maka proses tersebut akan melepaskan CPU jika telah selesai bekerja, sehingga CPU dapat
segera digunakan oleh proses selanjutnya. Sebaliknya, jika suatu proses memiliki CPU burst
yang lebih besar dibandingkan dengan waktu quantum, maka proses tersebut akan dihentikan
sementara jika sudah mencapai waktu quantum, dan selanjutnya mengantri kembali pada posisi
ekor dari ready queue, CPU kemudian menjalankan proses berikutnya.
Jika terdapat n proses pada ready queue dan waktu quantum q, maka setiap proses
mendapatkan 1/n dari waktu CPU paling banyak q unit waktu pada sekali penjadwalan CPU.
Tidak ada proses yang menunggu lebih dari (n-1)q unit waktu. Performansi algoritma round
robin dapat dijelaskan sebagai berikut, jika q besar, maka yang digunakan adalah algoritma
FIFO, tetapi jika q kecil maka sering terjadi context switch.
Misalkan ada 3 proses: P1, P2, dan P3yang meminta pelayanan CPU dengan quantum-time
sebesar 4 milidetik.
Process Burst Time
P1 24
P2 3
P3 3
Penjadwalan proses dengan algoritma round robin dapat dilihat pada gant chart berikut :

P1 P2 P3 P1 P1 P1 P1 P1

0 4 7 10 14 18 22 26 30
Waktu tunggu untuk P1 adalah 6, P2 adalah 4, dan P3 adalah 7 sehingga rata-rata waktu tunggu
adalah (6 + 4 + 7)/3 = 5.66 milidetik.
Algoritma Round-Robin ini di satu sisi memiliki keuntungan, yaitu adanya keseragaman
waktu. Namun di sisi lain, algoritma ini akan terlalu sering melakukan switching seperti yang
terlihat pada Gambar 4-4. Semakin besar quantum-timenya maka switching yang terjadi akan
semakin sedikit.

Gambar 4-4 : Menunjukkan waktu kuantum yang lebih kecil meningkatkan

context switch
Waktu turnaround juga tergantung ukuran waktu quantum. Seperti pada Gambar 4-5, rata-rata
waktu turnaround tidak meningkat bila waktu quantum dinaikkan. Secara umum, rata-rata
waktu turnaround dapat ditingkatkan jika banyak proses menyelesaikan CPU burst berikutnya
sebagai satu waktu quantum. Sebagai contoh, terdapat tiga proses masing-masing 10 unit waktu
dan waktu quantum 1 unit waktu, rata-rata waktu turnaround adalah 29. Jika waktu quantum 10,
sebaliknya, rata-rata waktu turnaround turun menjadi 20.

Gambar 4-5 : Menunjukkan waktu turnaround berbeda pada waktu quantum yang berbeda

Kelemahan
 Permasalahan utama 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 (context switches time).
 Jika time quantum terlalu besar, algoritma Round Robin akan berjalan seperti algoritma
First Come First Served.
BAB III
PENUTUP

A. Kesimpulan
Priority Schedulling (PS) adalah tiap proses diberi prioritas dan proses yang berprioritas
tertinggi mendapat jatah waktu lebih dulu (running). Berasumsi bahwa masing-masing proses
memiliki prioritas tertentu, sehingga akan dilaksanakan berdasar prioritas yang dimilikinya.
Ilustrasi yang dapat memperjelas prioritas tersebut adalah dalam komputer militer, dimana
proses dari jendral berprioritas 100, proses dari kolonel 90, mayor berprioritas 80, kapten
berprioritas 70, letnan berprioritas 60 dan seterusnya. Dalam UNIX perintah untuk mengubah
prioritas menggunakan perintah nice.
Penjadwalan berprioritas dinamis memberikan janji yang realistis (memberi daya pemroses
yangsama) untuk membuat dan menyesuaikan performance adalah jika ada N pemakai,sehingga
setiap proses (pemakai) akan mendapatkan 1/N dari daya pemroses CPU.
Algoritma penjadwalan PS (priority scheduling) adalan penjadwalan berprioritas yang setiap
proses dilengkapi dengan prioritas. CPU dialokasikan untuk proses yang memiliki prioritas
paling tinggi. Jika beberapa proses memiliki prioritas yang sama, maka akan digunakan
Algoritma FiFo

B. Saran
Demikian makalah yang saya buat,semoga bermanfaat bagi kita semua,dan terutama bagi
saya pribadi,untuk itu saya sangat membutuhkan saran dan kritik yang bersifat membangun
demi kesempurnaan makalah saya ini

Anda mungkin juga menyukai