Penjadwalan Proses Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed Iwan Setiawan <stwn at unsoed.ac.id>
Tahun Ajaran 2013/2014
Banyak program ingin dijalankan pada CPU. (proses dan thread)
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Bagaimana ketika 2 atau lebih proses dalam kondisi siap dieksekusi? (ready state)
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Penjadwal/Scheduler
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Algoritma penjadwal.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Sistem batch versus time-sharing.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Penjadwal (1) ●
Dulu sistem batch menggunakan masukan dalam bentuk card image pada tape magnetik. ●
●
●
Algoritma penjadwalnya sederhana: jalankan saja tugas berikutnya yang ada di dalam tape.
Sistem multiprogram menjadikan algoritma penjadwal lebih kompleks karena ada banyak pengguna yang menggunakan layanan. Dengan penjadwal diharapkan akan ada peningkatan unjuk kerja dan tidak mengecewakan pengguna.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Penjadwal (2) ●
●
Memilih proses yang akan dijalankan sesuai dengan algoritma. Membuat penggunaan CPU lebih efisien. ➔
➔
Perpindahan antar proses (process switching) membutuhkan banyak sumber daya. Mahal. Hal-hal yang dilakukan saat perpindahan antar proses: pindah mode pengguna dari/ke kernel, status proses perlu disimpan termasuk hal-hal yang ada pada tabel proses, juga peta memori, proses baru perlu dijalankan, ...
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
CPU-bound
I/O-bound
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Sifat Proses ●
Kebanyakkan proses melakukan komputasi dengan permintaan I/O, khususnya cakram. ●
●
●
●
Komputasi: CPU menyalin bit ke RAM VGA untuk memutakhirkan layar. Permintaan I/O muncul ketika sebuah proses diubah statusnya menjadi tertahan/blocked untuk menunggu perangkat luar.
Proses CPU-bound adalah proses yang “terikat” CPU, karena sering/lama dalam menggunakan CPU dan jarang menunggu I/O. Proses I/O-bound adalah proses yang “terikat” I/O, kebalikan dari CPU-bound.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Faktor kuncinya adalah lama penggunaan CPU (CPU burst), bukan I/O (I/O burst).
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Semakin cepat CPU maka akan membuat proses dalam sebuah sistem cenderung lebih banyak I/O bound.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Penjadwalan Dilakukan Saat.. ●
●
●
●
Sebuah proses diciptakan. Proses ortu versus proses anak. Sebuah proses dimusnahkan. Proses lain perlu diset ke siap/ready. Sebuah proses ditahan oleh I/O, semaphore, atau hal lainnya. Interrupt I/O muncul. ➔
Keputusan dapat dilakukan pada setiap interrupt clock, umumnya mengikuti clock perangkat keras.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Algoritma Penjadwalan ●
Algoritma penjadwalan dibagi menjadi 2 kategori menurut bagaimana penjadwal menangani interrupt clock. ●
●
Nonpreemptive: penjadwal menjalankan proses sampai proses itu selesai atau dalam status tertahan/blocked, baik karena permintaan I/O atau menunggu proses lainnya. Preemptive: penjadwal menjalankan proses dengan memberikan waktu terbatas.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Algoritma penjadwalan dipengaruhi pula oleh lingkungan sistem. (berbeda aplikasi, berbeda tujuan)
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Kategori Berdasar Lingkungan (1) ●
Batch. ● ●
●
●
Menjalankan tugas-tugas periodik. Tidak ada pengguna yang benar-benar menunggu untuk mendapatkan respon cepat dalam waktu singkat. Algoritma nonpreemptive atau preemptive dengan batas waktu yang panjang dapat diterapkan. Waktu perpindahan proses yang sangat kecil, sehingga meningkatkan unjuk kerja.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Kategori Berdasar Lingkungan (2) ●
Interaktif. ●
●
Proses pengguna yang interaktif dan membutuhkan respon relatif cepat. Contoh: destop, server.
Waktu nyata/real-time. ●
●
Proses-proses yang dijalankan di dalam sistem ini “sadar” tidak punya waktu banyak untuk melakukan pemrosesan. Perbedaannya dengan kategori interaktif adalah program yang dijalankan pada waktu nyata adalah program-program yang mendukung aplikasi saja.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Kategori Berdasar Tujuan
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Penjadwalan pada Sistem Batch ●
●
●
First-Come First-Serve (FCFS): “yang datang dulu dilayani dulu”. Nonpreemptive. Shortest Job First (SJF): “yang paling cepat selesai dilayani dulu”. Nonpreemptive. Shortest Remaining Time Next: “yang sisa waktu eksekusinya paling kecil dilayani dulu”. Versi preemptive dari SJF.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Shortest Job First (SJF) ●
●
●
Waktu turnaround untuk (a): 8, 12, 16, 20, dengan rata-rata 14. Waktu turnaround untuk (b): 4, 8, 12, 20, dengan rata-rata 11. Hanya optimal untuk pakerjaan yang tersedia semua secara simultan atau dalam waktu yang bersamaan.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Shortest Remaining Time Next ● ●
●
●
Versi preemptive dari SJF. Penjadwal memilih proses yang memiliki sisa waktu ekskusi yang lebih sedikit. Ketika ada proses baru datang, proses tersebut akan dibandingkan dengan proses yang sedang berjalan. Jika proses baru lebih sedikit waktu ekskusinya dibandingkan sisa waktu proses yang sedang berjalan, proses yang sedang berjalan ditahan dulu dan proses baru akan dijalankan. Proses-proses dengan waktu eksekusi sedikit akan mendapatkan layanan yang bagus.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Penjadwalan pada Sistem Interaktif ●
Round-robin: interval waktu (kuantum).
●
Priority Scheduling: prioritas proses.
●
Multiple queue: kelas prioritas.
●
Shortest Process Next: seperti SJF.
●
Guaranteed Scheduling: CPU dibagi pengguna.
●
Lottery Scheduling: random.
●
Fair-share Scheduling: kombinasi penjadwal round-robin dan guaranteed.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Penjadwalan Round-robin (1) ●
●
●
Setiap proses diberikan interval waktu yang disebut dengan kuantum. Jika proses masih berjalan di akhir kuantum, proses tersebut dihentikan dulu (preempt) dan digantikan proses selanjutnya. Mudah untuk diimplementasikan.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Penjadwalan Round-robin (2) ●
●
Terdapat pergantian proses atau context-switch yang melibatkan waktu untuk menyimpan dan memuat register, peta memori, memutakhirkan tabel dan daftar variabel, membersihkan dan memuat ulang cache memori, dst. Jika kuantum 4 milidetik dan waktu pergantian proses 1 milidetik, berarti 20% waktu CPU akan habis atau terbuang untuk urusan “administrasi”. ● ●
●
Bagaimana cara meningkatkan efisiensi CPU? Bagaimana jika terdapat 100 permintaan web pada sebuah server web?
Kuantum 20-50 milidetik relatif dapat diterima.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Penjadwalan Kelas Prioritas
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Penjadwalan di Sistem Waktu Nyata ●
Umumnya sistem real-time atau waktu nyata memiliki satu atau lebih perangkat eksternal yang menerima atau membangkitkan pemicu, dan sistem akan bereaksi dalam waktu tertentu yang pasti. ➔
●
●
Contoh: pemutar CD, pemantau pasien, auto-pilot di pesawat terbang, robot pengendali di pabrik.
Hard real-time vs. soft real-time. Secara umum setiap proses memiliki waktu eksekusi yang pendek. Penjadwal proses akan dipicu saat sebuah kejadian eksternal muncul.
●
Semua proses harus sesuai dengan tenggat eksekusi (hard).
●
Sistem dapat merespon aliran banyak kejadian dan schedulable jika.. kejadian periodik
waktu dalam detik
m
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
Ci ≤1 ∑ i =1 Pi
Periode stwn at unsoed.ac.id
Kebijakan versus Mekanisme ●
Memisahkan mekanisme penjadwalan dan kebijakan penjadwalan. ●
●
●
Sebuah proses mengetahui thread mana yang penting dan membutuhkan prioritas.
Algoritma penjadwalan diberi parameter. Mekanisme ada di kernel. Parameter diisi oleh proses-proses pengguna dan kebijakan diset pula oleh proses pengguna.
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Penjadwalan Thread (1)
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Penjadwalan Thread (2)
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id
Referensi ●
Tanenbaum, A. 2009. Modern Operating Systems, Third Edition, Prentice Hall
Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed
stwn at unsoed.ac.id