Simulasi Implementasi Evaluasi dan Ilustrasi

windowing application sehingga menghasilkan performance yang lebih baik. Seperti TS, range IA berkisar 0-59. Tabel 16.2. Solaris dispatch table for interactive and time sharing threads Priority Time quantum Time quantum expired return from sleep 200 50 5 200 50 10 160 51 15 160 5 51 20 120 10 52 25 120 15 52 30 80 20 53 35 80 25 54 40 40 30 55 45 40 35 56 50 40 40 58 55 40 45 58 59 20 49 59 Keterangan: • Priority: prioritas berdasarkan kelas untuk time sharing dan interactive class. Nomor yang lebih tinggi menunjukkan prioritas yang lebih tinggi. • Time quantum: waktu kuantum untuk setiap prioritas. Dapat diketahui bahwa fungsi waktu kuantum berbanding terbalik dengan prioritasnya. • Time quantum expired: Prioritas terbaru untuk thread yang telah habis time slices-nya tanpa diblok. Dapat dilihat dari tabel bahwa thread yang CPU-bound tetap mempunyai prioritas yang rendah. • Return from sleep: Prioritas thread yang kembali dari sleeping misalnya menunggu dari MK. Seperti yang terlihat dari tabel ketika MK berada di waiting thread, prioritasnya berada antara 50-59, hal ini menyebabkan response time yang baik untuk proses yang interaktif.

5. Fixed Priority FX. Thread di kelas fixed priority memiliki range prioritas 0-59 yang sama

seperti di time-sharing class; tetapi, prioritas mereka tidak akan berubah.

6. Fair Share Scheduler FSS. Thread yang diatur oleh FSS dijadwalkan berdasar pembagian

sumber daya dari CPU yang tersedia dan dialokasikan untuk himpunan proses-proses yang dikenal sebagai project. FS juga berkisar 0-59. FSS and FX baru mulai diimplementasikan di Solaris 9. Seperti yang telah diketahui, setiap kelas penjadwalan mempunyai himpunan dari prioritas-prioritas. Tetapi, penjadwal mengubah class-specific priorities menjadi global priorities kemudian memilih thread dengan prioritas paling tinggi untuk dijalankan. Thread yang dipilih tersebut jalan di CPU sampai thread tersebut 1 di-block, 2 habis time slices-nya, atau 3 dihentikan oleh thread dengan prioritas yang lebih tinggi. Jika ada beberapa thread dengan prioritas yang sama, penjadwal akan menggunakan Round-Robin queue. Seperti yang pernah dijelaskan sebelumnya, Solaris terdahulu menggunakan many-to-many model tetapi solaris 9 berubah menggunakan one-to-one model.

16.8. Rangkuman

Cara mengevaluasi algoritma: • Deterministic Modelling: menggunakan perhitungan matematika berdasarkan workload sistem. Sederhana, namun pemakaiannya terbatas. • Queueing Model: menggunakan perhitungan matematika berdasarkan waktu antrian dan waktu kedatangan proses. • Simulasi: membuat model sistem komputer. Cara ini mahal dan membutuhkan kerja besar dalam memprogram. 115 • Implementasi: langsung mengimplementasi pada sistem sebenarnya. Paling efektif, namun mahal. Tabel 16.3. Scheduling Priorities in Linux Priorities Scheduling class 0-99 System Threads, Real time SCHED_FIFO, SCHED_RR 100-139 User priorities SCHED_NORMAL Tabel 16.4. Scheduling Priorities in Solaris Priorities Scheduling class 0-59 Time Shared, Interactive, Fixed, Fair Share Scheduler 60-99 System Class 100-159 Real-Time note real-time higher than system threads 160-169 Low level Interrupts Rujukan [Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley Sons. [WEBIBMNY] IBM Corporation. NY. General Programming Concepts – Writing and Debugging Programs – http:publib16.boulder.ibm.com pseries en_US aixprggd genprogc ls_sched_subr.htm . Diakses 1 Juni 2006. [WEBIBM1997] IBM Coorporation. 1997. General Programming Concepts: Writing and Debugging Programs – Threads Scheduling http:www.unet.univie.ac.at aix aixprggd genprogc threads_sched.htm . Diakses 1 Juni 2006. [WEBLindsey2003] Clark S Lindsey. 2003. Physics Simulation with Java – Thread Scheduling and Priority – http:www.particle.kth.se ~fmi kurs PhysicsSimulation Lectures 10A schedulePriority.html . Diakses 1 Juni 2006. [WEBMooreDrakos1999] Ross Moore dan Nikos Drakos. 1999. Converse Programming Manual – Thread Scheduling Hooks – http:charm.cs.uiuc.edu manuals html converse 3_3Thread_ Scheduling_Hooks.html . Diakses 1 Juni 2006. [WEBVolz2003] Richard A Volz. 2003. Real Time Computing – Thread and Scheduling Basics – http:linserver.cs.tamu.edu ~ravolz 456 Chapter-3.pdf . Diakses 1 Juni 2006. [WEBPRI2007] Scott Cromar. 2007. Princeton University [Unix Systems]– http:www.princeton.edu~unixSolaristroubleshootschedule.html . Diakses 10 maret 2007. [WEBOSL2005] Max Bruning. 2005. A Comparison of Solaris, Linux, and FreeBSD Kernels– http:www.opensolaris.org os article 2005-10-14_ a_comparison_of_solaris__linux_ and_freebsd_kernels . Diakses 10 maret 2007. 116