Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Oleh : Defiana Arnaldy, M.Si

Presentasi serupa


Presentasi berjudul: "Oleh : Defiana Arnaldy, M.Si"— Transcript presentasi:

1 Oleh : Defiana Arnaldy, M.Si 0818 0296 4763 deff_arnaldy@yahoo.com
Penjadwalan Proses Oleh : Defiana Arnaldy, M.Si

2 OVERVIEW Konsep Dasar Penjadwalan Proses Kriteria Penjadwalan
Algoritma Penjadwalan Two Queues Scheduling Multilevel Feedback Queue Scheduling Multiple-Processor Scheduling Real Time Scheduling Penjadwalan Thread Evaluasi Algoritma

3 Konsep Penjadwalan CPU
Penjadualan CPU adalah basis dari multi programming sistem operasi Dengan men-switch CPU diantara proses, sistem operasi dapat membuat komputer produktif

4 Konsep Dasar Penjadwalan
Tujuan dari multi programming adalah untuk mempunyai proses berjalan secara bersamaan Ketika suatu proses harus menunggu, Sistem operasi dapat saja akan menghentikan CPU dari suatu proses yang sedang dieksekusi dan memberikan sumberdaya kepada proses yang lainnya

5 Konsep Dasar Penjadwalan
CPU Scheduler CPU adalah salah satu sumber dari komputer yang penting yang menjadi sentral dari sentral penjadualan di sistem operasi Kapanpun CPU menjadi idle, sistem operasi harus memilih salah satu proses untuk masuk kedalam antrian ready (siap) untuk dieksekusi  short term scheduler.

6 Konsep Dasar Penjadwalan
CPU Scheduler Keputusan untuk menjadwalkan CPU mengikuti 4 keadaan berikut: Proses berpindah dari status Running  Waiting Proses berpindah dari status Running  Ready Proses berpindah dari status Waiting  Ready Proses berhenti Proses 1 dan 4  Non-preemptive Proses 2 dan 3  preemtive

7 Penjadwalan Preemptive dan Non Preemptive
Strategi yang mengijinkan proses yang sedang dieksekusi untuk ditangguhkan sementara digunakan oleh windows 95 ke atas Penjadwalan non preemptive : Sekali CPU telah dialokasikan untuk sebuah proses, maka tidak dapat di ganggu digunakan oleh windows 3.X

8 Konsep Dasar Penjadwalan
Dispatcher Suatu modul yang akan memberikan kontrol pada CPU terhadap penyeleksian proses yang dilakukan selama short-term scheduling. Fungsi-fungsi yang terkandung dalam dispatcher: Switching context Switching ke user-mode Melompat ke lokasi tertentu pada user program untuk memulai program

9 Kriteria Penjadualan Algoritma penjadualan CPU yang berbeda mempunyai property yang berbeda. Dalam memilih algoritma yang digunakan untuk situasi tertentu, kita harus memikirkan properti yang berbeda untuk algoritma yang berbeda. Banyak kriteria yang dianjurkan untuk membandingkan penjadualan CPU algoritma.

10 Kriteria Penjadualan CPU utilization  kita ingin menjaga CPU sesibuk mungkin. CPU utilization akan mempunyai range dari 0% - 100%. Di sistem yang sebenarnya mempunyai range dari 40% - 90% Throughput  banyak proses yang diselesaikan per unit waktu. Untuk proses yang lama mungkin satu proses per jam; untuk proses yang sebentar mungkin 10 proses perdetik. Sasaran dari penjadwalan adalah memaksimalkan jumlah proses yang dilayani per satu interval waktu.

11 Kriteria Penjadualan Turnaround time  Banyaknya waktu yang diperlukan untuk mengeksekusi proses, mulai dari menunggu untuk meminta tempat di memori utama, menunggu di ready queue, eksekusi oleh CPU, dan mengerjakan I/O sampai semua proses terselesaikan. Turn around time = waktu eksekusi + waktu tunggu Waiting time  Waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak memengaruhi eksekusi proses dan penggunaan I/O

12 Kriteria Penjadualan Response time  di sistem yang interaktif, turnaround time mungkin bukan waktu yang terbaik untuk kriteria. Sering sebuah proses dapat memproduksi output diawal, dan dapat meneruskan hasil yang baru sementara hasil yang sebelumnya telah diberikan ke user. Ukuran yang lain adalah waktu dari pengiriman permintaan sampai respon yang pertama di berikan. Ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untuk respon tersebut. Biasanya yang dilakukan adalah memaksimalkan CPU utilization dan throughput, dan minimalkan turnaround time, waiting time, dan response time dalam kasus tertentu kita mengambil rata-rata.

13 Beberapa istilah yg sering muncul
Average Turn Around Time Rata-rata waktu total yg dibutuhkan sebuah proses dari datang sampai selesai dieksekusi oleh CPU Burst Time Waktu yg dibutuhkan utk mengeksekusi sebuah proses Average Waiting Time Rata-rata waktu yang dihabiskan proses selama berada pada status ready ( menunggu eksekusi CPU )

14 Algorithma Penjadwalan
First-Come, First-Served ( FCFS ) Round Robin Schedulling Priority Schedulling Shortest-Job First Schedulling ( SJF ) Multilevel Queue Schedulling

15 First-Come, First-Served
Algoritma ini akan mendahulukan proses yang lebih dulu datang Kelemahan algoritma ini adalah waiting time rata-rata yang cukup lama Muncul istilah convoy effect, dimana proses lain menunggu satu proses besar mengembalikan sumber daya CPU Algoritma ini nonpreemptive

16 Contoh Kasus Gant Chart : P1 P2 P3 24 27 30 T
PROSES BRUST TIME WAKTU KEDATANGAN P1 24 P2 3 1 P3 2 Gant Chart : P1 P2 P3 24 27 30 T Waiting Time P1 = | P2 = 24 – 1 = | P3 = 27 – 2 = 25 Average Waiting Time = = 16 3 Turn Around Time P1 = | P2 = 27 – 1 = 26 | P3 = 30 – 2 = 28 P1 = Burst Time+ Waiting Time = = 24 P2 = = 26 Average Turn Arround Time = = 26 *waktu kedatangan menjadi urutan gant chart dan perhitungan 3

17 Round-Robin Schedulling
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. Tak ada proses yang diprioritaskan Jika time quantum terlalu besar, sama saja dengan algoritma first-come first-served, jika terlalu kecil akan semakin banyak peralihan proses sehingga banyak waktu terbuang

18 Contoh Kasus Time Quantum 3 Gant Chart : 12 15 T 3 6 9 P1 P2
PROSES BRUST TIME WKT KEDATANGAN P1 9 P2 6 1 Time Quantum 3 Gant Chart : 12 15 T 3 6 9 P1 P2 Waiting Time P1 = = | P2 = ( 3 – 1 wkt kdtg ) + ( ) = 5 Average Waiting Time = = 5.5 2 Turn Around Time P1 = | P2 = 12 – 1 = 11 Average Turn Arround Time = = 13 2

19 Priority Schedulling Algoritma ini memberikan skala prioritas kepada tiap proses Proses yang mendapat prioritas terbesar akan didahulukan. Algoritma ini dapat preemptive maupun nonpreeemptive Kelemahan dari algoritma ini adalah proses dengan prioritas kecil tidak akan mendapat jatah CPU. Hal ini dapat diatasi dengan aging, yaitu semakin lama menunggu, prioritas semakin tinggi.

20 Contoh Kasus Priority Preemptive
PROSES BRUST TIME WKT KEDATANGAN PRIORITY P1 9 3 P2 6 1 2 P3 Gant Chart : T 5 18 10 P3 P2 P1 1 2 Waiting Time P1 = 0 + ( 10 – 1 ) = 9 | P2 = ( 1 – 1wkt kdtg) + ( 5 – 2 ) = 3 | P3 = ( 2 – 2wkt kdtg) = 0 Average Waiting Time = = 4 3 Turn Around Time P1 = 18 | P2 = 10 – 1 = 9 | P3 = 5 – 2 = 3 Average Turn Arround Time = = 10 3

21 Contoh Kasus Priority Non-preemptive
PROSES BRUST TIME WKT KEDATANGAN PRIORITY P1 9 3 P2 6 1 2 P3 Gant Chart : T 9 18 12 P3 P2 P1 Waiting Time P1 = 0 | P2 = ( ) = | P3 = ( ) = 7 Average Waiting Time = = 6 3 Turn Around Time P1 = 9 | P2 = 18 – 1 = | P3 = 12 – 2 = 10 Average Turn Arround Time = = 12 3

22 Shortest-Job First Schedulling
Proses diatur menurut panjang CPU burst berikutnya (lebih tepatnya shortest next CPU burst). Waiting time rata-rata dari algoritma ini sangat kecil, sehingga layak disebut optimal Kelemahan algoritma ini yaitu kita tak pernah tahu secara pasti panjang CPU burst proses berikutnya Algoritma ini dapat merupakan preemptive atau nonpreemptive. Jika preemptive, jika ada proses datang dengan sisa CPU burst yang lebih kecil daripada yang sedang dieksekusi, maka proses tersebut akan menggantikan proses yang sedang dieksekusi

23 Contoh Kasus JFS Preemptive
PROSES BRUST TIME WKT KEDATANGAN P1 9 P2 6 1 P3 3 2 Gant Chart : T 5 18 10 P3 P2 P1 1 2 Waiting Time P1 = 0 + ( 10 – 1 ) = 9 | P2 = 0 + ( 5 – 2 ) = 3 | P3 = 0 Average Waiting Time = = 4 3 Turn Around Time P1 = 18 | P2 = 10 – 1 = 9 | P3 = 5 – 2 = 3 Average Turn Arround Time = = 10 3

24 Contoh Kasus SJF Non-preemptive
PROSES BURST TIME WKT KEDATANGAN P1 9 P2 6 1 P3 3 2 Gant Chart : T 9 18 12 P3 P2 P1 Waiting Time P1 = 0 | P2 = ( ) = | P3 = ( ) = 7 Average Waiting Time = = 6 3 Turn Around Time P1 = 9 | P2 = 18 – 1 = | P3 = 12 – 2 = 10 Average Turn Arround Time = = 12 3

25 Multilevel Queue Schedulling
Algoritma ini mengelompokkan antrian dalam beberapa buah antrian Antrian-antrian tersebut diberi prioritas Tiap antrian boleh memiliki algoritma yang berbeda Semakin tinggi tingkatan prioritasnya, semakin besar jatah waktu CPU-nya

26 Latihan Soal… PROSES BRUST TIME PRIORITY WKT KEDATANGAN P1 10 3 P2 2 1
P2 2 1 P3 5 4 Gambar Gant Chart dan Tentukan Avg. Waiting Time serta Avg. Turn Arround Time dari ketiga proses di atas dengan algoritma : FCFS SJF ( preemptive ) Round-Robin, q = 2 Round-Robin, q = 5 Priority ( non-preemptive )

27 Two Queues Scheduling Tujuan time sharing  menjaga proses user mendapat tanggapan baik dari CPU Salah satu cara mendapatkan tanggapan baik  tidak mengijinkan job panjang menghambat job pendek dengan cara mempunyai dua antrian Konsep dasar algoritma two Queue scheduling adalah multilevel queue.

28 Multilevel Feedback Queue Scheduling
Konsep sama dengan multilevel queue Parameter yang digunakan: Jumlah queue Scheduling algoritma untuk tiap queue Metode yang digunakan untuk memutuskan ketika upgrade suatu proses Metode yang digunakan untuk memutuskan ketika menurunkan suatu proses Metode yang digunakan untuk menentukan queue mana yang akan diproses ketika proses membutuhkan service

29 Multiple-Processor Scheduling
Lebih kompleks  syarat processor identik Symmetric multiprocessing (SMP)  setiap processor menjadwalkan sendiri, setiap processor memeriksa ready queue dan memilih proses yang akan dieksekusi Inti penjadwalan multiprocessor: Processor homogen Berbagi beban Asymetric multiprocessing  hanya satu processor yang mengakses struktur sistem data

30 Real Time Scheduling Sistem hard real time Soft real time computing
Diperlukan untuk menyudahi suatu tugas penting dala sejumlah waktu Soft real time computing Memerlukan proses penting yang menerima prioritas lebih sedikit dari sebelumnya

31 Evaluasi Algoritma Bagaimana memilih sebuah algoritma penjadwalan CPU untuk sistem-sistem tertentu. Dalam pemilihan algoritma kriteria utama : Adil (fairness) Adil adalah proses –proses diperlakukan sama yaitumendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami (starvation). Efisiensi Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio ) waktu sibuk pemroses

32 Waktu Tanggap (response time)
Sistem Interaktif Waktu tanggap dalam sistem interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar (terminal). Waktu tanggap ini disebut terminal response time. Sistem Realtime Pada sistem waktu nyata (real-time), waktu tanggap di definisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi , disebut event respons time. Sasaran penjadwalan adalah meminimalkan waktu tanggap. Turn Around Time waktu yang dihabiskan dari ssat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem. Throughput Throughput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu.

33 Evaluasi Algoritma Beberapa metode evaluasi Pemodelan deterministik
Evaluasi analistik  menunjukkan pola Pemodelan antrian Simulasi Implementasi

34 TERIMA KASIH


Download ppt "Oleh : Defiana Arnaldy, M.Si"

Presentasi serupa


Iklan oleh Google