Cicak Bin Kadal
Top 10 List of Week 06
Widyanto --- Indonesia

Top 10 List of Week 06

  1. Process Lifecycle
    A process is basically a program in execution. The execution of a process must progress in a sequential fashion. When a program is loaded into the memory and it becomes a process, it can be divided into four sections ─ stack, heap, text and data. We write our computer programs in a text file and when we execute this program, it becomes a process which performs all the tasks mentioned in the program.

  2. Concurrency in OS
    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. Both interleaved and overlapped processes can be viewed as examples of concurrent processes, they both present the same problems.

  3. Concurrency x Parallelism
    Concurrency relates to an application that is processing more than one task at the same time. Concurrency is an approach that is used for decreasing the response time of the system by using the single processing unit. While parallelism is related to an application where tasks are divided into smaller sub-tasks that are processed seemingly simultaneously or parallel.

  4. Single and Multi-Threaded
    he fact is that current programmers do not naturally think “parallel programming model,” which means a lot of applications are single thread. If performance of them is important, then we need to provide single thread performance. It is true that more and more applications naturally support lots of threads. Thus, the ability to handle lots of parallel threads is also important.

  5. What is Pipes ?
    A pipe acts as a conduit allowing two processes to communicate. Pipes were one of the first IPC mechanisms in early UNIX systems. They typically provide one of the simpler ways for processes to communicate with one another, although they also have some limitations. In implementing a pipe, four issues must be considered:

  6. Multicore Programming
    Multicore programming helps to create concurrent systems for deployment on multicore processor and multiprocessor systems. A multicore processor system is basically a single processor with multiple execution cores in one chip. Concurrent systems that we create using multicore programming have multiple tasks executing in parallel. This is known as concurrent execution. When multiple parallel tasks are executed by a processor, it is known as multitasking.

  7. Challanges in Programming for Multicore System
    Since multicore system consists of more than one processors, so the need is to keep all of them busy so that you can make better use of multiple computing cores. Scheduling algorithms must be designed to use multiple computing core to allow parallel computation.The challenge is also to modify the existing and new programs that are multithreaded to take advantage of multicore system.

  8. Fork and Exec System Calls in Linux
    When a process makes the fork system call, a new process is created which is a clone of the calling process. The code, data and the stack of the new process is copied from the calling process. The newly created process is called the child process, whereas the calling process is termed the parent process.

  9. Zombie and Orphan process in operating system
    This video is very interesting. It 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.

  10. 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.


© 2021-2021 --- Widyanto --- File Revision: 0031a---07-Mar-2021.