Bab 3.Proses dan Penjadualan *Prioritas dan Multiprosesor* Dipresentasikan oleh: Kelompok 53.9 Ade Melani Amir Muhamad Lusiana Darmawan E-m@il: lusianadarmawan@yahoo.com 53.9 Prioritas dan Prosesor Jamak 1
Copyright Bab 3.Proses dan Penjadualan : Prioritas dan Multiprosesor oleh Kelompok 53.9 ( Mata Kuliah IKI20230 : Sistem Operasi ) Dipresentasikan : 7 Oktober 2004 Copyright ( Hak Cipta ) 2004, oleh Kelompok 53.9 Silahkan menyalin, mengedarkan, dan / atau memodifikasi bagian dari dokumen ini tanpa mengubah nota hak ciptanya. 53.9 Prioritas dan Prosesor Jamak 2
Prioritas Definisi - Suatu nilai yang menunjukkan tingkatan dari tiap proses dalam alokasi CPU Fungsi dan Tujuan - Mengatur jadual proses yang akan dilayani - Pembedaan tingkatan pelayanan 53.9 Prioritas dan Prosesor Jamak 3
Penentuan Skala Prioritas - Internal, berdasarkan kriteria dari dalam sistem operasi Contoh: batas waktu, penggunaan memori, banyaknya file yang dibuka, perbandingan I/O burst dan CPU burst - Eksternal, berdasarkan faktor diluar sistem operasi Contoh: tingkat urgency suatu proses, dana yang dikeluarkan, faktor politik 53.9 Prioritas dan Prosesor Jamak 4
Jenis Jenis Prioritas Static Priority - Skala prioritas dari tiap proses akan selalu tetap Dynamic Priority - Skala prioritas dari tiap proses dapat berubah, baik bertambah maupun berkurang, berdasarkan faktor faktor tertentu 53.9 Prioritas dan Prosesor Jamak 5
Karakteristik Prioritas - Preemptive Proses baru yang berprioritas tinggi akan berada pada bagian awal ready queue Contoh: SJF, RR - Non-Preemptive Skala prioritas tidak berpengaruh. Proses baru secara otomatis akan diletakkan pada head dari ready queue Contoh: FCFS 53.9 Prioritas dan Prosesor Jamak 6
Proses Burst Time Prioritas P1 10 3 P2 1 1 P3 2 4 P4 1 5 P5 5 2 Gantt chart: P2 P5 P1 P3 P4 0 1 6 16 18 19 53.9 Prioritas dan Prosesor Jamak 7
Problem Starvation ( Indefinite Blocking ) Sistem Operasi gagal dalam mengalokasikan CPU time untuk sebuah proses yang memiliki prioritas rendah. Proses-proses dengan prioritas tinggi mencegah proses dengan prioritas rendah tiba di CPU. 53.9 Prioritas dan Prosesor Jamak 8
Problem ( cont. ) Akibat: - Proses yang mengalami starvation tersebut akan tetap jalan. atau - Komputer tersebut akan crash. Solusi: Aging Meningkatkan prioritas dari proses-proses yang telah lama menunggu dalam sistem secara bertahap. 53.9 Prioritas dan Prosesor Jamak 9
Problem ( cont. ) Tambahan: Ada method khusus untuk menangani starvation dalam penggunaan Thread pada program Java yaitu yield( ) yield ( ) Thread yang sedang dieksekusi akan memberikan kesempatan pada thread dengan prioritas lebih rendah untuk dijalankan. 53.9 Prioritas dan Prosesor Jamak 10
Problem ( cont. ) Priority Inversion Proses dengan prioritas tinggi mengalami starvation. Solusi Priority Inheritance Proses dengan prioritas tinggi secara temporal memberikan prioritasnya pada proses yang ditunggunya. 53.9 Prioritas dan Prosesor Jamak 11
MultiProSESor Definisi Sistem komputer dengan dua atau lebih CPU identik yang membagi akses secara penuh kepada common RAM ( Shared Memory MultiProcessor ). 53.9 Prioritas dan Prosesor Jamak 12
Multiprocessor Systems shared memory model message passing multiprocessor wide area distributed system 53.9 Prioritas dan Prosesor Jamak 13
Symmetric MultiProcessor Setiap prosesor menjalankan salinan identik dari Sistem Operasi yang terdapat di memori Penjadualan proses ( yang ada dalam ready queue ) dilakukan secara independent oleh masing masing prosesor Masing masing prosesor mempunyai antrian sendiri Setiap CPU mempunyai akses yang sama terhadap devices ( disks, I/O ) 53.9 Prioritas dan Prosesor Jamak 14
Symmetric MultiProcessor Bus Lock digunakan untuk proses sinkronisasi, apabila ada 2 atau lebih proses yang ingin mengakses alamat memori yang sama dan mengubah shared memory 53.9 Prioritas dan Prosesor Jamak 15
Asymmetric MultiProcessor disebut juga dengan Master Slave MultiProcessor Master Processor bertugas untuk menjadualkan dan mengalokasikan proses yang akan dijalankan oleh Slave Processors Master Processor melakukan pekerjaan yang berhubungan dengan System, CPU lainnya (Slave) melayani user requests 53.9 Prioritas dan Prosesor Jamak 16
Master - Slave MultiProcessor Bus Copy of the Operating System dipresentasikan oleh CPU 1 Semua System Call dihubungkan kembali ke CPU 1 untuk diproses 53.9 Prioritas dan Prosesor Jamak 17
MultiProcessor Scheduling Load sharing : dapat terjadi apabila proses yang jalan di satu prosesor overload sehingga sebagian proses berpindah ke prosesor yang lain Time Sharing Space Sharing Gang scheduling: semua thread berasal dari proses yang running pada suatu waktu 53.9 Prioritas dan Prosesor Jamak 18
MultiProcessor Scheduling (1) Timesharing masing - masing proses akan dijalankan bila terdapat CPU yang telah menyelesaikan job nya. 53.9 Prioritas dan Prosesor Jamak 19
Multiprocessor Scheduling (2) Space sharing multiple threads dalam waktu yang sama masuk ke multiple CPUs 53.9 Prioritas dan Prosesor Jamak 20
Problem Membuang-buang waktu The thread of a process( or processes of a job ) are independently scheduled 53.9 Prioritas dan Prosesor Jamak 21
Problem ( cont. ) Keterangan gambar: - Sistem dengan thread A0 dan A1 merupakan bagian dari proses A - Sistem dengan thread B0 dan B1 merupakan bagian dari proses B - A0 dan B0 timeshared di CPU 0 - A1 dan B1 timeshared di CPU 1 Problem: 2 thread/proses dari sistem yg sama berjalan pada fase yang berbeda 53.9 Prioritas dan Prosesor Jamak 22
Problem ( cont. ) Solusi Gang Scheduling * Grup dari threads yang berhubungan dijadualkan sebagai 1 unit, 1 gang * Seluruh members dari gang run simultan pada timeshared CPU yang berbeda * Seluruh members dari gang start dan mengakhiri timeslice bersama-sama. 53.9 Prioritas dan Prosesor Jamak 23
Problem ( cont. ) Gang Schedulling 53.9 Prioritas dan Prosesor Jamak 24
Keunggulan MultiProcessor Peningkatan throughput, karena lebih banyak proses / thread yang berjalan dalam satu waktu sekaligus( jika proses yang antri di ready queue sedikit ) Economy of scale, ekonomis dalam devices yang dibagi bersama sama Peningkatan kehandalan, karena jika suatu proses mengalami kegagalan maka proses tersebut diambil alih oleh prosesor yang lain 53.9 Prioritas dan Prosesor Jamak 25