Top 10 List of Week 06

  1. Difference between Concurrency and Parallelism
    Concurrency relates to an application that is processing more than one task at the same time. Parallelism is related to an application where tasks are divided into smaller sub-tasks that are processed seemingly simultaneously or parallel. This article shows a clear difference of the two, clearing my confusion when doing the previous quiz.

  2. Single-threaded vs. Multi-threaded Processes
    This page explains about single vs. multithreaded process by listing statements from experts on this subject. I chose this because it’s written in almost a narrative fashion, which makes it easier to read than it seems.

  3. Threads and Concurrency
    A thread is an active entity which executes a part of a process. Multiple threads execute simultaneously with each other which results in the execution of a single whole process. This article describes in depth about both of this topic very clearly.

  4. fork() in C
    Fork system call is used for creating a new process, which is called child process, which runs concurrently with the process that makes the fork() call (parent process). GeekgorGeeks is always the go-to for information about new magical methods I found, and I find this article explains it really well.

  5. What is Concurrency?
    Concurrency is the execution of the multiple instruction sequences at the same time. It happens in the operating system when there are several process threads running in parallel. Even though already explained in previous link, this article expands my understanding about concurrency in general.

  6. What is Multicore Programming?
    Multicore programming helps to create concurrent systems for deployment on multicore processor and multiprocessor systems. Concurrent systems that we create using multicore programming have multiple tasks executing in parallel. This is known as concurrent execution. This article has very clear explanation.

  7. Multithreading Models & Hyperthreading
    This video by Neso Academy discusses about multithreading models and hyperthreading or simultaneous multithreading. Neso’s presenter always explain things very well albeit the slight accent.

  8. Introduction to Threads
    Another one by Neso Academy. I chose this for the same reason as above, because it explains very clearly. The video discusses about threads and processes, plus the benefits of multi-threaded programming.

  9. Creating new processes with fork()
    This video provides a brief explanation about the creation of processes and the purpose of fork() syscall. It’s packaged very neatly and the presenter is very interesting.

  10. Zombie and Orphan Processes
    The title of this video is very interesting. We discussed about parent and child processes in the synchronous class, but not much about zombies and orphans! The video explains about process creation briefly, what a zombie and orphan process is, how to kill it, and their side effects.