View on GitHub

os202

OS202

HOME


Top 10 List of Week 06

  1. Process Concept
    A process is a program in execution, and the status of the current activity of a process is represented by the program counter, as well as other registers.

  2. 4 General States of Process
    There are four general states of aprocess: (1) ready, (2) running, (3) waiting, and (4) terminated.

  3. The Role of Process Scheduling
    Process Scheduling is an OS task that schedules processes of different states like ready, waiting, and running. Process scheduling allows OS to allocate a time interval of CPU execution for each process. Another important reason for using a process scheduling system is that it keeps the CPU busy all the time. This allows you to get the minimum response time for programs.

  4. fork() system calls
    This is a youtube playlist contained of plenty videos explained the fork() introcution to related QnA.

  5. pipe() system calls
    This is a youtube video that explained communicating between processes in C using pipes.

  6. Client-Server Communication: Socket
    A Unix Socket is used in a client-server application framework. A server is a process that performs some functions on request from a client. Most of the application-level protocols like FTP, SMTP, and POP3 make use of sockets to establish connection between client and server and then for exchanging data. More reading about Socket here.

  7. Thread VS Multithreaded
    Single threaded processes contain the execution of instructions in a single sequence. In other words, one command is processes at a time.The opposite of single threaded processes are multithreaded processes. These processes allow the execution of multiple parts of a program at the same time. These are lightweight processes available within the process.

  8. Benefits of Multithreaded Processes
    • All the threads of a process share its resources such as memory, data, files etc. A single application can have different threads within the same address space using resource sharing.
    • It is more economical to use threads as they share the process resources. Comparatively, it is more expensive and time consuming to create processes as they require more memory and resources.
    • Program responsiveness allows a program to run even if part of it is blocked using multithreading. This can also be done if the process is performing a lengthy operation.
    • In a multiprocessor architecture, each thread can run on a different processor in parallel using multithreading. This increases concurrency of the system. This is in direct contrast to a single processor system, where only one process or thread can run on a processor at a time.
  9. Concurrency
    This is a youtube video by Mike Swift that covered explanation about the uses of concurrency, sources of concurrency, scheduler’s role in concurrency, real implementation: examples and strategies of concurrency, and the benign uses of concurrency.

  10. Parallel Computing Parallel computing is a type of computation where many calculations or the execution of processes are carried out simultaneously. This is a 3-minutes video explained about parallel computing to help us understand what parallelism is.