Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
CHAPTER 5 CPU SCHEDULING
Disusun Oleh : - Sri Rahmayani ( ) - Ummul Hujjati ( )
2
Basic Concepts Di sistem prosesor tunggal, hanay satu proses yang dapat berjalan pada satu waktu; setiap orang lain harus menunggu sampai cpu bebas dan dapat dijadwal ulang. Tujuan dari multiprogramming adalah untuk memiliki beberapa proses yang berjalan pada sepanjang waktu, dalam rangka untuk memaksimalkan penggunaan CPU. Ide ini relatif sederhana. Sebuah proses dieksekusi sampai harus menunggu, biasanya untuk menyelesaikan beberapa permintaan I/O. Secara sederhana sistem komputer, CPU kemudian hanya duduk menganggur. Semua ini menunggu waktu yang terbuang; tidak ada pekerjaan yang berguna dicapai. Dengan multiprogramming. Beberapa proses disimpan dalam memori pada satu waktu. Ketikasalah satu proses yang telah menunggu, sistem operasi membutuhkan CPU jauh dari yang proses dan memberikan CPU ke proses lain. Pola ini terus berlanjut. Setiap waktu satu proses menunggu, proses lain dapat mengambil alih penggunaan CPU.
3
Dengan multiprogramming, kami mencoba untuk menggunakan ini waktu produktif. Beberapa proses disimpan dalam memori pada satu waktu. Ketikasalah satu proses yang telah menunggu, sistem operasi membutuhkan CPU jauh dari yang proses dan memberikan CPU ke proses lain. Pola ini terus berlanjut. Setiap waktu satu proses menunggu, proses lain dapat mengambil alih penggunaan CPU.
4
Penjadwalan Kriteria Banyak kriteria telah diusulkan untuk membandingkan CPU-algoritma penjadwalan. Yang karakteristik yang digunakan untuk perbandingan dapat membuat substansial perbedaan di mana algoritma ini dinilai menjadi yang terbaik. Kriteria yang meliputi berikut: Utilisasi CPU. Kita ingin menjaga CPU sesibuk mungkin. Secara konseptual, Utilisasi CPU dapat berkisar dari 0 sampai 100 persen. Dalam sistem nyata, harus berkisar dari 40 persen (untuk yang ringan dimuat system) untuk 90 persen (untuk yang banyak digunakan sistem). Throughput. Jika CPU sibuk melaksanakan proses, maka pekerjaan yang sedang dilakukan. Salah satu ukuran kerja adalah banyaknya proses yang selesai per satuan waktu, yang disebut throughput. Untuk proses-proses yang panjang, tingkat ini dapat menjadi salah satu proses per jam; untuk transaksi singkat, mungkin sepuluh proses per detik.
5
Perputaran waktu. Dari sudut pandang proses tertentu, kriteria penting adalah howlong yang dibutuhkan untuk mengeksekusi proses tersebut. Interval dari saat pengajuan proses waktu penyelesaian adalah perputaran waktu. Turnaround time adalah jumlah periode waktu yang dihabiskan menunggu untuk masuk ke memori, menunggu di ready queue, eksekusi di CPU, dan melakukan I/O. Menunggu waktu. CPU-algoritma penjadwalan tidak mempengaruhi jumlah waktu selama proses mengeksekusi atau I/O; itu hanya mempengaruhi jumlah waktu proses yang menghabiskan menunggu di ready queue. Menunggu waktu adalah jumlah waktu yang dihabiskan menunggu di ready queue. Waktu respon. Dalam sebuah sistem interaktif, waktu penyelesaian tidak dapat kriteria terbaik. Seringkali, proses dapat menghasilkan output yang cukup dini dan dapat melanjutkan komputasi hasil yang baru sementara hasil sebelumnya sedang output untuk pengguna.
6
Penjadwalan Algoritma
Penjadwalan CPU berurusan dengan permasalahan memutuskan proses dalam siap mengantri untuk dialokasikan ke CPU.Ada banyak yang berbeda CPU penjadwalan algoritma. Di bagian ini, kami akan menjelaskan beberapa dari mereka. Pertama datang, penjadwalan pertama dilayani Shortest-job-first sceduling Prioritas Penjadwalan Round-Rbin Scheduling Multilevel Queue Scheduling Multilevel Feedback Queue Scheduling
7
Thread Penjadwalan Pada Bab 4, kita mengenalkan threads untuk model proses, membedakan antara user-level dan kernel level thread. Pada sistem operasi yang mendukung mereka, itu adalah kernel-level threads—proses yang sedang dijadwalkan oleh sistem operasi. User-level threads yang dikelola oleh thread library, dan kernel tidak menyadari dari mereka. Untuk berjalan pada CPU, user-level threads akhirnya harus dipetakan untuk terkait kernel-level thread, meskipun pemetaan ini mungkin tidak langsung dan dapat menggunakan proses ringan (LWP). Dalam hal ini bagian ini, kita mengeksplorasi penjadwalan isu-isu yang melibatkan user-level dan kernel level benang dan menawarkan contoh-contoh spesifik dari penjadwalan untuk Pthreads.
8
Beberapa penjadwalan prosesor
penjadwalan CPU di sistem dengan prosesor tunggal. Jika beberapa Cpu yang tersedia, berbagi beban menjadi mungkin; namun, masalah penjadwalan menjadi sejalan Yang lebih kompleks. Banyak kemungkinan telah dicoba, dan seperti yang kita lihat dengan singleprocessor Penjadwalan CPU, tidak ada satu solusi terbaik. Di sini, kita membahas beberapa kekhawatiran di multiprocessor scheduling. Kami berkonsentrasi pada sistem di mana prosesor yang identik—homogen dalam hal ini fungsi; maka kita dapat menggunakan prosesor yang tersedia untuk menjalankan proses dalam antrian. (Catatan, bagaimanapun, bahwa bahkan dengan homogen multiprocessors, kadang-kadang ada keterbatasan pada penjadwalan. Pertimbangkan sebuah sistem dengan I/O perangkat yang terpasang ke sebuah bus swasta dari satu prosesor. Proses yang ingin menggunakan perangkat tersebut harus dijadwalkan untuk dijalankan pada prosesor.)
9
Operating System Examples
untuk deskripsi penjadwalan kebijakan Solaris, Windows, dan sistem operasi Linux. Hal ini penting untuk mengingat bahwa kita menjelaskan penjadwalan kernel thread dengan Solaris dan Windows. Ingat bahwa Linux tidak membedakan antara proses dan thread; dengan demikian, kita menggunakan istilah tugas ketika membahas Linux scheduler. Contoh: Penjadwalan Soaris Solaris menggunakan berbasis prioritas penjadwalan thread mana setiap thread milik salah satu dari enam kelas: 1. Time sharing (TS)
10
2. Interaktif (IA) 3. Real time (RT) 4. Sistem (SYS) 5. Adil (FSS) 6
2. Interaktif (IA) 3. Real time (RT) 4. Sistem (SYS) 5. Adil (FSS) 6. Tetap prioritas (FP) Dalam setiap kelas ada prioritas yang berbeda dan berbagai algoritma penjadwalan.
11
Algoritma Evaluasi Untuk memilih suatu algoritma, kita harus terlebih dahulu menetapkan kepentingan relatif dari elemen-elemen ini. Kriteria-kriteria tersebut dapat mencakup beberapa langkah-langkah, seperti: Memaksimalkan CPU pemanfaatan di bawah kendala yang maksimal waktu respon 1 detik Memaksimalkan throughput seperti yang perputaran waktu (rata-rata) linear proporsional untuk total waktu eksekusi
12
Deterministic Modelling
Deterministic modelling adalah salah satu jenis evaluasi analitik. Metode ini mengambil tertentu predeterminedworkload anddefines kinerja masing-masing algoritma untuk beban kerja. deterministic modelling dapat menunjukkan tren yang kemudian dapat menganalisis dan membuktikan secara terpisah. Sebagai contoh, hal ini dapat ditunjukkan bahwa, untuk lingkungan yang dijelaskan (semua proses dan waktu yang tersedia pada waktu 0), SJF kebijakan akan selalu mengakibatkan waktu tunggu minimum.
13
Model – model Antrian Antrian analisis dapat berguna dalam membandingkan algoritma penjadwalan, tetapi juga memiliki keterbatasan.Saat ini, kelas-kelas dari algoritma dan distribusi yang dapat ditangani cukup beberapa. Matematika dari algoritma yang rumit dan distribusi dapat menjadi sulit untuk bekerja dengan. Dengan demikian, kedatangan dan layanan distro yang sering didefinisikan secara matematis penurut—tapi tidak realistis —cara-cara. Hal ini juga umumnya diperlukan untuk membuat nomor independen asumsi-asumsi, yang mungkin tidak akurat. Sebagai hasil dari kesulitan-kesulitan ini, model-model antrian yang sering hanya perkiraan dari sistem nyata, dan akurasi dihitung hasil yang mungkin dipertanyakan.
14
Simulasi Untuk mendapatkan yang lebih akurat evaluasi algoritma penjadwalan, kita dapat menggunakan simulasi. Menjalankan simulasi melibatkan pemrograman model sistem komputer. Perangkat lunak struktur data yang mewakili komponen-komponen utama dari sistem. Simulator memiliki variabel yang mewakili jam, seperti ini nilai variabel meningkat, simulator memodifikasi sistem negara untuk mencerminkan kegiatan perangkat, proses, dan scheduler. Sebagai simulasi mengeksekusi, statistik yang menunjukkan kinerja algoritma berkumpul dan dicetak.
15
Example: Windows Scheduling
Example: Windows Scheduling Penjadwalan ini kebijakan memberikan waktu respon yang baik untuk proses interaktif dan baik throughput untuk CPU-bound proses. Yang kelas interaktif menggunakan penjadwalan kebijakan sebagai waktu pembagian kelas, tapi memberikan windowing aplikasi—seperti yang dibuat oleh KDE atau GNOME jendela manajer—prioritas yang lebih tinggi untuk kinerja yang lebih baik.
16
Kesimpulan Penjadwalan CPU adalah tugas memilih menunggu proses dari ready queue dan mengalokasikan CPU untuk itu. CPU dialokasikan untuk proses yang dipilih oleh dispatcher. Pertama-datang, pertama-dilayani (FCFS) scheduling merupakan algoritma penjadwalan yang paling sederhana, tapi hal ini dapat menyebabkan singkat proses towait untuk proses yang sangat panjang. Shortestjob- first (SJF) penjadwalan ini dapat dibuktikan optimal, memberikan terpendek rata-rata menunggu waktu. Round-robin (RR) penjadwalan ini lebih tepat untuk saat-bersama (interaktif) sistem. RR penjadwalan mengalokasikan CPU untuk proses pertama dalam siap antrian untuk q unit waktu, di mana t adalah waktu kuantum.
17
Sekian Dan Terimakasih
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.