Top 10 List of Week 08
process scheduling adalah aktivitas manajer proses yang menangani penghapusan proses yang sedang berjalan dari CPU dan pemilihan proses lain berdasarkan strategi tertentu.
OS memelihara semua PCB dalam Process Scheduling Queues. OS memelihara antrian terpisah untuk setiap status proses dan PCB dari semua proses dalam status eksekusi yang sama ditempatkan dalam antrian yang sama. Ketika status proses diubah, PCB-nya dibatalkan tautannya dari antrean saat ini dan dipindahkan ke antrean status baru.
A multiprocessor system consists of several processors which share memory. In the multiprocessor, there is more than one processor in the system. The reason we use multiprocessor is that sometimes load on the processor is very high but input output on other function is not required.
Thread scheduling comprises two dimensions: temporal scheduling and spatial scheduling. Temporal scheduling decides when the threads should run; spatial scheduling decides where the threads should run.
Keuntungan:
- Duplikasi kode diminimalkan.
- Setiap sistem file dapat memiliki sistem file logisnya sendiri.
Kerugian:
- Jika kita mengakses banyak file pada waktu yang bersamaan maka hasilnya adalah kinerja yang rendah.
Deadlock adalah situasi di mana sekumpulan proses diblokir karena setiap proses memegang sumber daya dan menunggu sumber daya lain yang diperoleh oleh beberapa proses lain. Perhatikan contoh ketika dua kereta datang menuju satu sama lain di jalur yang sama dan hanya ada satu jalur, tidak ada kereta yang bisa bergerak begitu mereka berada di depan satu sama lain. Situasi serupa terjadi dalam sistem operasi ketika ada dua atau lebih proses yang menyimpan beberapa sumber daya dan menunggu sumber daya yang dipegang oleh orang lain. Misalnya, dalam diagram di bawah ini, Proses 1 menahan Sumber daya 1 dan menunggu sumber daya 2 yang diperoleh oleh proses 2, dan proses 2 menunggu sumber daya 1.
Deadlock memiliki 4 karakteristik, yaitu Mutual Exclusion, Hold and Wait, No Preemption, dan Circular Wait.
Deadlock Detection Algorithm membantu memutuskan apakah dalam skenario sumber daya multi-instans untuk berbagai proses mengalami kebuntuan atau tidak. Dalam kasus contoh sumber daya tunggal kita dapat membuat grafik tunggu untuk memeriksa keadaan kebuntuan. Tapi, ini tidak dapat kami lakukan untuk sistem sumber daya multi-instance.
Deadlock Detection Algorithm menggunakan 3 struktur data: Available, Allocation, Request
Kita dapat mencegah Deadlock dengan menghilangkan salah satu dari empat kondisi di bawah:
- Eliminate Mutual Exclusion
- Eliminate Hold and wait
- Eliminate No Preemption
- Eliminate Circular Wait
Masalah konsumen produsen (atau masalah buffer terbatas) menjelaskan dua proses, produsen dan konsumen, yang berbagi buffer ukuran tetap yang umum digunakan sebagai antrian. Produser memproduksi suatu barang dan memasukkannya ke dalam buffer. Jika buffer sudah penuh maka produser harus menunggu blok kosong di buffer. Konsumen mengkonsumsi item dari buffer. Jika buffer sudah kosong maka konsumen harus menunggu item di buffer. Implementasikan Algoritma Peterson untuk dua proses menggunakan memori bersama sehingga ada pengecualian timbal balik di antara keduanya. Solusinya harus bebas dari masalah sinkronisasi.