Pertemuan V Penjadwalan Proses

dokumen-dokumen yang mirip
Bab 5: Penjadwalan CPU. Konsep Dasar

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

Penjadwalan CPU. Badrus Zaman

SISTEM OPERASI PENJADWALAN PROSES

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

Overview Penjadwalan (1)

BAB 4 PENJADWALAN CPU 55

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

Deskripsi Penjadwalan Proses

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

Penjadualan CPU. Konsep Dasar. Penjadualan CPU. Penggantian Rangkaian Urutan CPU dan I/O Burst

PENJADWALAN PROSES. Pendahuluan

Sistem Operasi Penjadwalan Proses

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

Konsed Dasar Penjadualan Proses

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?

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

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

Penjadualan Process Bagian 1

DESKRIPSI PENJADWALAN PROSES

Penjadualan Process Bagian 2

PENJADWALAN PROSES AGUS PAMUJI. SISTEM OPERASI - Penjadwalan Proses

Praktikum 9. Penjadwalan CPU 1

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

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

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

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

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

Algoritma Penjadwalan 2

Bab 13. Konsep Penjadwalan

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

Simulasi Algoritma Penjadualan Proses

Mata Kuliah : Sistem Operasi Kelas : Teknik Informatika 4

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 3.Proses dan Penjadualan

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

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

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

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

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

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

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

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IV Penjadwalan Proses I

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

Pengaturan Proses Dalam system operasi. proses

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

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

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

Understanding Operating Systems Fifth Edition. Chapter 4 Processor Management

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

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

BAB III TEKNIK PENJADWALAN PROSESOR

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

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

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

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

Bab 3: Proses-Proses. Konsep Proses

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

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

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

Processes. Processes. SISTIM OPERASI (Operating System) IKI-20230

Sistem Operasi PENGATURAN PROSES

Algoritma Schedulling

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

KONSEP PROSES STATUS PROSES

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

METODE PENJADWALAN PROSES AGUS PAMUJI. SISTEM OPERASI Metode Penjadwalan Proses

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

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Dukungan Sistem Operasi :

BAB V Penjadwalan CPU

Proses dan Penjadwalan

SISTEM OPERASI. Sri Kusumadewi

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Rencana Perkuliahan Sistem Operasi CSG3E3 2015/2016

BAB 16. Evaluasi dan Ilustrasi

Bab 3: Proses-Proses. Konsep Proses

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

JURNAL ITSMART Vol 4. No 2. Desember 2015 ISSN :

Algoritma Penjadwalan pada Tinyos

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

PENJADWALAN PROSES. Tiga Level Penjadwalan

Sistem Operasi Komputer. Pembahasan Deadlock

Penerapan Algoritma Greedy dalam Algoritma Penjadwalan Prosesor Tunggal Shortest Job First

DASAR KOMPUTER. Dukungan Sistem Operasi

Reza Chandra Universitas Gunadarma PTA 2010/2011

7. Pengaturan Proses

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

TUGAS SISTEM OPERASI THREAD

Manajemen Proses. Ptputraastawa.wordpress.com. Sistem Operasi Putu Putra Astawa

Bab 3. Proses Proses POKOK BAHASAN: TUJUAN BELAJAR: 3.1 KONSEP PROSES

1. Istilah-istilah dalam penjadwalan proses

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

Sistem Operasi Komputer

Operating System: An Overview. Ch. 3: Process Management. Ch. 3: Process Management

Algoritma Greedy pada Penjadwalan Real-Time untuk Earliest Deadline First Scheduling dan Rate Monotonic Scheduling serta Perbandingannya

Transkripsi:

Pertemuan V Penjadwalan Proses Konsep dasar Kriteria penjadwalan Algoritma penjadwalan Implementasi penjadwalan Evaluasi algoritma penjadwalan Case: Windows 2000 dan Linux Universitas Kristen Maranatha -- IT Department 1

Multiprogramming beberapa proses berjalan dalam suatu waktu CPU I/O burst cycle Eksekusi proses terdiri atas cycle eksekusi CPU dan waktu tunggu I/O CPU burst distribution CPU dialihkan ke proses yang lain pada saat suatu proses sedang dalam status wait I/O bound program banyak CPU burst yang singkat CPU bound program sedikit CPU burst yang sangat lama PROCESS STATE ready running read( ) waiting ready ready running write ( ) waiting ready ready running read ( ) waiting ready Universitas Kristen Maranatha -- IT Department 2

Pada saat CPU nganggur, seleksi ready queue dalam memori utama short term scheduler Setiap proses dalam ready queue harus mengantri sebelum mendapat giliran eksekusi dalam CPU Pertimbangan penjadwalan: 1. Berpindah dari keadaan running ke waiting 2. Berpindah dari keadaan running ke ready (interrupt) 3. Berpindah dari waiting ke ready (completion I/O) 4. Selesai Nomor 1 dan 4 nonpreemptive (CPU digunakan terus sampai proses selesai atau waiting) Nomor 2 dan 3 preemptive (CPU beralih ke proses lain atau I/O / Context Switch Kontrol terhadap seleksi short term scheduling: Context switching Switching ke user mode Melompat ke lokasi tertentu pada user program untuk memulai program tersebut Dispatch latency waktu yang diperlukan untuk menghentikan suatu proses dan memulai menjalankan proses terpilih Universitas Kristen Maranatha -- IT Department 3

Max. CPU utilization usahakan CPU sesibuk mungkin (40% - 90%) Max. Throughput banyak eksekusi proses dalam satu satuan waktu Max. Fairness pembagian waktu yang adil di antara proses Min. Turnaround time waktu total eksekusi satu proses tertentu (siklus proses: memori, ready queue, ekesekusi, penyelesaian I/O) Min. Waiting time waktu menunggu total di ready queue Min. Response time waktu mulai dari permohonan sampai respons pertama suatu proses Universitas Kristen Maranatha -- IT Department 4

Dikenal juga dengan istilah First In, First Out (FIFO) Proses yang pertama kali meminta jatah waktu untuk menggunakan CPU akan mendapat prioritas Mudah diimplementasikan Average Waiting Time (AWT) cukup besar Problem: convoy effect, AWT membengkak jika proses yang terlebih dahulu membutuhkan CPU burst yang besar Non preemptive Process Burst Time P 1 24 P 2 3 P 3 3 P 1 P 2 P 3 0 24 27 30 Urutan proses: P 1, P 2, P 3 Gantt Chart untuk penjadwalan ini: Waiting time untuk P 1 = 0; P 2 = 24; P 3 = 27 Average waiting time: (0 + 24 + 27)/3 = 17 Universitas Kristen Maranatha -- IT Department 5

Jika urutan proses adalah: P 2, P 3, P 1. Gantt chart untuk penjadwalan ini: P 2 P 3 P 1 0 3 6 30 Waiting time untuk P 1 = 6; P 2 = 0 ; P 3 = 3 Average waiting time: (6 + 0 + 3)/3 = 3 Lebih baik dari kasus sebelumnya Proses yang memiliki CPU burst paling kecil akan dilayani terlebih dahulu Non preemptive: proses yang sedang berlangsung tidak dapat digantikan dengan proses yang baru Preemptive: jika proses yang masuk dengan CPU burst lebih kecil daripada sisa CPU burst proses yang sedang berjalan, akan dilakukan pergantian proses dalam CPU, dikenal dengan istilah Shortest-Remaining-Time-First (SRTF) SJF dapat dinilai optimal karena memberikan minimum AWT untuk sejumlah proses yang ada dalam CPU Universitas Kristen Maranatha -- IT Department 6

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 (non-preemptive) P 1 P 3 P 2 P 4 0 3 7 8 12 16 Average waiting time = (0 + 6 + 3 + 7)/4 = 4 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 16 Average waiting time = (9 + 1 + 0 +2)/4 = 3 Universitas Kristen Maranatha -- IT Department 7

SJF optimal namun sulit diimplementasikan Estimasi CPU burst yang akan datang: menggunakan perhitungan rata-rata exponensial dari lama CPU burst yang sudah lewat τ = α t + n+ 1 n 1 1. t n = actual lenght of n 2. τ n+ 1 = predicted value 3. α, 0 α 1 ( α) th CPU burst τ n for the next CPU burst α = 0.5; t1 = 6; τ1 = 10 Universitas Kristen Maranatha -- IT Department 8

Nomor prioritas (integer) diberikan untuk setiap proses CPU dialokasikan untuk proses dengan prioritas terbesar (nomor terkecil), bisa preemptive dan bisa pula non-preemptive SJF adalah bentuk khusus priority scheduling, dengan prioritas dihitung dari perkiraan CPU burst berikutnya Problem: starvation proses dengan prioritas rendah mungkin saja tidak pernah diproses di CPU Solusi: aging menaikkan prioritas setiap kali suatu proses dijalankan Time sharing: setiap proses mendapat quantum waktu CPU, antara 10-100 ms Setelah quantum selesai, CPU diserahkan ke proses berikutnya (preemptive), dan proses yang sedang berlangsung ditaruh pada akhir ready queue Jika ada n proses dalam ready queue dan waktu quantum q, maka setiap proses mendapat 1/n waktu CPU dengan nilai q setiap kalinya Waktu tunggu proses tidak lebih dari (n-1)*q Performance: q besar FCFS q kecil turnaround time besar (banyak terjadi context switching) Universitas Kristen Maranatha -- IT Department 9

Process Burst Time P 1 53 P 2 17 P 3 68 P 4 24 Gantt chart penjadwalan 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 Biasanya, rata-rata turnaround time lebih tinggi daripada SJF, namun dengan responsi yang lebih baik Universitas Kristen Maranatha -- IT Department 10

Membagi proses dalam grup-grup Tiap grup dikerjakan dengan algoritma penjadwalan yang berbeda Foreground RR Background FCFS Ready queue dibagi menjadi beberapa queue secara terpisah Foreground (interactive) Background (batch) Prioritas yang tetap (foreground ke background), mungkin terjadi starvation Time-slice setiap queue memiliki CPU time yang tetap, yang kemudian akan dijadwalkan di antara proses yang ada, misalnya: 80% untuk foreground (RR) dan 20% untuk background (FCFS) Universitas Kristen Maranatha -- IT Department 11

Proses yang ada pada suatu queue dapat pindah ke queue lain Aging dapat pula diimplementasikan Parameter: Jumlah queue Algoritma penjadwalan untuk setiap queue Metode untuk menentukan suatu proses akan diupgrade Metode untuk menentukan suatu proses akan diturunkan Metode untuk menentukan letak queue, jika ada proses yang akan dilayani Universitas Kristen Maranatha -- IT Department 12

Tiga queue: Q0 = time quantum 8 ms Q1 = time quantum 16 ms Q2 = FCFS Scheduling: Proses baru memasuki queue Q0 dengan layanan FCFS. Ketika mendapat CPU dan jika tidak selesai dalam waktu 8 ms, akan turun ke Q1 Di Q1, proses mendapat layanan FCFS, dan mendapat 16 ms CPU tambahan. Jika tidak selesai proses dipreempted dan turun ke Q2 Universitas Kristen Maranatha -- IT Department 13

Jaminan kinerja dan kelangsungan yang baik Contoh: n user login tiap user 1/n CPU time Jumlah CPU total time = 20 ms, tiap user 4 ms Menjalankan proses dengan rasio yang paling rendah hingga proses tersebut mendapat rasio yang melebihi rasio proses yang sebelumnya (satu tingkat lebih tinggi) User CPU time (ms) CPU actual (ms) rasio A 5 3 ¾ B 4 6 6/4 C 8 2 2/4 D 1 1 ¼ E 2 1 ¼ Waktu terbuang untuk switching (swapping proses di memori utama dan disk) Solusi: Two level scheduling himpunan bagian proses yang siap dieksekusi diload ke memori utama Scheduler memilih proses pada himpunan bagian ini Secara periodis, higher level scheduler mengganti proses yang telah lama tinggal di memori utama dengan proses yang telah cukup lama menunggu di disk Universitas Kristen Maranatha -- IT Department 14

a, b, c, d Proses di memori utama e, f, g, h b, c, f, g e, f, g, h Proses di disk a, b, c, d a, d, e, h Time slice Proses melahirkan proses lainnya (children/ fork) Tiap child memiliki permintaan yang berbeda (fungsi yang berbeda) Semua diputuskan oleh scheduler Solusi: Policy user diijinkan memberi kebijakan kontrol dan prioritas pada suatu child Mechanism pelaksanaan policy, dilaksanakan oleh kernel Universitas Kristen Maranatha -- IT Department 15

Procedure A( ) { while (true) { <hitung A1>; write(x); <hitung A2>; read(y); } } // p11 // p12 // p13 // p14 Procedure B( ) { while (true) { read(x); <hitung B1>; write(y); <hitung B2>; } } // p21 // p22 // p23 // p24 x dan y adalah shared-variables Dikerjakan serial (1 prosesor) atau paralel (2 prosesor) problem: prosedur mana yang terlebih dahulu? solusi: procedure of processes (precedence graph) P = { pi 1 <= i <= n } himpunan proses <. = { (pi, pj) 1 <= i, j <= n } pasangan berurutan pada p Π = ( P, <. ) komputasi (pi, pj): pj tidak dapat dikerjakan sebelum pi selesai Tidak boleh ada looping Universitas Kristen Maranatha -- IT Department 16

p11 p13 p12 p21 Komputasi pada Precedence Graph Π = [ (p11, p12, p13, p14, p21, p22, p23, p24), p22 { (p11, p12), (p12, p13), (p12, p 21), (p21, p22), (p22, p23), (p23, p14), (p13, p14), (p23, p24)} p23 ] p14 p24 Fork (labelx) membangun proses baru dan mengerjakannya mulai dari statement yang diberi labelx Join(Cacah) menggabungkan kembali beberapa proses menjadi proses tunggal. Variabel cacah menunjukkan berapa kalo JOIN dikerjakan. Setiap kali join dikerjakan secara otomatis nilai cacah berkurang satu QUIT( ) keluar dari ekseskusi Universitas Kristen Maranatha -- IT Department 17

Procedure A&B while (true) { cacah = 1; < hitung p11 >; < hitung p12 >; FORK ( L1 ); < hitung p13 >; L2: JOIN (cacah); < hitung p14>; QUIT( ); L1: < hitung p21 >; < hitung p22 >; < hitung p23 >; FORK ( L3); GOTO (L2); L3: < hitung p24 >; QUIT ( ); Model deterministik (analisis langsung) SJF kurang dari setengah waktu tunggu rata algoritma FCFS RR nilai tengah-tengah Model pengantrian (queueing model) Implementasi (simulasi): biaya tinggi Universitas Kristen Maranatha -- IT Department 18

Penentuan prioritas setiap proses (thread) tergantung pada: Relative priority Priority classes 1. Tunjukkan perbedaan antara preemptive scheduling dengan non-preemptive scheduling 2. Sebutkan hal-hal apa saja yang perlu diperhatikan dalam melakukan penjadwalan proses pada sistem multiprogramming 3. Diketahui 4 proses P1, P2, P3 dan P4 dengan arrival time (waktu tiba) dan burst time (waktu eksekusi) sebagai berikut: Universitas Kristen Maranatha -- IT Department 19

Proses Arrival time (ms) Burst time (ms) P1 0 6 P2 1 8 P3 2 10 P4 3 5 Gambar gantt-chart dan hitung AWT, dengan algoritma penjadwalan: FCFS, preemptive SJF, RR (dengan QT = 2 ms) 4. Buatlah precedence graph untuk prosedur XX berikut ini: Procedure XX ( ) { while (true) { x = 10; //p1 y = 3; //p2 a = y * 2; //p3 b = 2 * x 25; // p4 c = 3 * a + x; // p5 d = 2 * c a; // p6 e = b 2 * d; // p7 z = e + 1; // p8 } } 5. Pada Prosedur XX di atas, buatlah urutan proses dengan menggunakan FORK-JOIN-QUIT! Universitas Kristen Maranatha -- IT Department 20