os211

Naufal Adi Wijanarko
Operating Systems 2021-1 (Semester Genap 2020/2021)

Home | W01 | W02 | W03 | W04 | W05 | W06 | W07 | W08 | W09 | W10 | Rank | LOG | Key | GitHub

Top 10 List of Week 07

  1. Process Synchronization
    Materi OS minggu ini membahas tentang process synchronization. Synchronization adalah suatu proses yang berfungsi untuk meminimalisasi kemungkinan inkonsistensi data. Untuk selengkapnya, dapat dipelajari dalam website ini, yang menurut saya penjelasannya cukup singkat dan jelas.

  2. Race Condition
    Race condition merupakan kondisi suatu program dimana behaviournya bergantung pada beberapa proses, atau program yang memiliki beberapa proses yang berjalan pada beberapa thread. Jika urutan proses yang berjalan tidak seperti seharusnya, maka akan terjadi bug. Website ini menjelaskan bagaimana race condition terjadi dan bagaimana cara mencegahnya, lengkap dengan diagram-diagram proses sehingga mudah dimengerti.

  3. The Critical Section Problem
    Ketika membaca tentang critical section di Slide Week 07, saya tidak terlalu memahami apa maksudnya. Lalu, saya coba GSGS dan menemukan website ini. Jadi, critical section adalah bagian dari program yang memerlukan akses ke suatu shared resource. Suatu critical section hanya bisa dijalanakan oleh satu prosed pada suatu waktu. Untuk lebih lengkapnya, dapat dibaca dalam website ini, yang penjelasannya cukup singkat.

  4. Semaphores
    Semaphores adalah salah satu cara untuk mengatasi critical section problem dengan menggunakan operasi “wait” dan “signal”. Website ini menjelaskna tentang tipe, kelebihan, dan kekurangan semaphores. Selain itu, website ini juga menjelaskan cara kerja wait dan signal/

  5. Deadlock
    Deadlock adalah situasi dimana beberapa proses tidak bisa dijalankan karena setiap proses membutuhkan suatu resource yang didapat dari resource lain yang juga tidak bisa dijalankan. Contohnya, proses A membutuhkan resource B dari proses B, tapi proses B membutuhkan resource A dari proses A. Website ini menjelaskan tentang deadlock dan cara mengatasinya.

  6. Synchronization With Semaphores
    Sebelumnya telah dijelaskan mengenai apa itu semaphore, sekarang waktunya mempelajari implementasinya. website ini menjelaskan cara initialize, increment, block, dan decrement. Website ini menggunakan contoh code dalam penjelasannya sehingga lebih mudah dipahami.

  7. Hybrid Mode PTP: Mixed Multicast and Unicast
    Website ini menjelaskan tentang one-step, unicast, multicast, dan gabungannya. Penjelasan dalam website ini menggunakan ilustrasi sehingga jadi lebihh jelas.

  8. Peterson’s Algorithm
    Seperti yang kita ketahui, critical section adalah bagian yang sensitif dalam suatu program. Salah satu cara untuk mengatasinya adalah menggunakan Peterson’s Algorithm. Peterson’s Algorithm adalah algoritma yang digunakan untuk sinkronisasi dua proses. Website ini menjelaskan Peterson’s Algorithm dengan memberikan contoh coden dan outputnya.

  9. Dekker’s algorithm
    Selain Peterson’s Algorithm, ada juga Dekker’s Algorithm. Dekker’s Algorithm adalah algoritma pertama yang berhasil menjadi solusi untuk critical section problem. Algoritma ini menggunakan shared memory untuk menghindari resource conflict. Website ini menjelaskan macam-macam versi Dekker’s Algorithm dan implementasinya menggunakan contoh code yang sangat memudahkan kita untuk memahami.

  10. Banker’s Algorithm
    Banker’s Algorithm merupakan algoritma untuk mencegah deadlock. Algoritma ini mensimulasikan alokasi maksimal semua resource. Website ini menjelaskan cara kerja Banker’s Algorithm menggunakan analogi dan contoh code-nya sehingga penjelasannya jadi lebih jelas.