Bab 13. Konsep Penjadwalan

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

Modul ke: Sistem Operasi. Tipe penjadwalan di prosessor non-preemptive. Fakultas FASILKOM. Juliansyahwiran, S. Kom, MTI.

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

Penjadualan Process Bagian 1

Konsed Dasar Penjadualan Proses

Penjadualan Process Bagian 2

SISTEM OPERASI PENJADWALAN PROSES

Bab 4. Penjadwalan CPU POKOK BAHASAN: TUJUAN BELAJAR: 4.1 KONSEP DASAR. Konsep Dasar Kriteria Penjadwalan Algoritma Penjadwalan

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

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

Penjadwalan CPU. Badrus Zaman

Pertemuan V Penjadwalan Proses

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

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

Bab 5: Penjadwalan CPU. Konsep Dasar

Overview Penjadwalan (1)

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

Deskripsi Penjadwalan Proses

PENJADWALAN PROSES AGUS PAMUJI. SISTEM OPERASI - Penjadwalan Proses

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

Bab 10. Konsep Proses

Sistem Operasi. Konsep Dasar. Histogram Waktu CPU-Burst. Penjadwal CPU PENJADWALAN CPU. Pertukaran Urutan Pada CPU Dan I/O Burts

Sistem Operasi Penjadwalan Proses

DEADLOCK & ALGORITMA OSTRICH

Mata Kuliah : Sistem Operasi Kelas : Teknik Informatika 4

PENJADWALAN PROSES. Pendahuluan

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Kontrak Kuliah. Sistem Operasi

Penerapan algoritma greedy pada berbagai macam tugas sistem operasi

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi

Bab 19. Solusi Critical Section

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

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

PENJADWALAN PROSES. Tiga Level Penjadwalan

Sinkronisasi dan Deadlock Sistem Operasi

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

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

Praktikum 9. Penjadwalan CPU 1

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi. System Calls dan Thread

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

Algoritma Penjadwalan 2

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

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

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

DASAR KOMPUTER. Dukungan Sistem Operasi

Bab 24. Diagram Graf Pendahuluan

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

REVIEW DAN REVISI BUKU

MODUL 4 KONSEP PROSES, KONKURENSI, MANAJEMEN PROSES (1) M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - M O D U L 4

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

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

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

MAKALAH SISTEM OPERASI Perbedaan Proses dan Thread. Disusun Oleh : NOVITA ANGGRAINI PUTRI

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

KONSEP PROSES STATUS PROSES

Dukungan Sistem Operasi :

Perbedaan Anatara Thread dan Proses

Hendy Kusumo Nugroho ( kelas A)

Understanding Operating Systems Fifth Edition. Chapter 4 Processor Management

TUGAS SISTEM OPERASI

DESKRIPSI PENJADWALAN PROSES

Simulasi Algoritma Penjadualan Proses

A. Deskripsi Singkat. B. Tujuan Instruksional Umum (TIU) C. Bahasan. SILABUS MATA KULIAH Kode MK: Semester: Bobot SKS: 3. Matakuliah : SISTEM OPERASI

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

SISTEM OPERASI. Deskripsi Proses. Multiprogramming. Istilah dalam Proses. (multitasking) MANAJEMEN PROSES. Multiprogramming.

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Bab 3: Proses-Proses. Konsep Proses

Recap. Proses. Proses. Multiprogramming. Multiprocessing 9/16/2016. Ricky Maulana Fajri

Pertemuan #2: Proses dan Thread

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

TUGAS SISTEM OPERASI

Model Proses : 1. Sequential Process / bergantian 2. Multiprogramming 3. CPU Switching peralihan prosedur dalam mengolah 1 proses ke proses lainnya.

IKI Sistem Operasi Konsep Page Replacement (Pemindahan Halaman)

Penjadwalan Proses. Penjadwalan: pemilihan proses selanjutnya yg akan dieksekusi Melakukan multiplexing CPU Kapan dilakukan penjadwalan?

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

Bab 23. Deadlocks Pendahuluan. Gambar Contoh kasus deadlock pada lalu lintas di jembatan

THREAD Ulir utas thread

Sistem Operasi - PCB (process control block)

Sistem Operasi PENGATURAN PROSES

SILABUS JURUSAN MANAJEMEN - PROGRAM STUDI D3 MANAJEMEN INFORMATIKA DIREKTORAT DIPLOMA TEKNOLOGI INFORMASI UNIVERSITAS GUNADARMA

Algoritma Penjadwalan pada Tinyos

THREADS WINDOWS : PEMBUATAN, PENJADWALAN DAN SINKRONISASI Julius Bata Magister Ilmu Komputer Universitas Gadjah Mada

THREADS PADA WINDOWS Julius Bata /

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

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

PROSES DAN THREADS DALAM SISTEM OPERASI

Rahmady Liyantanto liyantanto.wordpress.com

Bab 3 - Manajemen Proses 3.1

Sistem Operasi Pertemuan 3 Deskripsi & Kendali Proses. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IV Penjadwalan Proses I

BAB 16. Evaluasi dan Ilustrasi

Perbedaan Proses dan Program

KONTRAK PERKULIAHAN MATA KULIAH KOM311 SISTEM OPERASI

Struktur Sistem Komputer

Bab 3.Proses dan Penjadualan

BAB 4 PENJADWALAN CPU 55

Soal-jawab Quiz 1. Oleh: Endro Ariyanto (END) Oktober 2008

Bab 3: Proses-Proses. Konsep Proses

Prio Handoko, S.Kom., M.T.I.

Operating System: An O verview. Ch. 3: Process Management

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

Transkripsi:

* Anggota Kelompok - A 0606101912 Rifqi Fuadi - A 0606101906 Ridho Budiharto - B 0606101345 Faruk Candra Farabi Bab 13. Konsep Penjadwalan * Komentar Umum Penjadwalan merupakan bagian yang sangat menarik dalam kuliah ini karena penjadwalan menjadi bagian yang sangat penting dalam perancangan OS untuk membuat setiap proses dapat berjalan dengan performa maksimal dan waktu yang dibutuhkan juga menjadi semakin cepat. Di samping itu konsep-konsep penjadwalan ini akan terus berkembang sesuai dengan perkembangan prosesor yang saat ini sudah sangat pesat, terbukti dengan sudah diproduksinya quadcore dengan fitur hyperthreading. * Hubungan dengan bab sebelumnya/selanjutnya Bagian ini merupakan dasar dari penjadwalan, karena membahas konsep-konsep mengenai penjadwalan yang akan dibahas lebih lanjut pada Bab 14. Algoritma Penjadwalan, Bab 15. Penjadwalan Prosesor Jamak dan pada Bab 16. Evaluasi dan Ilustrasi. * Komentar kelengkapan per bagian Bag 13.1 Pendahuluan Untuk pendahuluan sudah cukup seperti yang sekarang. Bag 13.2 Siklus Burst CPU-M/K Untuk gambar Siklus Burst, sepertinya lebih jelas menggunakan gambar yang terdapat buku OS Concept. Perlu ditambahkan juga histogram yang memperlihatkan bahwa CPU burst jauh sangat kecil dibandingkan dengan wait-nya. Untuk menselaraskan redaksi istilah pada gambar. Untuk selanjutnya kami mengganti istilah M/K dengan I/O Bag 13.3 Penjadwalan Preemptive Bagian ini alangkah lebih baik apabila diberikan ilustrasi penerapan preemptive di beberapa OS. Di berikan ilustrasi gambar sehingga lebih jelas terlihat perbedaan antara I/O bound dan CPU bound. Bag 13.4 Penjadwalan Non-Preemptive Sudah cukup dijelaskan perbedaanya, apalagi setelah didukung oleh penjelasan bab sebelumnya. Bag 13.5 Dispatcher Pada bagian tidak dijelaskan state apa saja yang dapat dirubah pada context switching. Sebaiknya diberikan penjelasan yang ringkas. Bag 13.6 Kriteria Penjadwalan Bagian ini sudah menjelaskan kriteria penjadwalan dengan baik. Bag 13.7 Rangkuman Kesimpulannya sudah cukup mewakili isi dari bab ini. * Usulan kelengkapan -Untuk siklus burst, lebih baik menggunakan gambar Silberschatz, yang hanya melibatkan tiga state saja karena lebih mudah dimengerti.

Appendiks : * Tambahan yang kami rasa diperlukan pada BAB13 Konsep Penjadwalan adalah sebagai berikut Bag 13.2 - Siklus burst Dirujuk dari : [Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley & Sons. - Histogram CPU Burst Dirujuk dari : [Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley & Sons.

Bag 13.3 - Preemptive Scheduling in Linux Dirujuk dari : [WEBLNXDvc2008] From Linux Devices homepage. 2008. Preemptive http://www.linuxdevices.com/files/misc/kalinsky_whitepaper_files/figure3.gif. Diakses 10 April 2008. - Preemptive Scheduling in Windows Dirujuk dari: [WEBMicrosoft2008] From Microsoft homepage. 2008. Preemptive http://www.microsoft.com/mspress/books/sampchap/4354/0735610215-19.jpg Diakses 10 April 2008. - IO Bound and CPU Bound Dirujuk dari: [Tanenbaum2006] Andrew S. Tanenbaum dan Albert S. Woodhull. 2006. Operating Systems: Design and Implementation. Third Edition. Pearson Education, Inc.

Bag 13.5 Context switching. Sebuah context switch adalah pergantian pada CPU dari satu proses atau thread ke proses atau thread lainnya. Context adalah isi dari CPU register dan program counter(pc) pada setiap waktu. Context switching terjadi pada saat kernel mode aktif dan dapat digambarkan dengan lebih jelas melalui urutan aktivitas yang dilakukan kernel sebagai berikut : 1) Menghentikan jalannya suatu proses dan menyimpan state (context) CPU dari proses tersebut pada suatu alamat di memory. 2) Menerima context proses selanjutnya dari memory dan mengisi kembali CPU register 3) Mengembalikan lokasi yang ditunjuk oleh program counter untuk memulai proses sebelumnya kembali. Dirujuk dari : [WEBLNXInfo2008] From Linux Info homepage. 2008. Context Switch http://www.linfo.com/fcontext_switch.html. Diakses 10 April 2008.

HASIL REVISI BUKU

Bab 13. Konsep Penjadwalan 13.1. Pendahuluan Kita mengenal istilah multiprograming, yang bertujuan untuk memaksimalkan penggunaan CPU dengan cara mengatur alokasi waktu yang digunakan oleh CPU, sehingga proses berjalan sepanjang waktu dan memperkecil waktu idle. Akibatnya sistem operasi dapat membuat komputer lebih produktif. Oleh karena itu perlu adanya penjadwalan proses-proses yang ada pada sistem. Penjadwalan CPU adalah suatu proses pengaturan atau penjadwalan proses-proses yang ada di dalam komputer. Dimana proses-proses tersebut berjalan dalam pola yang disebut Siklus Burst yang akan dijelaskan pada bab ini. Penjadwalan CPU secara garis besar dibagi menjadi 2, yaitu Penjadwalan Preemptive dan Penjadwalan Non Preemptive. Bab ini juga akan memaparkan mengenai kriteria yang baik bagi suatu konsep penjadwalan dan penjelasan mengenai dispatcher, yaitu suatu komponen yang turut terlibat dalam penjadwalan. Penjadwalan sangat penting dalam menentukan performance sebuah komputer karena mengatur alokasi resource dari CPU untuk menjalankan proses-proses di dalam komputer. Penjadwalan CPU merupakan suatu konsep dasar dari multiprograming, karena dengan adanya penjadwalan dari CPU itu sendiri maka proses-proses tersebut akan mendapatkan alokasi resource dari CPU. 13.2. Siklus CPU I/O Burst Keberhasilan dari penjadwalan CPU tergantung dari beberapa properti prosesor. Pengeksekusian dari proses tersebut terdiri atas siklus CPU ekskusi dan I/O Wait. Proses hanya akan bolak-balik dari dua state ini, inilah yang disebut Siklus CPU-I/O Burst. Pengeksekusian proses dimulai dengan CPU Burst, setelah itu diikuti oleh I/O Burst, kemudian CPU Burst lagi lalu I/O Burst lagi, dan seterusnya dilakukan secara bergiliran. CPU Burst terakhir akan berakhir dengan permintaan sistem untuk mengakhiri pengeksekusian melalui I/O Burst lagi. Kejadian siklus Burst akan dijelaskan pada Gambar 13.1. Gambar 13.1. Siklus Burst

Gambar 13.2. Histogram Siklus Burst Dari gambar dapat kita lihat bahwa Burst CPU time yang lama jarang terjadi karena kebanyakan proses akan melakukan antara output ke layar atau file, maupun meminta input dari user atau file sehingga situasi dimana proses bekerja dengan memory dan register dalam jangka waktu lama tidak terlalu banyak ditemukan. 13.3. Penjadwalan Preemptive Penjadwalan CPU mungkin akan dijalankan ketika proses dalam keadaan: 1. Berubah dari running ke waiting state. 2. Berubah dari running ke ready state. 3. Berubah dari waiting ke ready state. 4. Terminates. Penjadwalan Preemptive mempunyai arti kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Penjadwalan ini bisa saja termasuk penjadwalan proses atau I/O. Penjadwalan Preemptive memungkinkan sistem untuk lebih bisa menjamin bahwa setiap proses mendapat sebuah slice waktu operasi. Dan juga membuat sistem lebih cepat merespon terhadap event dari luar (contohnya seperti ada data yang masuk) yang membutuhkan reaksi cepat dari satu atau beberapa proses. Membuat penjadwalan yang Preemptive mempunyai keuntungan yaitu sistem lebih responsif daripada sistem yang memakai penjadwalan Non Preemptive. Gambar 13.3. Deskripsi Preemptive pada Linux Gambar 13.4. Deskripsi Preemptive pada Windows

Dalam waktu-waktu tertentu, proses dapat dikelompokkan ke dalam dua kategori: proses yang memiliki I/O Burst yang sangat lama disebut I/O Bound, dan proses yang memiliki CPU Burst yang sangat lama disebut CPU Bound. Terkadang juga suatu sistem mengalami kondisi yang disebut busywait, yaitu saat dimana sistem menunggu request input (seperti disk, keyboard, atau jaringan). Saat busywait tersebut, proses tidak melakukan sesuatu yang produktif, tetapi tetap memakan resource dari CPU. Dengan penjadwalan Preemptive, hal tersebut dapat dihindari. Gambar 13.5. CPU Bound dan I/O Bound Dengan kata lain, penjadwalan Preemptive melibatkan mekanisme interupsi yang menyela proses yang sedang berjalan dan memaksa sistem untuk menentukan proses mana yang akan dieksekusi selanjutnya. Penjadwalan nomor 1 dan 4 bersifat Non Preemptive sedangkan lainnya Preemptive. Penjadwalan yang biasa digunakan sistem operasi dewasa ini biasanya bersifat Preemptive. Bahkan beberapa penjadwalan sistem operasi, contohnya Linux 2.6, mempunyai kemampuan Preemptive terhadap system call-nya (preemptible kernel). Windows 95, Windows XP, Linux, Unix, AmigaOS, MacOS X, dan Windows NT adalah beberapa contoh sistem operasi yang menerapkan penjadwalan Preemptive. Lama waktu suatu proses diizinkan untuk dieksekusi dalam penjadwalan Preemptive disebut time slice/quantum. Penjadwalan berjalan setiap satu satuan time slice untuk memilih proses mana yang akan berjalan selanjutnya. Bila time slice terlalu pendek maka penjadwal akan memakan terlalu banyak waktu proses, tetapi bila time slice terlau lama maka memungkinkan proses untuk tidak dapat merespon terhadap event dari luar secepat yang diharapkan. 13.4. Penjadwalan Non Preemptive Penjadwalan Non Preemptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak pernah melakukan context switch dari proses yang sedang berjalan ke proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di- interupt. Penjadwalan Non Preemptive terjadi ketika proses hanya: 1. Berjalan dari running state sampai waiting state. 2. Dihentikan. Ini berarti CPU menjaga proses sampai proses itu pindah ke waiting state ataupun dihentikan (proses tidak diganggu). Metode ini digunakan oleh Microsoft Windows 3.1 dan Macintosh. Ini adalah metode yang dapat digunakan untuk platforms hardware tertentu, karena tidak memerlukan perangkat keras khusus (misalnya timer yang digunakan untuk menginterupt pada metode penjadwalan Preemptive).

13.5. Dispatcher Komponen yang lain yang terlibat dalam penjadwalan CPU adalah dispatcher. Dispatcher adalah modul yang memberikan kontrol CPU kepada proses yang sedang terjadwal. Fungsinya adalah: 1. Context switching. Sebuah context switch adalah pergantian pada CPU dari satu proses atau thread ke proses atau thread lainnya. Context adalah isi dari CPU register dan program counter(pc) pada setiap waktu. Context switching terjadi pada saat kernel mode aktif dan dapat digambarkan dengan lebih jelas melalui urutan aktivitas yang dilakukan kernel sebagai berikut : 1) Menghentikan jalannya suatu proses dan menyimpan state (context) CPU dari proses tersebut pada suatu alamat di memori. 2) Menerima context proses selanjutnya dari memory dan mengisi kembali CPU register 3) Mengembalikan lokasi yang ditunjuk oleh program counter untuk memulai proses sebelumnya kembali. Mengganti state dari suatu proses dan mengembalikannya untuk menghindari monopoli CPU time. Context switching dilakukan untuk menangani suatu interrupt (misalnya menunggu waktu I/O). Untuk menyimpan state dari proses-proses yang terjadwal sebuah Process Control Block harus dibuat untuk mengingat proses-proses yang sedang diatur scheduler. Selain state suatu proses, PCB juga menyimpan process ID, program counter (posisi saat ini pada program), prioritas proses dan data-data tambahan lainnya. 2. Switching to user mode dari kernel mode. 3. Lompat dari suatu bagian di progam user untuk mengulang program. Gambar 13.6. Dispatch Latency Dispatcher seharusnya dapat dilakukan secepat mungkin. Dispatch Latency adalah waktu yang diperlukan dispatcher untuk menghentikan suatu proses dan memulai proses yang lain. 13.6. Kriteria Penjadwalan Suatu algoritma penjadwalan CPU yang berbeda dapat mempunyai nilai yang berbeda untuk sistem yang berbeda. Banyak kriteria yang bisa dipakai untuk menilai algoritma penjadwalan CPU. Kriteria yang digunakan dalam menilai adalah: 1. CPU Utilization. Kita ingin menjaga CPU sesibuk mungkin. CPU utilization akan mempunyai range dari 0 sampai 100 persen. Di sistem yang sebenarnya ia mempunyai range dari 40 sampai 100 persen. 2. Throughput. Salah satu ukuran kerja adalah banyaknya proses yang diselesaikan per satuan waktu. Jika kita mempunyai beberapa proses yang sama dan memiliki beberapa algoritma penjadwalan yang berbeda, throughput bisa menjadi salah satu kriteria penilaian, dimana algoritma yang menyelesaikan proses terbanyak mungkin yang terbaik. 3. Turnaround Time. Dari sudut pandang proses tertentu, kriteria yang penting adalah berapa lama untuk mengeksekusi proses tersebut. Memang, lama pengeksekusian sebuah proses sangat tergantung dari hardware yang dipakai, namun kontribusi algoritma penjadwalan tetap ada dalam lama waktu yang dipakai untuk menyelesaikan sebuah proses. Misal kita memiliki sistem

komputer yang identik dan proses-proses yang identik pula, namun kita memakai algoritma yang berbeda, algoritma yang mampu menyelesaikan proses yang sama dengan waktu yang lebih singkat mungkin lebih baik dari algoritma yang lain. Interval waktu yang diijinkan dengan waktu yang dibutuhkan untuk menyelesaikan sebuah proses disebut turnaround time. Turnaround time adalah jumlah periode untuk menunggu untuk dapat ke memori, menunggu di ready queue, eksekusi CPU, dan melakukan operasi I/O. 4. Waiting Time. Algoritma penjadwalan CPU tidak mempengaruhi waktu untuk melaksanakan proses tersebut atau I/O, itu hanya mempengaruhi jumlah waktu yang dibutuhkan proses di antrian ready. Waiting time adalah jumlah waktu yang dibutuhkan proses di antrian ready. 5. Response Time. Di sistem yang interaktif, turnaround time mungkin bukan waktu yang terbaik untuk kriteria. Sering sebuah proses dapat memproduksi output di awal, dan dapat meneruskan hasil yang baru sementara hasil yang sebelumnya telah diberikan ke pengguna. Ukuran lain adalah waktu dari pengiriman permintaan sampai respon yang pertama diberikan. Ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untuk respon tersebut. 6. Fairness. Suatu algoritma harus memperhatikan pengawasan nilai prioritas dari suatu proses (menghindari terjadinya starvation CPU time). 7. Efisiensi. Rendahnya overhead dalam context switching, penghitungan prioritas dan sebagainya menentukan apakah suatu algoritma efisien atau tidak. Sebaiknya ketika kita akan membuat algoritma penjadwalan yang dilakukan adalah memaksimalkan CPU utilization dan throughput, dan meminimalkan turnaround time, waiting time, dan response time. 13.7. Rangkuman Penjadwalan CPU adalah pemilihan proses dari antrian ready untuk dapat dieksekusi. Penjadwalan CPU merupakan konsep dari multiprogramming, dimana CPU digunakan secara bergantian untuk proses yang berbeda. Suatu proses terdiri dari dua siklus yaitu I/O Burst dan CPU Burst yang dilakukan bergantian hingga proses selesai. Penjadwalan CPU mungkin dijalankan ketika proses: 1. Berubah dari running ke waiting state. 2. Berubah dari running ke ready state. 3. Berubah dari waiting ke ready state. 4. Terminates. Proses 1 dan 4 adalah proses Non Preemptive, dimana proses tersebut tidak bisa di-interrupt, sedangkan 2 dan 3 adalah proses Preemptive, dimana proses boleh di-interrupt. Komponen yang lain dalam penjadwalan CPU adalah dispatcher, dispatcher adalah modul yang memberikan kendali CPU kepada proses. Waktu yang diperlukan oleh dispatcher untuk menghentikan suatu proses dan memulai proses yang lain disebut dengan dispatch latency. Jika dalam suatu proses CPU Burst jauh lebih besar daripada I/O Burst maka disebut CPU Bound. Demikian juga sebaliknya disebut dengn I/O Bound. Dalam menilai baik atau buruknya suatu algoritma penjadwalan kita bisa memakai beberapa kriteria, diantaranya CPU utilization, throughput, turnaround time, waiting time, dan response time. Algoritma yang baik adalah yang mampu memaksimalkan CPU utilization dan throughput, dan meminimalkan turnaround time, waiting time, dan response time.

Rujukan [Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley & Sons. [Stallings2001] William Stallings. 2001. Operating Systems: Internal and Design Principles. Fourth Edition. Edisi Keempat. Prentice-Hall International. New Jersey. [Tanenbaum2006] Andrew S. Tanenbaum dan Albert S. Woodhull. 2006. Operating Systems: Design and Implementation. Third Edition. Pearson Education, Inc. [WEBWiki2007a] From Wikipedia, the free encyclopedia. 2007. Dispatcher http://en.wikipedia.org/wiki/dispatcher. Diakses 20 Februari 2007. [WEBWiki2007b] From Wikipedia, the free encyclopedia. 2007. Preemptive multitasking http://en.wikipedia.org/wiki/pre-emptive_multitasking. Diakses 20 Februari 2007. [WEBDCU2007] From Dublin City University homepage. 2007. Processes http://computing.dcu.ie/~humphrys/notes/os/processes.html. Diakses 20 Februari 2007. [WEBLNXDvc2008] From Linux Devices homepage. 2008. Preemptive http://www.linuxdevices.com/files/misc/kalinsky_whitepaper_files/figure3.gif. Diakses 10 April 2008. [WEBMicrosoft2008] From Microsoft homepage. 2008. Preemptive http://www.microsoft.com/mspress/books/sampchap/4354/0735610215-19.jpg Diakses 10 April 2008. [WEBLNXInfo2008] From Linux Info homepage. 2008. Context Switch http://www.linfo.com/fcontext_switch.html. Diakses 10 April 2008