Top 10 List of Week 06

  1. Process
    Minggu ini mempelajari tentang concurrency, process dan threads. Materi ini mengingatkan saya dengan materi di mata kuliah Advanced Programming yang juga sempat membahas tentang concurrency. Artkel ini membantu saya untuk lebih memahami mengenai apa itu process dan apa perbedaannya dengan program, karena sebelumnya saya masih kurang paham mengenai konsepnya. Di artikel ini juga dijelaskan state apa saja yang ada dalam process, yaitu new, ready, running, waiting, dan terminated. Selain itu juga dijelaskan 4 section di dalam process memory.

  2. Context Switching
    Pada web ini dijelaskan mengenai context switching, mulai dari pengertiannya, motivasi untuk melakukan context switching, contohnya, dan tahapannya. Disini dijelaskan apa itu PCB dan bagaimana perannya dalam context switching. Yang saya suka dari web ini adalah penjelasannya cukup lengkap dan juga disertai dengan diagram sehingga memudahkan saya untuk memahami penjelasannya.

  3. Process Scheduling
    Laman ini menjelaskan mengenai process scheduling. Process scheduling adalah tugas OS yang menjadwalkan proses dari berbagai state yang telah disebutkan di poin 1. Yang dijelaskan disini terdapat 3 jenis process scheduling, yaitu long-term, short-term, dan medium-term. Ketiganya dijelaskan perbedaan antara satu dengan yang lainnya. Terdapat juga yang namanya process scheduling queues yang bertugas untuk mempertahankan antrian yang berbeda untuk setiap status proses dan PCB. Disini diberikan diagram yang menjelaskan process scheduling queues tersebut.

  4. Cooperating Processes
    Di web ini dijelaskan tentang cooperating process. Disini dijelaskan bahwa dalam cooperating process terdapat information sharing, Computation speedup, modularity, dan convenience. yang saya suka dari web ini adalah penjelasannya singkat dan mudah dipahami.

  5. Message Passing System
    Halaman ini menjelaskan tentang message passing. Cara berkomunikasi menggunakan message passing yang dijelaskan disini ada 3, yaitu direct dan indirect communication, Synchronous dan asynchronous communication, serta Automatic dan explicit buffering. Saya senang karena penjelasannya tidak rumit dan juga diberikan contoh sehingga menjadi lebih mudah menangkap penjelasannya.

  6. Remote Procedure Call
    Artikel ini menjelaskan tentang RPC secara umum. Penjelasannya cukup mudah untuk dimengerti bagi saya yang baru pertama kali mendengar RPC. Plus artikel ini ditulis dalam bahasa Indonesia:)

  7. Concurrency vs Parallelism
    Pada website ini dijelaskan mengenai perbedaan antara concurrency dan paralellism yang mana banyak orang keliru antara keduanya termasuk saya. Disini dijelaskan bahwa ternyata keduanya dapat dikombinasikan dalam aplikasi yang sama. Penjelasan di website ini cukup lengkap dan terdapat juga visualisasi diagram sederhana.

  8. Multithreading Models
    Disini dijelaskan perbedaan mengenai multithreading models. Terdapat 3 model yang dijelaskan, yaitu many to one, one to one model, dan many to any model. Saya suka di laman ini penjelasannya mudah dipahami dan dilengkapi dengan visualisasi dari penjelasan tiap modelnya sehingga lebih mudah untuk dipahami. Disini juga terdapat sedikit penjelasan dari single thread.

  9. Threading Issues
    Halaman ini memberikan contoh-contoh threading issues. Diantaranya ada pemanggilan fork() dan exec(), signal handling, thread cancelation, thread local storage, dan scheduler activation. Penjelasannya cukup mudah dimengerti dan cukup untuk memberikan gambaran seperti apa itu threading issue.

  10. Thread
    Website ini menjelaskan rangkuman mengenai thread meliputi penjelasan multi thread, multicore programming, libraries, dan threading issues. Meskipus saya kurang suka design webistenya, tetapi kontennya menurut saya bagus karena sangat bermanfaat. Penjelasannya pun lengkap dan cukup mudah untuk dipahami.