Process and Threads
Behaviour of Process
a. Process-bound
b. I/O bound
CPU Scheduler
Ada 4 state
dalam CPU Scheduling:
1. Switches
from running to waiting state
2. Stiches
from running to ready state.
3. Switches
from waiting to ready
4. Terminates
Dispatcher
Dispatcher yang
bertugas memberi control ke CPU untuk process. Tugas dispatcher sendiri antara
lain:
-
Switching context
-
Switching to user mode
-
Jumping to the proper location in the user program to
restart that program
Dispatcher
memiliki waktu yang diberikan ke proses untuk diberhentikan dan lanjut ke
proses lain, itu disebut dispatch latency. Semakin kecil latency maka semakin
cepat suatu proses dijalankan.
Scheduling Criteria
-
CPU Utilization. Tetap menjaga kerjaan dari CPU
-
Througput. Jumlah proses yang complete.
-
Turnaround time. Waktu yang dipakai untuk execute suatu
proses.
-
Waiting time. Jumlah waktu suatu proses yang menunggu
untuk siap diproses
-
Response time. Jumlah waktu yang dipakai dari ketika
suatu request di lakukan.
Goals of scheduling
-
All systems. (Fairness-Policy-Balance)
Artinya semua
system harus ikut aturan yang telah di tetapkan
-
Batch System (Througput-Turnaround time-CPU
Utilization)
Sistem
memiliki suatu target harus menyelesaikan berapa pekerjaan dan tetap bekerja
-
Interactive system (Response time-Proportionality)
System memiliki
respon yang cepat dan pembagiannya pas
-
Real-time system(Meeting deadline-Predictablity)
Harus pada
saat itu juga dan memastikan tidak ada data yang hilang
Batch Scheduling Algorithm
Ada 3
metode dalam Batch Scheduling Algorithm:
1. First-Come
First-Service
2. Shortest
Job First – Non Preemptive
3. Shortest
Job First – Preemptive
Ada
keuntungan dan kerugian dari algoritma ini. Keuntungannya adalah mudah dipahami
karena seperti proses kehidupan sehari-hari, namun kerugiannya adalah ada
beberapa proses yang harus nunggu lama (tidak ada prioritas).
1. First-Come
First-Service
Processnya
di assigned oleh CPU sesuai dengan order yang diminta. Jadi proses mana yang
datang duluan akan dikerjakan terlebih dahulu, dilihat dari arrival time nya
dan kemudian dikerjakan sampai burst time nya habis. Lebih jelas dapat dilihat
di gambar di bawah ini.
2. Shortest
Job First – Non Preemptive
Proses yang
dikerjakan adalah proses yang paling pertama sampai dilihat dari arrival
timenya. Dan proses pertama itu harus dikerjakan sampai selesai. Setelah itu,
untuk proses berikut yang dikerjakan harus dibandingkan dulu. Skenarionya seperti
ini, selama proses satu dijalankan, apakah ada proses lain yang datang (dilihat
dari arrival time), seperti gambar di bawah ini, selama P1 jalan, P2,P3,dan P4
sudah sampai, namun harus kita bandingkan siapa yang paling kecil burst time
nya itu yang kita jalankan, terlihat P3 burst time nya Cuma 1 oleh sebab itu
dijalankan terlebih dahulu, setelah itu apabila jumlah burst timenya sama, kita
ambil yang arrivalnya lebih dahulu.
3. Shortest
Job First – Preemptive
Untuk
proses preemptive, kita akan jalankan dari proses yang paling awal datang ,
karena ini preemptive yang artinya bisa di interup, oleh sebab itu saat P1
dijalnkan baru 2 detik sudah harus dihentikan karena ada P2 yang sudah datang
walaupun P1 belum selesai. Kemudian P2 jalan, sama seperti saat P1, P2 juga
harus di interup dan akhirnya P3 jalan, P3 karena hanya 1 burst timenya dan pas
detik kelima juga datang P4. Namun P2 dijalankan kembali, kenapa? Karena saat
detik kelima kita bandingin dulu masih ada P1 pending 5 burst time, P2 pending
2 burst time, dan P4 baru datang dengan 4 burst time. Kita ambil yang paling
kecil burst timenya yakni P2. Oleh sebab itu P2 dijalankan, setelah itu sampai
di detik ke 7 kita bandingin lagi antar P1 dan P4 burst time siapa yang lebih
kecil dan sampai selesai semua proses dijlankan.
Interactive Scheduling Algorithm
-
Round-robin scheduling
-
Priority scheduling
-
Multiple
-
Short process next
-
Guaranteed scheduling
-
Lottery scheduling
-
Fair share scheduling
"proses scheduling memastikan semua proses berjalan sebagaimana mestinya"
Tidak ada komentar:
Posting Komentar