os202

OS202


Project maintained by fghaffar26 Hosted on GitHub Pages — Theme by mattgraham

HOME
«««

Top 10 List of Week 07

  1. Process Synchronization
    Synchronization adalah sebauh proses di mana sistem itu saling membagikan resources-nya sehingga terjadilah concurrent access untuk membagikan data yang dikendalikan. Akibat dari synchronization ini adalah dapat meminimalisir inkonsistensi data.

  2. Race Condition
    Suatu kondisi di mana ada banyak proses yang mengeksekusi kode yang sama atau mengakses memori yang sama atau shared variables apapun sehingga ada kemungkinan untuk output atau value dari shared variable-nya itu salah.

  3. Critical Section Problem
    Segmen kode di mana mempunyai akses ke shared variables dan harus dieksekusi sebagai atomic action. Oleh karena itu, hanya satu proses saja yang boleh mengeksekusi critical section.

  4. Semaphores
    Semaphores adalah suatu mekanisme signaling dan sebuah thread di mana jika hal ini menunggu di semaphore, maka akan diberi sinyal oleh thread lain untuk bisa dijalankan..

  5. Mutex lock
    Sebuah lock yang di set sebelum menggunakan shared resource dan dilepaskan setelah menggunakannya. Hal ini memastikan sinkronisasi akses kepada shared resource di dalam kode.

  6. Deadlock
    Sebuah situasi yang terjadi di operating system ketika suatu proses masuk sedang berada dalam mode menunggu karena ada proses lain yang sedang menunggu tetapi meng-holding resources yang dibutuhkan.

  7. Deadlock Characterization
    Terdapat 4 kondisi pada deadlock characterization, yaitu Mutual exclusion, Hold and wait, No preemption, dan Circular wait. Terdapat diagram yang membantu menggambarkan cara kerja masing-masing kondisi.

  8. Deadlock Handling Strategies
    Ada 4 strategi penanganan untuk deadlock, yaitu Deadlock Ignorance, Deadlock prevention, Deadlock avoidance, Deadlock detection and recovery.

  9. Peterson’s Algorithm
    Peterson’s Algorithm is used to synchronize two processes. It uses two variables, a bool array flag of size 2 and an int variable turn to accomplish it. In the solution i represents the Consumer and j represents the Producer. Initially the flags are false. When a process wants to execute it’s critical section, it sets it’s flag to true and turn as the index of the other process. This means that the process wants to execute but it will allow the other process to run first. The process performs busy waiting until the other process has finished it’s own critical section. After this the current process enters it’s critical section and adds or removes a random number from the shared buffer. After completing the critical section, it sets it’s own flag to false, indication it does not wish to execute anymore.

  10. Banker’s Algorithm
    Merupakan algoritma resource allocation dan deadlock avoidance yang menguji keamanan dengan mensimulasikan alokasi untuk jumlah maksimum yang telah ditentukan sebelumnya dari semua sumber daya, kemudian membuat pemeriksaan “status-s” untuk menguji kemungkinan aktivitas, sebelum memutuskan apakah alokasi perlu dilanjutkan.