Jumat, 08 Mei 2015

Session 6

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