Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

 Konsep Proses  CPU Scheduler  Algoritma Penjadwalan Proses  Latihan Soal.

Presentasi serupa


Presentasi berjudul: " Konsep Proses  CPU Scheduler  Algoritma Penjadwalan Proses  Latihan Soal."— Transcript presentasi:

1

2  Konsep Proses  CPU Scheduler  Algoritma Penjadwalan Proses  Latihan Soal

3  Pada sistem multiprogramming, selalu akan terjadi beberapa proses berjalan dalam suatu waktu. Sedangkan pada uniprogramming hal ini tidak akan terjadi, karena hanya ada satu proses yang berjalan pada saat tertentu.  Sistem multiprogramming diperlukan untuk memaksimalkan utilitas CPU.

4  Pada saat proses dijalankan terjadi siklus eksekusi CPU dan menunggu I/O yang disebut dengan siklus CPU-I/O burst.  Eksekusi proses dimulai dengan CPU burst dan dilanjutkan dengan I/O burst, diikuti CPU burst lain, kemudian I/O burst lain dan seterusnya seperti pada Gambar.  Pada saat suatu proses dieksekusi, terdapat banyak CPU burst yang pendek dan terdapat sedikit CPU burst yang panjang. Program yang I/O bound biasanya sangat pendek CPU burst nya, sedangkan program yang CPU bound kemungkinan CPU burst nya sangat lama.

5

6  Prosesor mengeksekusi program-program komputer  Prosesor adalah sebuah chip dalam sistem komputer yang menjalankan instruksi program komputer. Dalam setiap detiknya prosesor menjalankan jutaan instruksi  Proses adalah sebuah program yang sedang dijalankan (eksekusi)

7  Sistem operasi menjalankan banyak dan beragam program : ◦ Batch system – jobs ◦ Time-shared systems – user programs atau tasks ◦ Istilah pada buku teks: job, task dan process (dapat diartikan sama)  Proses adalah program yang dieksekusi ; ◦ Aktif (proses=>memori) vs pasif (program => file) ◦ Instruksi pada program (code) akan dieksekusi secara berurut (sekwensial) sesuai dengan “line code” (stored program concept).  Proses lebih dari “program code yang aktif”:  Melacak posisi instruksi (sequential execution): program counter ◦ Menyimpan data sementara var., parameter, return value: stack ◦ Menyimpan data (initial, global variable dll): data section ◦ Menyimpan status proses (Contoh: Proses, aktif, wait I/O request dll.)

8  Membuat dan menghapus proses pengguna dan sistem proses  Menunda dan melanjutkan proses  Menyediakan mekanisme untuk proses sinkronisasi  Menyediakan mekanisme untuk proses komunikasi  Menyediakan mekanisme untuk penanganan deadlock

9

10  Saat-saat proses dijalankan (executed) maka status dari proses akan berubah ◦ Status proses tidak selamanya aktif menggunakan CPU. ◦ Sering proses menunggu I/O complete => status wait, sebaiknya CPU diberikan kepada proses yang lain. ◦ Mendukung multi-tasking – utilisasi CPU dan I/O  Status proses (antara lain): ◦ new: proses sedang dikerjakan / dibuat. ◦ running: instruksi dieksekusi. ◦ waiting: proses menunggu beberapa event yang akan terjadi ◦ ready: proses menunggu jatah waktu dari prosessor ◦ terminated: proses selesai dieksekusi.

11  Informasi proses disimpan di struktur data dari OS dalam bentuk table : ◦ Satu entry table/linked list => struktur data untuk menampung informasi satu proses (array of structure). ◦ Setiap entry pada tabel proses menyimpan satu proses. Contoh: MINIX (src/kernel/proc.h) => struct proc { … };  Informasi yang disimpan: ◦ Informasi internal CPU: isi register-register, program counter, status CPU dll (umumnya dalam bentuk stack frame). ◦ Identifikasi proses: nama proses, proses number/index, proses id. ◦ Accounting dan timer: user time, system time, alarm etc. ◦ Resources: memory & file management.

12  Pada saat CPU menganggur, maka sistem operasi harus menyeleksi proses-proses yang ada di memori utama (ready queue) untuk dieksekusi dan mengalokasikan CPU untuk salah satu dari proses tersebut.  Seleksi semacam ini disebut dengan shortterm scheduler (CPU scheduler).

13  Keputusan untuk menjadwalkan CPU mengikuti 4 keadaan di bawah ini : 1.Apabila proses berpindah dari keadaan running ke waiting; 2.Apabila proses berpindah dari keadaan running ke ready; 3.Apabila proses berpindah dari keadaan waiting ke ready; 4.Apabila proses berhenti.

14  Apabila model penjadwalan yang dipilih menggunakan keadaan 1 dan 4, maka penjadwalan semacam ini disebut non-peemptive. Sebaliknya, apabila yang digunakan adalah keadaan 2 dan 3, maka disebut dengan preemptive.  Pada non-preemptive, jika suatu proses sedang menggunakan CPU, maka proses tersebut akan tetap membawa CPU sampai proses tersebut melepaskannya (berhenti atau dalam keadaan waiting).  Preemptive scheduling memiliki kelemahan, yaitu biaya yang dibutuhkan sangat tinggi. Antara lain, harus selalu dilakukan perbaikan data. Hal ini terjadi jika suatu proses ditinggalkan dan akan segera dikerjakan proses yang lain.

15  Proses dapat berubah status dan berpindah dari satu antrian ke antrian yang lain ◦ Proses dengan status “ready” berada di ReadyQueue ◦ Menunggu giliran/dipilih oleh scheduler => menggunakan CPU  Selama eksekusi (status “run”) events yang dapat terjadi: ◦ I/O request => I/O wait berada pada DeviceQueue ◦ Create “child” proses => Jalankan proses “child”, tunggu sampai proses selesai (wait) ◦ Time slice expired => Waktu pemakaian CPU habis, interrupt oleh scheduler, proses akan berpindah ke ReadyQueue

16

17  Merupakan kumpulan kebijaksanaan & mekanisme pada SO berkenaan dengan urutan kerja yg dilakukan sistem komputer.  Bertugas memutuskan proses yg harus berjalan, kapan, dan selama berapa lama proses itu berjalan.  Sasaran utama penjadwalan proses adalah kinerja menurut kriteria yg diajukan  Kriteria yang digunakan utk mengukur dan optimasi kinerja penjadwalan: adil (fairness), efisiensi, waktu tanggap (response time), turn arround time, throughput

18  Dapat terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yg kompleks, yaitu: ◦ Penjadwalan jangka pendek,  bertugas menjadwalkan alokasi pemroses diantara proses- proses ready di memori utama. ◦ Penjadwalan jangka menengah,  mengendalikan transisi dari keadaan suspend ke ready proses- proses swapping. ◦ Penjadwalan jangka panjang,  bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Note: Swapping adalah aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder.

19

20  Adil (fairness) ◦ Proses2 diberlakukan sama -> mendapat jatah waktu pemroses yg sama & tak ada proses yg tak kebagian layanan pemroses ◦ Sasaran: menjamin tiap proses mendapat bagian dari pemroses yg adil  Efisiensi ◦ Pemroses dihitung dg berapa perbandingan (rasio) waktu sibuk pemroses. ◦ Sasaran: menjaga proses agar tetap dalam keadaan sibuk -> efisiensi maksimum  Waktu Tanggap (response time) ◦ Waktu yg dihabiskan dari saat karakter terakhir dari perintah dimasukkan program sampai hasil pertama yg muncul di layar ◦ Sasaran: meminimalkan waktu tanggap  Turn Arrround Time ◦ Waktu yg dihabiskan dari saat program/job mulai masuk ke sistem sampai proses diselesaikan sistem ◦ TA = waktu eksekusi + waktu menunggu ◦ Sasaran: meminimalkan turn arround time  Throughput ◦ Jumlah kerja yg dapat diselesaikan dalam satu unit waktu ◦ Sasaran: memaksimalkan jumlah job yang diproses per satu interval waktu ◦ Lebih tinggi angka throughput, lebih banyak kerja yang dilakukan sistem

21  Penjadwalan CPU mungkin akan dijalankan ketika proses dalam keadaan: ◦ Berubah dari running ke waiting state. ◦ Berubah dari running ke ready state. ◦ Berubah dari waiting ke ready. ◦ Terminates.

22  First Come First Served (FCFS)  SJF (Shortest Job First)  Priority Scheduling  Round Robin

23  Merupakan algoritma penjadwalan CPU yang paling sederhana  Proses yang tiba lebih dahulu akan dilayani lebih dahulu  Kalau ada proses tiba pada waktu yang sama, maka pelayanan mereka dilaksanakan berdasarkan urutan dalam antrian  Proses di antrian belakang harus menunggu sampai semua proses di depannya selesai.

24  Diketahui 3 buah proses sbb:

25  Gantt chart  Waiting Time  AWT

26  Contoh soal 1: ◦ Jika diketahui terdapat 5 macam antrian proses, yaitu A-B- C-D-E dengan waktu kedatangan semuanya 0. Lama proses berturut-turut antara lain: ◦ Pertanyaan:  Kapan dimulainya eksekusi dari tiap-tiap antrian proses tsb?  Kapan selesai eksekusinya?  Hitung Turn Arround Time (TA)-nya?  Berata rata-rata TA?  Rumus ◦ TA = Waktu Tunggu + Lama Eksekusi ◦ Rata-rata TA = ∑TA / ∑Job ◦ Waktu Tunggu = Mulai Eksekusi – Waktu Tiba

27  Jawaban: Nama Proses Waktu Tiba Lama Eksekusi A05 B02 C06 D08 E03

28 Nama Proses Waktu Tiba Lama Ekseku si Mulai Ekseku si Waktu Tunggu Selesai Ekseku si TA A B C D08 21 E03 24 ∑TA = 70 rata2 TA = 14

29  Contoh Soal 2: ◦ Jika diketahui terdapat 5 macam antrian proses, yaitu A-B-C-D-E dengan waktu kedatangan semuanya Lama proses berturut-turut antara lain: ◦ 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

30 Nama Proses Waktu Tiba Lama Eksekusi Mulai Eksekusi Selesai Eksekusi Waktu Tunggu TA A B C D E ∑TA = 60 Rerata = 12

31  Berdasarkan kriteria penilaian penjadwalan: ◦ Fairness  Penjadwalan FCFS adil dalam arti semantiks (dalam arti antrian) ◦ Efesiensi  Penjadwalan FCFS sangat efisien dalam penggunaan pemroses ◦ Waktu Tanggap  Penjadwalan sangat tidak memuaskan, karena proses dapat menunggu lama ◦ Turn Arround Time  Penjadwalan FCFS tidak bagus ◦ Throughput  Penjadwalan FCFS tidak bagus.

32  Dasar prioritas adalah pendeknya proses.  Makin pendek/singkat proses makin tinggi prioritasnya  Langkah I: tentukan urutan prioritas berdasarkan pendeknya proses yang dilayani  Langkah II: penentuan proses mana yang dilayani oleh pemroses

33  Setiap proses yang ada dalam ready queue akan dieksekusi berdasarkan burst time terkecil  Hal ini mengakibatkan waiting time yang pendek untuk setiap proses, maka rerata waiting time (AWT) juga menjadi pendek  Algoritma ini dikatakan optimal

34  Contoh Soal 1: Nama Proses Waktu Tiba Lama Eksekusi A010 B05 C07 D01 E03

35 Nama ProsesWaktu TibaLama Eksekusi D01 E03 B05 C07 A010

36 Nama Proses Waktu Tiba Lama Eksekusi Mulai Eksekusi Selesai Eksekusi TA D01011 E03144 B05499 C07916 A ∑TA = 56 rata2 TA = 11,2

37 Nama ProsesLama Eksekusi Waktu Tiba D10 E32 B55 C77 A109

38 Nama Proses Waktu Tiba Lama Eksekusi Mulai Eksekusi Selesai Eksekusi Waktu Tunggu TA D E B C A ∑TA = 37 Rerata = 7,4

39  Merupakan algoritma yang mendahulukan proses yang memiliki prioritas tertinggi  Prioritas proses ditentukan berdasar: ◦ Time limit ◦ Memory requirement ◦ File access ◦ Perbandingan antara burst proses dengan CPU ◦ Tingkat kepentinagn proses

40  Priority scheduling dapat dijalankan secara preemptive dan non-preemptive ◦ Preemptive  jika ada proses yang baru datang memiliki prioritas lebih tinggi dari proses yang sedang berjalan, maka proses yang sedang berjalan tsb dihentikan, lalu CPU dialihkan untuk proses yang baru datang tersebut ◦ Non preemptive  proses yang baru datang tidak dapat menganggu proses yang sedang berjalan, tapi hanya diletakkan di depan queue

41  Kelemahan PS adalah terjadinya infinite blocking (starvation), yaitu suatu proses dengan prioritas yang rendah memiliki kemungkinan tidak pernah dieksekusi jika terdapat proses lain yang memiliki prioritas lebih tinggi  Solusi dari starvation adalah aging, yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam queue secara bertahap

42  Contoh : setiap 10 menit, prioritas dari masing-masing proses yang menunggu dalam queue dinaikkan 1 tingkat.  Maka proses yang memiliki prioritas 127, setidaknya dalam 21 jam 20 menit, proses tsb akan memiliki prioritas 0, yaitu prioritas yang tertinggi

43  Diketahui 5 proses dengan urutan proses sbb:

44  Gantt chart  Waiting TimeAWT

45  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  Proses ini cukup adil, karena tidak ada proses yang diprioritaskan  Semua proses mendapat jatah waktu yang sama dari CPU yaitu 1/n, dan tidak akan menunggu lebih lama dari (n-1)q; dimana q adalah lama 1 quantum

46  Algoritma RR sepenuhnya bergantung besarnya time quantum (TQ).  Jika TQ terlalu besar, algoritma ini akan sama saja dengan algoritma FCFS  Jika TQ terlalu kecil, akan semakin banyak peralihan proses sehingga banyak waktu yang terbuang

47  Permasalahan utamanya adalah menentukan besarnya TQ. Jika TQ yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan selesai dalam 1 quantum.  Akibatnya akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari satu proses ke proses yang lain (= context switches time)  Sebaliknya, jika TQ yang ditentukan terlalu besar, algoritma RR akan berjalan seperti FCFS  TQ ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari 1 TQ

48

49

50

51  Diketahui 3 proses sbb:

52  Gantt chart  Burst Time

53

54  TQ dan Context switches time

55  Sebuah CPU dengan quantum 4 mendapat beberapa proses yang kedatangannya sebagai berikut: ProsesBurst Time P14 P29 P36 P45 P53  Burst time  waktu proses

56 P1P2P3P4P5P2P3P4P

57  Waktu tunggu untuk tiap-tiap proses :  AWT yang terjadi adalah: ◦ ( ) / 5 = 74 / 5 = 14,8 ProsesWaiting Time P10 P24 + (19 - 8) + ( ) = 18 P38 + ( ) = 19 P412 + ( ) = 21 P516

58 ProsesSaat Tiba Lama Proses Saat Mulai Saat Selesai Turn Around Time P P P P P Jumlah Rata-rata ,2

59 Nama ProsesSaat TibaLama Proses A05 B13 C57 D61 E76 Jml22 Quantum = 2

60 AABBAABCCDA EECCEECCEEC

61 Nama Proses Saat Tiba Lama Proses Waiting Time A050+(4-2)+(10-6)=6 B13(2-1)+(6-4)=3 C57(7-5)+(13-9)+(17-15)+(21-19) =10 D61(9-6)=3 E76(11-7)+(15-13)+(19-17)=8  AWT = ( )/5 = 30/5 = 6

62 Nama Proses Saat Tiba Lama Proses Saat MulaiSaat SelesaiLama Proses A05011 B13276 C D E Jumlah Rata-rata 52 10,8

63  Untuk memahami dari cara kerja algoritma penjadwalan Round Robin ini,mari kita kerjakan soal berikut

64  Penyelesaian :  Seperti halnya algoritma penjadwalan sebelumnya, langkah pertama untuk mencari AWT dengan Algoritma penjadwalan Round Robin dilakukan dengan membuat Gantt Chart prosesnya.

65  Dari Gantt Chart terlihat bahwa setiap proses dikerjakan menurut waktu yaitu setiap proses di proses sebesar 5 langkah.  Awalnya P1 akan di kerjakan sebanyak 5 langkah, kemudian, P2 sebanyak 5 langkah, dan begitupun selanjutnya hingga P5.  Proses yang sudah di proses menurut porsi waktu yang diberikan akan kembali menunggu dan berada paling belakang dari antrian proses yang ada.

66  Contohnya P1 dikerjakan di awal, kemudian ada P2, P3,P4,dan P5 yang mengantri di belakangnya.  Jika P1 selesai di proses menurut porsi waktunya maka P1 akan di pindahkan ke belakang, sehingga urutannya menjadi P2, P3, P4, P4, P1. begitupun seterusnya.

67  Waiting Time  AWT

68  Diketahui quantum = 5, dengan menggunakan alogoritma Round Robin, carilah AWT dan Turn Around jika terdapat proses sebagai berikut: Nama ProsesSaat TibaLama Proses A 05 B 23 C 78 D 112 E 146

69  Materi tambahan ada dalam file 03b  Kerjakan latihan yang ada dalam file 03b untuk pemahaman lebih lanjut


Download ppt " Konsep Proses  CPU Scheduler  Algoritma Penjadwalan Proses  Latihan Soal."

Presentasi serupa


Iklan oleh Google