os211

Top 10 list of Week 6

1. Concurrency Vs Parellelism

Setelah sedih mendapatkan nilai yang kurang baik pada quiz minggu ini, saya mencari tahu lebih jauh tentang apa itu pararrelism dan concurrency. Saya menemukan blog ini yang memberikan pemahaman dan contoh yang sangat baik tentang perbedaan keduanya.Visualisasi tentang concurrency juga diberikan dengan baik dan attractive dengan karakter terkenal seperti jerry dari tom and jerry.

2. Fork method in C

Website ini menceritakan tentang method fork yang berada pada programming language C. Tentang apa yang di return saat pembuatan suatu child process ataupun suatu parent process.Berbagai contoh tentang method fork juga diberikan pada website ini. Website ini juga menjelaskan tentang pid yang digunakan oleh method fork().

3. Concurrency and Race Condition

Website ini menjelaskan dengan baik mengapa race condition terjadi saat elakukan concurrency. Concurrency menghasilkan suatu race condition saat dua proses yang dilakukan mengunakan shared resource yang sama. Data yang diakses dan di edit akan tercampur dan disinilah race condition terjadi. Website ini membantu pemahaman tersebut.

4. Classification of Race Condition

Dalam website ini dijelaskan tentang dua klasifikasi dari race condition yaitu Read-modify-write dan Check-Then-Act. Website ini menjelaskan bagaimana dua thread membuat masalah saat multi thread yang melakukan reading dan writing di eksekusi bersamaan. Melainkan klasifikasi kedua menjelaskan bagaimana dua thread melakukan checking dan melakukan aksi pada hasil cek tersebut saat ini dilakukan pada multithreading race condition akan terjadi.

5. Solusi dari Race Condition

Dalam Website ini dijelaskan solusi dari race condition menggunakan serialization dimana dilakukan locking jika resource tersebut sedang diakses. Resource tersebut tidak akan bisa digunakan oleh thread lain saat sedang digunakan oleh suatu thread. Ini dapat menyelesaikan race condition seperti read-modify-write dan check-then-act yang dijelaskan di website no 4.

6. Penggunaan interrupt pada conccurrency

Pada website ini dijelaskan mengenai interrupt yang digunakan pada concurrency. Kapan interrupt itu digunakan? Apa yang dilakukan interrrupt untuk membantu concurrency dalam melakukan multithreading. Website tersebut juga menjelaskan tentang penggunaan interrupt dalam pemrograman C yang dapat memodelkan concurrency dengan interrupt.

7. Creating a process in linux

Website ini menjelaskan tentnag pembuatan proses dalam linux dengan berbagai method seperti fork() dan getpid(). Proses yang dibut disini dijelaskan dalam bahasa C. Website ini juga sedikit menjelaskan tentang apa itu child process dan parent process yang telah dibuat oleh fork dalam linux.website ini juga berkaitan dengan no 6 yang berada pada quiz pada minggu ini.

8. Inter-process Communication

Website ini menjelaskan tentang bagaimana process yang berbeda dapat bekerjasama dan bagaimana suatu proses menggunakan suatu producer program dan juga suatu consumer program dalam inter process communication. Website ini juga menjelaskan berbagai source code untuk suatu memwrite dan dan memreader dituliskan didalam bahasa C

9. Multi Threading Model

Website ini menjelaskan berbagai multithreading model seperti many to one model, One to One multithreading model, Many to many multithreading model. Website ini juga menjelaskan pengertian dasar dari kernel thread dan juga user thread. Bagaimana kedua thread ini di modelkan dalam many to many dan multithreading model lainnya.

10. Wait system call in C

Website ini menjelaskan tentang wait system call yang berada pada programming language C. Untuk melakukan wait() dibutuhkan prerequisite method fork. Website ini menjelaskan tentang wait dengan diagram yang baik yang memperlihatkan kepada kita. method apa saja yang dipanggil secara berurutan dan process apa yang terjadi dibelakang metode wait ini.