Penjadwalan Proses Oleh Defiana Arnaldy M Si 0818

  • Slides: 34
Download presentation
Penjadwalan Proses Oleh : Defiana Arnaldy, M. Si 0818 0296 4763 deff_arnaldy@yahoo. com

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

OVERVIEW • • • Konsep Dasar Penjadwalan Proses Kriteria Penjadwalan Algoritma Penjadwalan Two Queues

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

Konsep Penjadwalan CPU • Penjadualan CPU adalah basis dari multi programming sistem operasi •

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

Konsep Dasar Penjadwalan • Tujuan dari multi programming adalah untuk mempunyai proses berjalan secara

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

Konsep Dasar Penjadwalan • CPU Scheduler ▫ CPU adalah satu sumber dari komputer yang

Konsep Dasar Penjadwalan • CPU Scheduler ▫ CPU adalah 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.

Konsep Dasar Penjadwalan • CPU Scheduler ▫ Keputusan untuk menjadwalkan CPU mengikuti 4 keadaan

Konsep Dasar Penjadwalan • CPU Scheduler ▫ Keputusan untuk menjadwalkan CPU mengikuti 4 keadaan berikut: 1. 2. 3. 4. ▫ ▫ 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

Penjadwalan Preemptive dan Non Preemptive • Penjadwalan preemptive : Strategi yang mengijinkan proses yang

Penjadwalan Preemptive dan Non Preemptive • Penjadwalan 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

Konsep Dasar Penjadwalan • Dispatcher ▫ Suatu modul yang akan memberikan kontrol pada CPU

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: 1. Switching context 2. Switching ke user-mode 3. Melompat ke lokasi tertentu pada user program untuk memulai program

Kriteria Penjadualan • Algoritma penjadualan CPU yang berbeda mempunyai property yang berbeda. • Dalam

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.

Kriteria Penjadualan 1. 2. CPU utilization kita ingin menjaga CPU sesibuk mungkin. CPU utilization

Kriteria Penjadualan 1. 2. 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.

Kriteria Penjadualan 3. Turnaround time Banyaknya waktu yang diperlukan untuk mengeksekusi proses, mulai dari

Kriteria Penjadualan 3. 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 4. Waiting time Waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak memengaruhi eksekusi proses dan penggunaan I/O

Kriteria Penjadualan 5. Response time di sistem yang interaktif, turnaround time mungkin bukan waktu

Kriteria Penjadualan 5. 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.

Beberapa istilah yg sering muncul • Average Turn Around Time Rata-rata waktu total yg

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 )

Algorithma Penjadwalan • First-Come, First-Served ( FCFS ) • Round Robin Schedulling • Priority

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

First-Come, First-Served ▫ Algoritma ini akan mendahulukan proses yang lebih dulu datang ▫ Kelemahan

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

Contoh Kasus PROSES BRUST TIME WAKTU KEDATANGAN P 1 24 0 P 2 3

Contoh Kasus PROSES BRUST TIME WAKTU KEDATANGAN P 1 24 0 P 2 3 1 P 3 3 2 Gant Chart : T P 2 P 1 0 Waiting Time T 24 P 1 = 0 Average Waiting Time = Turn Around Time | P 2 = 24 – 1 = 23 | T P 3 27 P 3 = 27 – 2 = 25 0 + 23 + 25 = 16 3 P 1 = 24 | P 2 = 27 – 1 = 26 | P 3 = 30 – 2 = 28 Average Turn Arround Time = 24 + 26 + 28 = 26 3 30

Round-Robin Schedulling ▫ Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat

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

Contoh Kasus PROSE S BRUST TIME WKT KEDATANGAN P 1 9 0 P 2

Contoh Kasus PROSE S BRUST TIME WKT KEDATANGAN P 1 9 0 P 2 6 1 Gant Chart : T P 1 0 Waiting Time Quantum 3 P 2 P 1 6 3 P 1 = 0 + 3 = 6 Average Waiting Time = Turn Around Time P 2 9 | P 1 12 15 P 2 = ( 3 - 1 ) + 3 = 5 6 + 5 = 5. 5 2 P 1 = 15 | P 2 = 12 – 1 = 11 Average Turn Arround Time = T 15 + 11 = 13 2

Priority Schedulling ▫ Algoritma ini memberikan skala prioritas kepada tiap proses ▫ Proses yang

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.

Contoh Kasus Priority Preemptive PROSES BRUST TIME WKT KEDATANGAN PRIORITY P 1 9 0

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

Contoh Kasus Priority Non-preemptive PROSES BRUST TIME WKT KEDATANGAN PRIORITY P 1 9 0

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

Shortest-Job First Schedulling ▫ Proses diatur menurut panjang CPU burst berikutnya (lebih tepatnya shortest

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

Contoh Kasus JFS Preemptive PROSES BRUST TIME WKT KEDATANGAN P 1 9 0 P

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

Contoh Kasus SJF Non-preemptive PROSES BURST TIME WKT KEDATANGAN P 1 9 0 P

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

Multilevel Queue Schedulling ▫ Algoritma ini mengelompokkan antrian dalam beberapa buah antrian ▫ Antrian-antrian

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

Latihan Soal… PROSES BRUST TIME PRIORITY WKT KEDATANGAN P 1 10 3 0 P

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

Two Queues Scheduling • Tujuan time sharing menjaga proses user mendapat tanggapan baik dari

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.

Multilevel Feedback Queue Scheduling • Konsep sama dengan multilevel queue • Parameter yang digunakan:

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

Multiple-Processor Scheduling • Lebih kompleks syarat processor identik • Symmetric multiprocessing (SMP) setiap processor

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

Real Time Scheduling • Sistem hard real time ▫ Diperlukan untuk menyudahi suatu tugas

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

Evaluasi Algoritma • Bagaimana memilih sebuah algoritma penjadwalan CPU untuk sistem-sistem tertentu. • Dalam

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 atau utilisasi pemroses dihitung dengan perbandingan (rasio ) waktu sibuk pemroses

▫ Waktu Tanggap (response time) Ø Sistem Interaktif Waktu tanggap dalam sistem interaktif didefinisikan

▫ 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 adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu.

Evaluasi Algoritma • Beberapa metode evaluasi ▫ Pemodelan deterministik Evaluasi analistik menunjukkan pola ▫

Evaluasi Algoritma • Beberapa metode evaluasi ▫ Pemodelan deterministik Evaluasi analistik menunjukkan pola ▫ Pemodelan antrian ▫ Simulasi ▫ Implementasi

TERIMA KASIH

TERIMA KASIH