Sistem Operasi: Penjadwalan Proses

Slides:



Advertisements
Presentasi serupa
PERTEMUAN KE-5 Heintje Hendrata, S.Kom
Advertisements

Tim Teaching Grant Mata Kuliah Sistem Operasi
Penjadwalan CPU Niyalatul Muna
BAB IV PENJADWALAN PROSES.
Pertemuan 04- Penjadwalan Proses sistem operasi
Ervi Nurafliyan Susanti ( )
Pokok Bahasan: (1) Pendahuluan Jenis-jenis penjadualan
Sistem Operasi Penjadwalan Proses
Pertemuan 5 Penjadwalan Proses
Proses dan Penjadwalan
Slide 7 – Penjadwalan Process
PART 3 DOSEN : AHMAD APANDI, ST
Manajemen Proses Meliputi : Pengelolaan sisklusi hidup proses
Sistem Operasi (Operating Systems) Minggu 6
PENJADWALAN PROSES.
PENJADUALAN PROSES.
Penjadwalan Sistem Interaktif
Penjadwalan Proses.
Masalah Klasik Komunikasi Antar Proses
MATERI 5 SISTEM OPERASI Scheduling Algorithm Oleh : Mufadhol, S.Kom
MATERI 4 SISTEM OPERASI Scheduling Process Oleh : Mufadhol, S.Kom
Oleh : Defiana Arnaldy, M.Si
PERTEMUAN KE-9 PERKULIAHAN SISTEM OPERASI
SISTEM OPERASI Pertemuan 4 : Penjadwalan
Penjadwalan Prosesor (CPU Scheduling)
PROCESS SCHEDULING A.A. Gde Bagus Ariana, ST..
Penjadwalan Proses.
“Process Schedulling”
Penjadwalan CPU.
Penjadwalan Process.
First-Come-First-Served (FCFS)
“PENJADWALAN PROSES “ SISTEM OPERASI.
Operasi pada Sistem Operasi
PENJADWALAN PROSES.
V. Penjadwalan Proses Penjadwalan CPU terjadi pada sistem operasi yang mempergunakan multiprogramming. Penjadwalan berupa kumpulan kebijakan untuk menentukan.
OPERATING SYSTEM.
Algorithma Penjadwalan Proses
Mata Kuliah : Sistem Operasi
PART 3 DOSEN : AHMAD APANDI, ST
SISTEM OPERASI Dosen Pengampu : Erfanti Fatkhiyah, ST., M.Cs.
III. Penjadwalan Proses
Slide 7 – Penjadwalan Process
PENJADWALAN PROSES.
STMIK-IM BANDUNG Chalifa Chazar
Penjadwalan Proses.
Penjadwalan Proses.
ALGORITMA PENJADWALAN PROSES
Fakultas Ilmu Komputer Defri Kurniawan, M.Kom
Process Scheduling SISTEM OPERASI Slide perkuliahan
Penjadwalan Proses Edi Sugiarto, S.Kom.
Mata Kuliah Sistem Operasi
Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta
Penjadwalan Proses.
PART 3 Penjadwalan cpu.
Sistem Operasi Penjadwalan Proses
Penjadualan CPU 6.
CHAPTER 5 CPU SCHEDULING
Manajemen Proses Firdaus, M.T..
PENJADWALAN PROSES.
MATERI PENJADWALAN PROSES
Penjadwalan Proses M. Ghofar Rohman.
Penjadwalan Uniprocessor
Tim Teaching Grant Mata Kuliah Sistem Operasi
Beberapa istilah yg sering muncul
Slide 7 – Penjadwalan Process
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
OPERATING SYSTEM. 1.Fungsi Sistem Operasi 2.Penjadwalan Proses 3.Memori Manajemen Dukungan Sistem Operasi meliputi:
Tim Teaching Grant Mata Kuliah Sistem Operasi
Transcript presentasi:

Sistem Operasi: Penjadwalan Proses Tri Ismardiko Widyawan 2016

Overview Pengantar Algoritma Penjadwalan Penjadwalan Thread Masalah IPC Klasik

Pengantar Bisa terdapat beberapa proses yang siap untuk running Mana yang akan dipilih? Butuh algoritma penjadwalan 2 jenis penjadwalan: Preemptive scheduling: ada clock untuk mencatat jatah waktu suatu proses, bila waktu habis harus berhenti Non-preemptive scheduling: proses hanya berhenti jika blocked karena I/O atau sudah selesai 3 jenis environment: Batch Interactive Real time

Ukuran Performansi Fairness bagi setiap proses Policy enforcement Balance: beban setiap bagian seimbang Batch systems Penggunaan CPU: persentase processor sibuk Throughput: #proses selesai per satuan waktu Turnaround time: jangka waktu antara submission - termination Interactive systems Response time: waktu mulai command - hasil Proportionality: memenuhi harapan user Real time systems Memenuhi deadline predictability

Sistem Batch FCFS (First Come First Served) Shortest Job First (SJF) Menggunakan 1 antrian, non-preemptive Shortest Job First (SJF) Asumsi: waktu eksekusi sudah diketahui sebelumnya, non- preemptive Minimasi waktu tunggu, namun hanya jika proses sudah siap pada saat awal Shortest Remaining Time Next Versi preemptive dari SJF

Sistem Interaktif Penjadwalan Round Robin Penjadwalan dengan Prioritas Penjadwalan dengan Banyak Antrian Shortest Process Next Guaranteed Scheduling Lottery Scheduling Fair-Share Scheduling

Penjadwalan Round Robin Setiap proses diberi jatah waktu (quantum) Bila quantum sudah habis atau proses terblok, scheduler akan memilih proses lain Bagaimana menentukan quantum? Penggunaan CPU bisa menjadi kriteria Terlalu pendek bisa membuang waktu CPU, terlalu panjang bisa mengakibatkan proses menunggu terlalu lama

Penjadwalan dengan Prioritas Tidak semua proses sama pentingnya Menggunakan priority queue Prioritas bisa dikurangi setiap tick untuk mencegah proses dengan prioritas tinggi berjalan terus-menerus Penentuan prioritas: secara statis/dinamis Dinamis: 1/f, di mana f adalah berapa bagian quantum dipakai saat terakhir eksekusi

Penjadwalan dengan Antrian Berganda Antrian yang berbeda untuk prioritas berbeda Proses dengan prioritas tertinggi akan mendapat 1 quantum, prioritas kedua 2 quantum, ketiga 4 quantum, dst. Jika suatu proses menghabiskan jatah quantumnya, akan diturunkan prioritasnya Mis: proses yang butuh 100 quantum, mula-mula diberi prioritas tertinggi, lalu kedua, dst. sampai keenam Swapping lebih sedikit daripada round robin

Shortest Process Next Bagaimana memperkirakan lama proses? Aging: memperkirakan lama proses dengan menghitung rata- rata (dengan bobot) dari waktu eksekusi saat ini dan perkiraan waktu sebelumnya tentukan a, perkirakan dengan rumus aT0+(1-a)T1 T0 adalah perkiraan waktu eksekusi sebelumnya dan T1 adalah waktu eksekusi saat ini

Guaranteed Scheduling Menjanjikan (garansi) performansi kepada user dan memenuhinya Garansi yang paling realistis : 1/n, dengan n adalah #proses Hitung waktu/n dan bandingkan dengan setiap proses Proses dengan rasio terendah akan mendapat prioritas tertinggi untuk dijalankan

Lottery Scheduling Setiap proses menerima tiket lotere untuk setiap resource (termasuk CPU time) Secara acak lotere diundi Untuk mendukung prioritas, proses dengan prioritas tinggi akan menerima tiket lebih banyak Proses-proses yang bekerjasama bisa saling bertukar tiket

Fair-Share Scheduling Fairness dari sisi user, bukan hanya dari #proses Setiap user dijanjikan proporsi waktu CPU dengan mempertimbangkan juga #proses yang dimilikinya

Sistem Real Time Harus bereaksi terhadap event eksternal dalam batas waktu tertentu: Hard real-time bila sama sekali tidak boleh melanggar batas waktu Soft real-time bila pelanggaran batas waktu tidak diinginkan namun masih bisa ditolerir Event bisa dibagi: periodik dan aperiodik Sistem real time dengan periodic event di mana pi menyatakan periode event ke-i dan ci waktu untuk menangani event ke-i, bisa dijadwalkan bila memenuhi

Policy vs. Mechanism Prioritas yang diatur oleh scheduler belum tentu tepat Algoritma scheduling menerima parameter input dari user tentang prioritas proses Dengan demikian terjadi pemisahan antara policy penjadwalan (oleh user) dan mekanisme penjadwalan (oleh scheduler)

Penjadwalan Thread User-level dan kernel-level thread scheduler Pada user-level thread scheduler, thread tidak bisa di- interrupt Namun lebih bisa dioptimasi karena algoritma scheduler diimplementasikan sendiri

Masalah IPC Klasik Adalah masalah-masalah klasik dalam SO, yang esensinya adalah sinkronisasi proses Dining Philosophers Masalah Readers and Writers

Dining Philosophers Diusulkan dan diselesaikan oleh Dijkstra (1965) Menjadi kasus studi standar untuk menunjukkan kemampuan suatu metode sinkronisasi yang diusulkan seseorang Setiap filsuf: makan atau berpikir Untuk makan perlu 2 garpu Buatlah program untuk tiap filsuf agar bisa makan dan berpikir dengan lancar

Solusi yang Gagal #define N 5 /*number of philosophers*/ void philosopher(int i) /*i: philosopher id, from 0 to 4*/ { while (TRUE) { think(); /*philosopher is thinking*/ take_fork(i); /*take left fork*/ take_fork((i+1)%N); /*take right fork*/ eat(); /*eat spaghetti*/ put_fork(i); /*put left fork back on table*/ put_fork((i+1)%N); /*put right fork back on table*/ }

Beberapa Masalah Deadlock: bila semua filsuf mengambil garpu kiri secara bersamaan Modifikasi: setelah ambil garpu kiri, cek garpu kanan, bila tak ada kembalikan garpu kiri Tetap gagal bila semua filsuf mengambil garpu kiri bersamaan dan melihat garpu kanan tak ada lalu meletakkan garpu kiri berulang-ulang Ini disebut masalah starvation

Solusi yang berhasil Waktu tunggu sebelum mencoba lagi dibuat acak Kurang disukai untuk beberapa masalah yang ingin deterministik Solusi yang pasti berhasil: gunakan mutex Down(mutex) sebelum mengambil garpu kiri untuk mencegah filsuf lain melakukan hal yang sama Up(mutex) setelah menaruh kembali kedua garpu Tidak praktis karena hanya satu filsuf yang bisa makan padahal garpu masih tersisa Solusi optimal: tambahkan semaphore state[i] untuk setiap filsuf. Cek dulu state[LEFT] dan state[RIGHT], bila keduanya tidak sedang makan, baru boleh makan Down dan Up mutex pada saat ambil/letakkan garpu

Readers & Writers Problem Diusulkan Coutois et al. (1971) model akses basis data Banyak proses yang ingin membaca dan menulis basis data Membaca bersamaan diperbolehkan, namun pada saat ada 1 proses sedang menulis proses lain tidak boleh mengakses basis data Solusi yang diberikan bisa membuat writer menunggu selama-lamanya