Penjadwalan CPU. Badrus Zaman

dokumen-dokumen yang mirip
Penjadualan CPU. Konsep Dasar. Penjadualan CPU. Penggantian Rangkaian Urutan CPU dan I/O Burst

Konsep Dasar Kriteria Penjadualan Algoritma Penjadualan Penjadualan Multiple-Processor Penjadualan Real-Time Evaluasi Algorithm

Penjadualan CPU. Konsep Dasar Kriteria Penjadualan Algoritma Penjadualan Penjadualan Multiple-Processor Penjadualan Real-Time Evaluasi Algorithm

Deskripsi Penjadwalan Proses

Sistem Operasi. Konsep Dasar. Histogram Waktu CPU-Burst. Penjadwal CPU PENJADWALAN CPU. Pertukaran Urutan Pada CPU Dan I/O Burts

Bab 4. Penjadwalan CPU POKOK BAHASAN: TUJUAN BELAJAR: 4.1 KONSEP DASAR. Konsep Dasar Kriteria Penjadwalan Algoritma Penjadwalan

Bab 5: Penjadwalan CPU. Konsep Dasar

SISTEM OPERASI PENJADWALAN PROSES

PENJADWALAN PROSES. Pendahuluan

Penjadualan Process Bagian 2

Konsed Dasar Penjadualan Proses

Overview Penjadwalan (1)

BAB 4 PENJADWALAN CPU 55

Pertemuan V Penjadwalan Proses

DESKRIPSI PENJADWALAN PROSES

Penjadwalan Process. Konsep Dasar Penjadwalan Proses. Preemptive & Non-Preemtive Scheduling. Dispatcher.

Penjadualan Process Bagian 1

IF3191- Penjadwalan Proses. Henny Y. Zubir. Departemen Teknik Informatika Institut Teknologi Bandung. IF-ITB/HY/24-Aug-03 IF3191 Penjadwalan Proses

adil efisiensi waktu tanggap (response time) turn arround time throughput

Operating System. Scheduling. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Praktikum 10. Penjadwalan CPU 2 POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: 1 Penjadwalan CPU Premptive. ü Membuat program simuliasi Pendawalan CPU

Sistem Operasi Penjadwalan Proses

sejumlah proses aktif. Aktifitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping.

Pertemuan - 4 PENJADWALAN PROSES. Haryono Setiadi, ST, M.Eng D3 Ilmu Komputer UNS

Modul ke: Sistem Operasi. Tipe penjadwalan di prosessor non-preemptive. Fakultas FASILKOM. Juliansyahwiran, S. Kom, MTI.

Penjadwalan Proses. Penjadwalan: pemilihan proses selanjutnya yg akan dieksekusi Melakukan multiplexing CPU Kapan dilakukan penjadwalan?

Praktikum 9. Penjadwalan CPU 1

Modul ke: Sistem Operasi. Tipe penjadwalan di prosessor preemptive. Fakultas FASILKOM. Juliansyahwiran, S. Kom, MTI. Program Studi Sistem Informasi

CPU Scheduler Ch. 5. SISTIM OPERASI (Operating System) IKI Johny Moningka

Penjadwalan Proses. Penjadwalan bertugas memutuskan hal-hal berikut : Proses yang harus berjalan. Kapan dan selama berapa lama proses berjalan

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

Recap. Penjadwalan Proses. Kriteria Penjadwalan Proses. Tipe Tipe Penjadwalan. Penjadwal Jangka Pendek 9/23/2016. Ricky Maulana Fajri

Penjadwalan Proses. 1. Adil Proses proses diperlakukan sama yaitu mendapat jatah waktu prosessor yang sama

Operasi pada Sistem Operasi. Avida Endriani Reza Gusty Erlangga D3 TEKNIK INFORMATIKA A

Tujuan Utama : agar proses-proses berjalan secara konkuren dan untuk memaksimalkan kinerja dari CPU.

CPU-I/O Burst Cycle adalah. siklus tunggu I/O dan eksekusi CPU. Proses dieksekusi secara bergantian

BAB 2 TINJAUAN PUSTAKA. b. Kapan dan selama berapa lama proses itu berjalan. a. Jenis pekerjaan yang akan diselesaikan

PENJADWALAN PROSES AGUS PAMUJI. SISTEM OPERASI - Penjadwalan Proses

PENJADWALAN. Sistem Operasi TIKB1023 Munengsih Sari Bunga. Politeknik Indramayu. TIKB1023/Sistem Operasi/MSB

Dosen pengampu : Mohamad Dani Sifat : Tutup buku dan peralatan elektronik

Pengaturan Proses Dalam system operasi. proses

Bab 3.Proses dan Penjadualan

Penjadwalan Proses Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed

Makalah PENJADWALAN PROSES. Dosen : Azwar, M. Kom DI SUSUN OLEH ELAN K.LUWITI NIM :T KELAS 2/KC FAKULTAS ILMU KOMPUTER (FIKOM)

SIMULASI PERBANDINGAN PENJADWALAN ROUND ROBIN DAN FCFS UNTUK MANAJEMEN PROSES DALAM SINGLE PROCESSING

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IV Penjadwalan Proses I

Sistem Operasi PENGATURAN PROSES

Simulasi Algoritma Penjadualan Proses

BAB III TEKNIK PENJADWALAN PROSESOR

Dasar Sistem Operasi. Dibuat Oleh: Anindito Yoga Pratama, S.T., MMSI

IMPLEMENTASI ALGORITMA MULTILEVEL FEEDBACK QUEUE DALAM MENENTUKAN WAKTU TUNGGU DAN WAKTU KESELURUHAN PROSES

Bab 13. Konsep Penjadwalan

MANAJEMEN PROSES. Pointer State proses Keadaan proses: Keadaan mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.

Process Control Block (PCB) Masing-masing proses Direpresentasikan oleh Sistem Operasi dengan menggunakan Process Control Block (PCB),

Reza Chandra Universitas Gunadarma PTA 2010/2011

Algoritma Penjadwalan 2

Mata Kuliah : Sistem Operasi Kelas : Teknik Informatika 4

PENGATURAN PROSES. Proses adalah program yang sedangdieksekusi atau sofware yang sedang dilaksanakan.

PROSES. DESKRIPSI PROSES. PROSES MERUPAKAN UNIT TERKECIL YANG SECARA INDIVIDU MEMILIKI SUMBER DAYASUMBER DAYA YANG DIJADWALKAN SISTEM OPERASI

Understanding Operating Systems Fifth Edition. Chapter 4 Processor Management

IMPLEMENTASI ALGORITMA MULTILEVEL FEEDBACK QUEUE DALAM MEMENTUKAN WAKTU TUNGGU DAN WAKTU KESELURUHAN PROSES

Proses. Deskripsi Proses. Proses merupakan unit terkecil yang secara individu memiliki sumber dayasumber daya yang dijadwalkan sistem operasi

BAB V Penjadwalan CPU

SISTEM OPERASI. Sri Kusumadewi

APLIKASI PEMBELAJARAN SISTEM OPERASI DALAM MATERI PROSES PENJADWALAN FCFS, SJF DAN ROUND ROBIN

7. Pengaturan Proses

MODUL 4 KONSEP PROSES, KONKURENSI, MANAJEMEN PROSES (1) M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - M O D U L 4

Jawaban Soal UTS Instalasi dan Penggunaan Sistem Operasi Semester Genap 2014/2015 D3 Teknik Informatika, Fakultas Ilmu Terapan, Universitas Telkom

Dukungan Sistem Operasi :

Analisis Perbandingan Algoritma Penjadwalan CPU A New Improved Round Robin dan A Dynamic Time Quantum Shortest Job Round Robin Artikel Ilmiah

METODE PENJADWALAN PROSES AGUS PAMUJI. SISTEM OPERASI Metode Penjadwalan Proses

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

SISTEM OPERASI. Deskripsi Proses. Multiprogramming. Istilah dalam Proses. (multitasking) MANAJEMEN PROSES. Multiprogramming.

Penerapan Algoritma Greedy dalam Algoritma Penjadwalan Prosesor Tunggal Shortest Job First

Algoritma Schedulling

PENDAHULUAN. Pertemuan 1 1

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Strategi Pembelajaran

KONSEP PROSES STATUS PROSES

Penerapan algoritma greedy pada berbagai macam tugas sistem operasi

MANAJEMEN MEMORI. Manajemen Memori 1

Tujuan Pembelajaran. Memahami proses swapping Memahami proses alokasi memori berurutan (Contiguous Memori Allocation)

Konsep Proses. Proses adalah suatu program yang sedang diesekusi (running) Pada saat proses berlangsung :

Perbedaan Proses dan Program

SISTEM OPERASI. fb : materi mufadhol. Operating System Concepts. Oleh : Mufadhol, S.Kom. Copyright MasYong

Minimisasi waktu penyelesaian tugas berdepedensi dengan pekerja homogen terbatas menggunakan algoritma greedy

Bab 3 - Manajemen Proses 3.1

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah. 1.2 Tujuan

Proses dan Penjadwalan

I. Struktur Sistem Operasi

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Alokasi Memori. Kelompok Rakhmat Adhi Pratama X 2. Akhda Afif Rasyidi Muhamad Ilyas

PENJADWALAN PROSES. Tiga Level Penjadwalan

1.Proses control block dalam istilah lain Taks controlling block, Taks struct, atau Switchframe. Jelaskan dan berikan gambaran proses control block?

Sistem Operasi. Silabus :

Operating System: An Overview. Ch. 6: Process Scheduling. Ch. 6: Process Scheduling. Agenda. Basic Concept Scheduling Criteria Scheduling Algorithms

Proses. - yaitu program yang sedang dieksekusi Proses merupakan satuan kerja terkecil yang secara individual dijadwalkan oleh sistem operasi

Proses Burst Time Prioritas P P1 7 1 P2 9 3 P P4 19 2

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Transkripsi:

Penjadwalan CPU Badrus Zaman

Penjadwalan CPU Konsep Dasar dan Definisi Kriteria Penjadualan Algoritma Penjadualan

Konsep Dasar Penjadwalan SO modern umumnya merupakan sistem multitasking. Tujuan Utama : untuk mempunyai proses berjalan secara bersamaan, untuk memaksimalkan kinerja dari CPU. Pemanfaatan CPU maksimum diperoleh dengan multiprogramming CPU-I/O Burst Cycle- Pelaksanaan proses terdiri dari suatu siklus tunggu I/O dan eksekusi CPU

Proses dapat juga dibagi atas 2 macam : a. I/O-bound process menghabiskan waktu lebih banyak untuk mengerjakan I/O daripada di CPU b. CPU-bound process jarang melakukan permintaan I/O, menggunakan lebih banyak waktunya di CPU Sistem dengan kinerja yang terbaik akan memiliki kombinasi proses CPU bound dan I/O bound yang seimbang.

Definisi Penjadwalan Proses Definisi Kumpulan kebijaksanaan dan mekanisme sistem operasi yang mengatur urutan dan jangka waktu eksekusi proses-proses yang aktif. Tugas Memilih proses, menentukan kapan serta berapa lama proses tersebut boleh menggunakan processor

Komponen Penjadwalan Proses 1. Antrian Penjadwalan (Scheduler Queue) - Ready queue - I/O queue - Job queue 2. Penjadwal (Scheduler) Short-Term Scheduler Medium-Term Scheduler Long-Term Scheduler

Komponen Penjadwalan Proses 2. Penjadwal (Scheduler) suatu program dengan algoritma tertentu yang menyeleksi proses yang akan dieksekusi. Jenis scheduler : a. penjadwal jangka pendek (short-term scheduler) menyeleksi proses yang berada di antrian ready.

Komponen Penjadwalan Proses b. Penjadwalan jangka menengah (Medium-term Scheduler) Jika ruang memori utama tidak cukup menampung proses, SO akan melakukan swapping yaitu memindahkan image process ke memori sekunder seperti disk. Umumnya yang dikorbankan adalah proses yang berstatus blocked atau menunggu event. Jika event sudah selesai, image process harus dikembalikan ke memori utama. Medium-term scheduler bertugas menyeleksi proses yang akan di swapping (swap-out) dan yang akan dikembalikan ke memori utama (swap-in).

Komponen Penjadwalan Proses c. Dispatcher suatu program SO yang berfungsi melakukan pengalihan eksekusi dari proses yang running ke proses yang dipilih oleh short-term scheduler. bertugas memindahkan isi register prosesor ke PCB proses yang dihentikan. Dispatch latency terdapat waktu yang terbuang (CPU idle) dimana dispatcher menghentikan satu proses dan menjalankan proses lain.

Kriteria Penjadwalan Proses Dalam melakukan penjadwalan proses, SO mempertimbangkan sejumlah faktor: 1. Keadilan (fairness) Memastikan bahwa setiap proses mendapat giliran yg adil, tetapi tidak selalu berarti jatah waktu yang sama. perlu dipastikan tidak terjadi proses yang tidak terlayani dalam jangka waktu yang lama.

Kriteria Penjadwalan Proses 2. Efisiensi (Processor Utilization) Penggunaan waktu CPU (CPU Time) seoptimal mungkin processor terpakai terus menerus selama masih ada antrian ready. 3. Waktu tanggapan (Response time) Mempercepat (secepat dan sependek mungkin) waktu tanggap dengan pemakai secara interaktif. response time adalah waktu antara pengguna memberikan input dengan SO memberikan output atau umpan balik ke pengguna.

Kriteria Penjadwalan Proses 4. Waiting Time harus seminim mungkin. merupakan durasi waktu yang dihabiskan suatu proses dalam antrian ready selama siklus hidupnya. 5. Turn Around Time harus seminim mungkin. merupakan durasi waktu dari suatu proses aktif dalam sistem sampai dengan selesai.

Kriteria Penjadwalan Proses 6. Throughput rata-rata proses yang dapat diselesaikan per satuan waktu. nilai throughput harus tinggi.

Kriteria Penjadwalan yang Optimal Memaksimumkan utilisasi CPU Memaksimumkan throughput Meminimukan turnaround time Meminimumkan waiting time Meminimumkan response time

Strategi Dasar Penjadwalan Non-preemptive (Run to completion) Algoritma Penjadualan dimana prosesproses yg sedang running tidak bisa dihentikan sementara, dan harus running terus sampai selesai Strategi in bisa membahayakan sistem / proses lain bila terjadi crash, maka SO tidak berfungsi Umumnya digunakan pada sistem sekuential

Strategi Dasar Penjadwalan Preemptive Algoritma penjadualan yg memungkinkan beberapa proses yg sedang running, bisa dihentikan sementara. Cocok untuk SO yang menerapkan multitasking, real time dan time sharing.

Pemicu terjadinya penjadwalan Kapan keputusan untuk algoritma dilakukan: Saat suatu proses: 1.Switch dari status running ke waiting. 2.Switch dari status running ke ready. 3.Switch dari status waiting ke ready. 4.Terminates.

Algoritma Penjadwalan First-come, first-served (FCFS) Shortest-Job-First (SJF) Shortest-Remaining-Time-First (SRTF) Priority Round-Robin (RR) Multilevel Queue Multilevel Feedback Queue

First-Come, First-Served (FCFS) Setiap proses diberi jadwal eksekusi berdasarkan urutan waktu kedatangan. FIFO jarang digunakan secara tersendiri tetapi dikombinasikan dengan algoritma lain karena: Timbul masalah waiting time terlalu lama jika didahului oleh proses yang waktu selesainya lama. Job yang pendek harus menunggu job yang panjang Job yang penting harus menunggu job yang kurang penting.

First-Come, First-Served (FCFS) First in First Out Algoritma penjadwalan non-preemptive FIFO cocok untuk sistem batch sangat jarang berinteraksi dengan user. Sangat buruk untuk sistem interaktif atau real time karena cenderung memberikan response time yang buruk.

FCFS (Cont.) Example: Process Burst Time P 1 24ms P 2 3ms 3ms P 3 Asumsi ketiga proses masuk bersamaan, yaitu detik ke 0 Diketahui proses yang tiba adalah P 1, P 2, P 3. Gantt chart-nya adalah : Secara umum rumus untuk menghitung waiting time adalah t waiting = t end t start t burst time Waiting time untuk P1 = 0ms; P2 = 24ms; P3 = 27ms Average waiting time: (0 + 24 + 27)/3 = 17ms

FCFS (Cont.) Diketahui proses yang tiba adalah P 2, P 3, P 1. Gant chartnya adalah : Waiting time untuk P1 = 6ms; P2 = 0ms; P3 = 3ms Average waiting time: (6 + 0 + 3)/3 = 3ms Lebih baik dari kasus sebelumnya Convoy effect proses yang pendek diikuti proses yang panjang Ide dari algoritma penjadwalan SJF (Shortest Job First)

SJF (Shortest Job First) Pada penjadwalan SJF, proses yang memiliki CPU burst paling kecil dilayani terlebih dahulu. Terdapat dua skema : 1. Non preemptive, bila CPU diberikan pada proses, maka tidak bisa ditunda sampai CPU burst selesai. 2. Preemptive, jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa waktu proses yang saat itu sedang dieksekusi, proses ini ditunda dan diganti dengan proses baru. Skema ini disebut dengan Shortest-Remaining-Time-First (SRTF) Ada beberapa kekurangan dari algoritma ini yaitu: Susahnya untuk memprediksi burst time proses yang akan dieksekusi selanjutnya. Diasumsikan waktu running (burst time) sudah diketahui. Proses yang mempunyai burst time yang besar akan memiliki waiting time yang besar pula karena yang dieksekusi terlebih dahulu adalah proses dengan burst time yang lebih kecil.

Contoh Non-Preemptive SJF Process Arrival Time Burst Time P 1 0.0ms 7ms P 2 2.0ms 4ms P 3 4.0ms 1ms P 4 5.0ms 4ms SJF (non-preemptive) P 1 P 3 P 2 P 4 0 3 7 8 12 16 Waiting time P1=0, P2=6, P3=3ms, P4=7ms Average waiting time = (0 + 6 + 3 + 7)/4 = 4ms

Contoh Preemptive SJF (Shortest-Remaining-Time-First (SRTF) Process Arrival Time Burst Time P 1 0.0 7 P 2 2.0 4 P 3 4.0 1 P 4 5.0 4 SJF (preemptive) P 1 P 2 P 3 P 2 P 4 P 1 0 2 4 5 7 11 Average waiting time = (9 + 1 + 0 +2)/4 = 3ms 16

Shortest-Remaining-Time-First (SRTF) Meskipun algoritma ini optimal, namun pada kenyataannya sulit untuk diimplementasikan karena sulit untuk mengetahui panjang CPU burst berikutnya.

Penjadwalan Prioritas Algoritma: Setiap proses akan mempunyai prioritas (bilangan integer). CPU diberikan ke proses dengan prioritas tertinggi (smallest integer = highest priority). Preemptive: proses dapat di interupsi jika terdapat prioritas lebih tinggi yang memerlukan CPU. Nonpreemptive: proses dengan prioritas tinggi akan mengganti pada saat pemakain time-slice habis. Jika beberapa proses memiliki prioritas yang sama, maka akan digunakan algoritma FCFS

Penjadwalan Prioritas Problem = Starvation Proses dengan prioritas terendah mungkin tidak akan pernah dieksekusi Solution = Aging Prioritas akan naik jika proses makin lama menunggu waktu jatah CPU. Contoh: Setiap 10 menit, prioritas dari masing-masing proses yang menunggu dalam queue dinaikkan satu tingkat. Maka, suatu proses yang memiliki prioritas 127, setidaknya dalam 21 jam 20 menit, proses tersebut akan memiliki prioritas 0, yaitu prioritas yang tertinggi (semakin kecil angka menunjukkan bahwa prioritasnya semakin tinggi). Starvation adalah kondisi dimana proses yang kekurangan resource tidak akan pernah mendapat resource yang dibutuhkan sehingga mengalami starvation (kelaparan),biasanya terjadi setelah deadlock.

Penjadwalan Prioritas Process Burst Time Priority P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2 gantt chart :

RR (Round Robin) Merupakan penjadwalan preemptive. Setiap proses dianggap penting dan mendapat jatah waktu CPU (time slice/quantum) tertentu misalkan 10 atau 100 milidetik. Setelah waktu tersebut maka proses akan di-preempt dan dipindahkan ke ready queue. Adil dan sederhana.

RR (Round Robin)

Contoh RR (Q= 20) Gantt Chart Process P 1 P 2 P 3 P 4 Burst Time 53ms 17ms 68ms 24ms P 1 P 2 P 3 P 4 P 1 P 3 P 4 P 1 P 3 P 3 0 20 37 57 77 97 117 121 134 154 162 Waiting time P1= 134 0 53 = 81ms P2= 37 0 17 = 20ms P3= 162 0 68 = 94ms P4= 121 0 24 = 97ms Rata2 = (81+20+94+97)/4 = 73ms Tipikal: lebih lama waktu rata-rata turnaround dibandingkan SJF, tapi mempunyai response terhadap user lebih cepat.

Multilevel Queue Kategori proses sesuai dengan sifat proses: Interaktif (response cepat) Batch dll Partisi ready queue dalam beberapa tingkat (multilevel) sesuai dengan proses: Setiap queue menggunakan algoritma schedule sendiri Foreground proses (interaktif, high prioritiy): RR Background proses (batch, low priority): FCFS Setiap queue mempunyai prioritas yang fixed.

Multilevel Queue

Multilevel Feedback Queue mirip sekali dengan algoritma multilevel queue Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian Algoritma ini didefinisikan melalui beberapa parameter, antara lain: a. Jumlah antrian. b. Algoritma penjadwalan tiap antrian. c. Kapan menaikkan proses ke antrian yang lebih tinggi. d. Kapan menurunkan proses ke antrian yang lebih rendah. e. Antrian mana yang akan dimasuki proses yang membutuhkan.

Multilevel Feedback Queue Semua proses yang baru datang akan diletakkan pada queue 0 ( quantum= 8 ms). Jika suatu proses tidak dapat diselesaikan dalam 8 ms, maka proses tersebut akan dihentikan dan dipindahkan ke queue 1 ( quantum= 16 ms). Queue 1 hanya akan dikerjakan jika tidak ada lagi proses di queue 0, dan jika suatu proses di queue 1 tidak selesai dalam 16 ms, maka proses tersebut akan dipindahkan ke queue 2. Queue 2 akan dikerjakan bila queue 0 dan 1 kosong, dan akan berjalan dengan algoritma FCFS.

Multilevel Feedback Queue

Penjadwalan Multiple-Processor Seperti halnya pada prosesor tunggal, prosesor jamak juga membutuhkan penjadwalan. Namun pada prosesor jamak, penjadwalannya jauh lebih kompleks daripada prosesor tunggal karena pada prosesor jamak memungkinkan adanya load sharing antar prosesor yang menyebabkan penjadwalan menjadi lebih kompleks

Penjadwalan Multiple-Processor Penjadwalan asymmetric multiprocessing atau penjadwalan master/slave menangani semua keputusan penjadwalan, pemrosesan I/O, dan aktivitas sistem lainnya hanya dengan satu prosesor ( master). Dan prosesor lainnya ( slave) hanya mengeksekusi proses. SMP ( Symmetric multiprocessing) adalah pendekatan kedua untuk penjadwalan prosesor jamak. Dimana setiap prosesor menjadwal dirinya sendiri (self scheduling).