Bab 3.Proses dan Penjadualan *Prioritas dan Multiprosesor* Multiprosesor* Dipresentasikan oleh: oleh: Kelompok 53.9 Ade Melani Amir Muhamad Lusiana Darmawan E-m@il:
[email protected] 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 P1 P2 P3 P4 P5 Gantt chart: P2
Burst Time 10 1 2 1 5
P5
0 1 53.9 Prioritas dan Prosesor Jamak
Prioritas 3 1 4 5 2
P1 6
P3 16
P4 18 19 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