Top 10 List of Week 07
Process Synchronization berarti berbagi sumber daya sistem dengan proses sedemikian rupa sehingga akses bersamaan ke data bersama ditangani sehingga meminimalkan kemungkinan data yang tidak konsisten. Menjaga konsistensi data menuntut mekanisme untuk memastikan pelaksanaan yang sinkron dari proses kerjasama. Process Synchronization diperkenalkan untuk menangani masalah yang muncul saat menjalankan beberapa proses. Beberapa masalah dibahas di bawah ini.
Banker’s Algorithm adalah algoritme alokasi sumber daya dan penghindaran kebuntuan yang menguji keamanan dengan mensimulasikan alokasi untuk jumlah maksimum yang mungkin telah ditentukan sebelumnya dari semua sumber daya, kemudian membuat pemeriksaan “status-s” untuk menguji kemungkinan aktivitas, sebelum memutuskan apakah alokasi harus diizinkan untuk melanjutkan.
System Protection mengacu pada mekanisme yang mengontrol akses program, proses, atau pengguna ke sumber daya yang ditentukan oleh sistem komputer. Kami dapat mengambil perlindungan sebagai penolong untuk sistem operasi multi-pemrograman, sehingga banyak pengguna dapat dengan aman berbagi ruang nama logis umum seperti direktori atau file.
Kebutuhan Perlindungan:
- Untuk mencegah akses pengguna yang tidak sah dan
- Untuk memastikan bahwa setiap program atau proses aktif dalam sistem menggunakan sumber daya hanya sebagai kebijakan yang dinyatakan,
- Untuk meningkatkan keandalan dengan mendeteksi kesalahan laten.
File adalah kumpulan informasi terkait. Sistem file berada pada penyimpanan sekunder dan menyediakan akses yang efisien dan nyaman ke disk dengan memungkinkan data disimpan, ditempatkan, dan diambil.
File System diatur dalam banyak lapisan:
- I/O Control level
- Basic file system
- File organization Module
- Logical file system
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.