os211

Top 10 List of Week 07

  1. Process Synchronization in Operating System
    Ketika dua atau lebih proses bekerja bersama satu sama lain, urutan pelaksanaannya harus dipertahankan, jika tidak, dapat terjadi konflik dalam pelaksanaannya dan output yang tidak tepat dapat dihasilkan. Process synchronization adalah proses yang dapat mempengaruhi pelaksanaan proses lain atau dapat dipengaruhi oleh pelaksanaan proses lain. Proses tersebut perlu disinkronkan agar urutan pelaksanaannya dapat dijamin. Prosedur yang terlibat dalam menjaga urutan pelaksanaan process synchronization. Ada berbagai mekanisme sinkronisasi yang digunakan untuk menyinkronkan proses. Artikel ini menjelaskan process synchronization dengan jelas dan mudah dimengerti.

  2. Race Condition
    Race condition adalah situasi yang mungkin terjadi di dalam bagian kritis. Hal ini terjadi jika hasil eksekusi beberapa utas di bagian kritis berbeda sesuai dengan urutan eksekusi utas. Race condition di bagian kritis dapat dihindari jika bagian kritis diperlakukan sebagai instruksi atom. Selain itu, sinkronisasi utas yang tepat menggunakan kunci atau variabel atom dapat mencegah Race condition. Penjelasan mengenai race condition dijabarkan dengan baik dan jelas, sehingga mudah dipahami.

  3. Critical Section Problem
    Critical section adalah segmen kode tempat variabel bersama dapat diakses. Tindakan atom diperlukan di bagian kritis yaitu hanya satu proses yang dapat dijalankan di bagian kritisnya pada satu waktu. Semua proses lainnya harus menunggu untuk dieksekusi di bagian kritisnya. Masalah bagian kritis membutuhkan solusi untuk menyinkronkan proses yang berbeda. Solusi untuk masalah bagian kritis harus memenuhi kondisi mutual exclusion, progress, dan bounded waiting. Artikel ini memberikan penjelasan mengenai critical section problem yang mudah dipahami.

  4. Deadlock in Operation System
    Dalam sistem operasi, deadlock terjadi ketika proses atau utas memasuki status menunggu karena sumber daya sistem yang diminta ditahan oleh proses menunggu lain, yang pada gilirannya menunggu sumber daya lain yang ditahan oleh proses menunggu lain. Jika suatu proses tidak dapat mengubah statusnya tanpa batas karena sumber daya yang diminta sedang digunakan oleh proses menunggu lain, maka sistem dikatakan mengalami deadlock. Penjelasan mengenai deadlock singkat, jelas dan padat.

  5. Semaphores in Operating System
    Semaphore diciptakan oleh Dijkstra pada tahun 1965 yang merupakan teknik yang sangat signifikan untuk mengelola proses bersamaan dengan menggunakan nilai integer sederhana, yang dikenal sebagai semaphore. Semaphore hanyalah variabel yang non-negatif dan dibagikan di antara utas. Variabel ini digunakan untuk memecahkan masalah bagian kritis dan untuk mencapai sinkronisasi proses di lingkungan multiprosesing. Pada artikel ini terdapat contoh-contoh semaphore pada C, sehingga dapat dimengerti dengan mudah dan jelas.

  6. Banker’s Algorithm in Operating System
    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.

  7. Deadlock Prevention
    Dalam ilmu komputer, algoritma deadlock prevention digunakan dalam pemrograman bersamaan ketika beberapa proses harus memperoleh lebih dari satu sumber daya bersama. Jika dua atau lebih proses bersamaan memperoleh banyak sumber daya tanpa pandang bulu, situasi dapat terjadi di mana setiap proses memiliki sumber daya yang dibutuhkan oleh proses lain. Artikel ini menjelaskan cara-cara untuk mencegah deadlock dengan sangat jelas.

  8. Dining Philosophers Problem (DPP)
    Dining philosophers problem menyatakan bahwa ada 5 filsuf yang berbagi meja bundar dan mereka makan dan berpikir secara bergantian. Ada semangkuk nasi untuk masing-masing filsuf dan 5 sumpit. Seorang filsuf membutuhkan sumpit kanan dan kirinya untuk dimakan. Filsuf yang lapar hanya boleh makan jika tersedia kedua sumpit, jika tidak, filsuf meletakkan sumpitnya dan mulai berpikir kembali. Dining philosophers adalah masalah sinkronisasi klasik karena menunjukkan kelas besar masalah kontrol konkurensi. Artikel ini menjelaskan dining philosophers problem dengan jelas dan mudah dipahami.

  9. Peterson’s Algorithm in Process Synchronization
    Algoritme Peterson adalah algoritme pemrograman bersamaan untuk pengecualian bersama yang memungkinkan dua atau lebih proses berbagi sumber daya sekali pakai tanpa konflik, hanya menggunakan memori bersama untuk komunikasi. Ini dirumuskan oleh Gary L. Peterson pada tahun 1981. Sementara formulasi asli Peterson bekerja hanya dengan dua proses, algoritme dapat digeneralisasikan untuk lebih dari dua. Artikel ini menjelaskan Peterson’s algorithm dengan detil dan jelas.

  10. Bounded Buffer Problem
    Bounded buffer problem (alias producer consumer problem) adalah contoh klasik dari akses bersamaan ke sumber daya bersama. Buffer terbatas memungkinkan banyak produsen dan banyak konsumen berbagi satu buffer. Produsen menulis data ke buffer dan konsumen membaca data dari buffer. Versi pertama yang diusulkan oleh Edsger W. Dijkstra pada tahun 1965 dalam naskahnya yang tidak diterbitkan, di mana penyangga tidak dibatasi, dan kemudian diterbitkan dengan penyangga terbatas pada tahun 1972. Terdapat penjelasan mengenai bounded buffer problem secara detil dan ringkas, sehingga mudah untuk dipahami.