Top 10 List of Week 07

  1. Critical Section in Synchronization
    Critical Section merupakan salah satu materi yang saya pelajari minggu ini. Critical Section sendiri merupakan sebutan bagi sebuah segmen ketika segmen tersebut diakses oleh banyak proses secara bersamaan. Critical Section berisi shared variable yang perlu disinkronkan untuk menjaga konsistensi variabel data.

  2. Memory Consistency Model
    Memory Consistency mendefinisikan bagaimana kita mengurutkan suatu action yaitu load dan store ke lokasi memori yang lain. Memory Consistency ini penting ketika kita ingin membuat suatu sistem yang thread safe. Video tersebut memberi gambaran umum mengenai pentingnya Memory Consistencty.

  3. Differences between Point-to-Point and Multi-point Communication
    Ptp cara komunikasi antar proses dimana sebuah channel dibagi atau digunakan oleh 2 device sekaligus. Sedangkan pada Mpc, channel dapat digunakan oleh lebih dari 2 device atau node. Website tersebut berisi list perbedaan antara kedua hal tersebut yang cukup lengkap.

  4. Semaphores in Operating System
    Semaphore adalah variabel integer yang digunakan untuk menyelesaikan masalah Critical Section dengan menggunakan dua atomic operations yaitu “wait” dan “signal” yang digunakan untuk proses sinkorinisasi. Website tersebut berisi penjelasan lengkap tentang semaphore beserta contoh kodingannya.

  5. Mutual Exclusion in Synchronization
    Mutual Exclusion adalah properti dari sinkronisasi yang menyatakan bahwa “tidak ada dua proses yang dapat ada di bagian kritis pada titik waktu tertentu”. Term ini pertama kali dicetuskan oleh Edsger Dijkstra, ilmuwan komputer asal Belanda. Mutual exclusion merupakan hal yang sangat penting, apalagi ketika kita berusaha mengatasi masalah race condition.

  6. Bounded Waiting in Critical Section
    Bound Waiting merupakan salah satu cara untuk mengatasi Critical Section. Merupakan suatu batasan berapa kali proses lain diizinkan untuk memasuki suatu Critical Section setelah proses tersebut mengajukan permintaan untuk masuk ke Critical Section dan sebelum permintaan tersebut dikabulkan. Video singkat tersebut berisi penjelasan umum peserta penggambaran bagaimana Bounded Waiting dilakukan.

  7. Bounded Buffer Problem
    Bounded-buffer problems atau biasa disebut Producer-consumer problem merupakan salah satu contoh klasik dari suatu concurrent akses ke sebuah shared resource. Bounded Buffer memungkinkan produsen dan multiple konsumen berbagi pada satu buffer yang sama. Problem terjadi ketika produsen dan konsumen melakukan operasi secara bersamaan, hal itu dikenal sebagai Bounded Buffer Problem.

  8. Readers-Writers Problem
    Sama seperti BBP, Readers-Writers Problem juga merupakan contoh klasik dari suatu concurrent akses ke sebuah shared resource. RWP terjadi ketika proses Read dan Edit terjadi secara bersamaan menyebabkan ketidakkonsistenan data yang sedang di proses. Solusi yang dapat digunakan adalah Semaphore.

  9. The Dining Philosophers Problem
    Sama seperti BBP dan RWP, Dining Philosophers Problem juga merupakan contoh klasik dari suatu concurrent akses ke sebuah shared resource. Problem ini menyatakan bahwa Lima Philosophers duduk meja bundar dan memiliki tugas untuk berpikir dan makan secara bergantian. Website tersebut berisi penjelasan lengkap mengenai problem tersebut, contoh kode dan juga solusi dari problem tersebut.

  10. Deadlock Avoidance: Banker’s Algorithm
    Banker’s Algorithm merupakan algoritma alokasi sumber daya dan algoritma penghindaran deadlock dimana sistem menguji keamanan dengan melakukan simulasi alokasi sumber daya maksimum yang mungkin, kemudian melakukan test apakah alokasi tersebut dapat dilakukan sebelum mengizinkan alokasi tersebut untuk benar-benar dilaksanakan.