os211

Top 10 List of Week 06

1. Concurrency and Parallelism

Seperti biasa, laman geeks for geeks menjadi pilihan pertama dalam top 10 link saya kali ini. concurrency memiliki teknik yang mirip yaitu parallelism. Laman ini menjelaskan bahwa concurrency memiliki arti dimana suatu aplikasi menjalankan lebih dari satu pekerjaan dalam waktu yang sama. Sedangkan paralleism adalah paradigma dalam proses dimana aplikasi membagi tugas menjadi subtugas yang lebih kecil dan proses menjalankan subtugas tersebut secara parallel.

2. Concurrency is not Parallelism

blog ini merupakan penjelasan oleh Rob Pike, pembuatan bahasa Go. Berangkat dari laman pada nomor 1 yang masih mengundang penasaran, saya menemukan blog ini. Secara simplified, concurrency menurut rob pike adalah 1 pekerja mengerjakan berbagai pekerjaan sedangkan paralel adalah banyak pekerja mengerjakan banyak tugas. Video ini memberikan pemahan yang lengkap.

3. Concurrency in Operating System

Lagi lagi membahas concurrency, tetapi kali ini saya ingin mempelajari concurrency secara mendalam. concurrency terjadi ketika di dalam sistem operasi terdapat thread-thread pada proses yang berjalan secara serentak. Geeks for geek kembali membahas hal ini secara mudah sehingga saya dapat lebih paham secara umum materi ini.

4. Single-threaded vs. Multi-threaded position statements

Terdapat thread di suatu proses dan adanya program yang memiliki banyak thread menjadi perhatian saya dalam materi ini. Seperti diketahui terdapat bahasa yang mendukung multi threaded seperti python dan hanya dapat berjalan single threaded yaitu javascript. Terdapat pro dan kontra pada penggunaan kedua metode ini yang dijelaskan lebih lanjut pada laman tersebut.

5. User Level Thread and Kernel Level Thread

Pada implementasinya, terdapat 2 macam thread yaitu user level thread dan kernel thread. Kernel thread sesuai nama, dikelola oleh kernel sehingga kernel thread lebih banyak dikontrol oleh sistem operasi, sedangkan user thread dibuat oleh user dan kernel tidak memiliki hubungan langsung dengan thread tersebut.

6. Tradeoff Concurrency

Pemahaman concurrency pada operasi sistem dan implementasinya tentu memiliki drawback yang dihasilkan. Tradeoff menurut artikel yang saya baca adalah pembuatan softwarenya yang lebih kompleks sehingga lebih cenderung memiliki error, untuk profiling akan susah ditentukan karena banyak thread yang bekerja.

7. Race condition

Adanya proses yang multi thread dan thread yang dapat mengakses memory yang sama dapat mengakibatkan suatu kejadian yang menyebabkan salah informasi, yaitu race condition. Dari istilahnya, race condition terjadi ketika ada dua thread yang berlomba cepat cepatan untuk mengakses suatu memory. Race condition adalah drawback dan multi threading dan pencegahannya harus dilakukan seperti synchonizing atau transaction.

8. fork() create process

Jacob Sorber adalah youtuber yang memiliki background dalam ilmu komputer. pada video tersebut ia menjelaskan fungsi fork() yang dapat dipanggil pada terminal linux. materi dirangkum menjadi materi yang mudah dan menyenangkan.

9. Why we love concurrency and you should too

Moore law yang menyatakan power processing yang meningkat 2 kali dalam setahun sudah tidak lagi berkembang dan relevansinya dipertanyakan. Moore law menjadi usang karena adanya concurrency yang dapat memaksimalkan hardware yang digunakan oleh sistem operasi. Adanya concurrency memicu penggunaan yang melebihi kemampuan dan dapat menyelesaikan tugas secara bersamaan.

10. Multicore programming

Multicore adalah suatu teknik yang digunakan untuk membuat lingkungan deployment yang concurrentcy untuk menjalankan core dan sistem prosessor yang lebih dari satu. Artikel tersebut memberikan pemahaman yang ringkas mengenai cara pembuatannya dari awal hingga eksekusinya.