os211

HOME
« PREVIOUS | | NEXT »

Top 10 List of Week 06

  1. Concurency
    Concurrency is the tendency for things to happen at the same time in a system. Concurrency is a natural phenomenon, of course. In the real world, at any given time, many things are happening simultaneously. When we design software to monitor and control real-world systems, we must deal with this natural concurrency.

  2. 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. There are mainly three types of Process Schedulers: Long Term, Short Term, and Medium Term.

  3. Process Creation and Termination in OS
    A process may be created by another process using fork(). The creating process is called the parent process and the created process is the child process. A child process can have only one parent but a parent process may have many children. Both the parent and child processes have the same memory image, open files and environment strings. However, they have distinct address spaces. Process termination occurs when the process is terminated The exit() system call is used by most operating systems for process termination.

  4. How CPU Are Able to Run Multiple Program at (seemingly) Once?
    A context switching is a process that involves switching of the CPU from one process or task to another. In this phenomenon, the execution of the process that is present in the running state is suspended by the kernel and another process that is present in the ready state is executed by the CPU. It is one of the essential features of the multitasking operating system. The processes are switched so fastly that it gives an illusion to the user that all the processes are being executed at the same time.

  5. The Lifecycle of a Process
    A process, from its creation to completion, passes through various states, which are: 1) New: Newly Created Process or being-created process; 2) Ready: After creation process moves to Ready state, i.e. the process is ready for execution; 3) Run: Currently running process in CPU (only one process at a time can be under execution in a single processor); 4) Wait/Block: When a process requests I/O access; 5) Complete/Terminated: The process completed its execution; 6) Suspended Ready: When the ready queue becomes full, some processes are moved to suspended ready state; 7) Suspended Block: When waiting queue becomes full.

  6. Techniques to Handle Concurency
    When dealing with concurrency issues in software systems, there are generally two aspects that are important: being able to detect and respond to external events occurring in a random order, and ensuring that these events are responded to in some minimum required interval. If each concurrent activity evolved independently, in a truly parallel fashion, this would be relatively simple: we could simply create separate programs to deal with each activity. The challenges of designing concurrent systems arise mostly because of the interactions which happen between concurrent activities. When concurrent activities interact, some sort of coordination is required.

  7. How Process are Identified?
    Process ID or Process Identifier is a unique number that identifies each running processes in an operating system, such as Linux, Unix, macOS, and Microsoft Windows. In Windows, we can list all tasks and associated PID by using tasklist command and ps command for Unix and Linux users. Another use of PID is to kill a process using kill command (Unix / Linux) or taskkill command (Windows)

  8. Threads Vs Core
    Thread is an execution unit which consists of its own program counter, a stack, and a set of registers. Threads are also known as Lightweight processes. Threads are popular way to improve application through parallelism. The CPU switches rapidly back and forth among the threads giving illusion that the threads are running in parallel. As each thread has its own independent resource for process execution, multiple processes can be executed in parallel by increasing number of threads.

  9. How Process Talks to Eachother
    Inter process communication (IPC) is used for exchanging data between multiple threads in one or more processes or programs. The Processes may be running on single or multiple computers connected by a network. The full form of IPC is Inter-process communication. It is a set of programming interface which allow a programmer to coordinate activities among various program processes which can run concurrently in an operating system. This allows a specific program to handle many user requests at the same time.

  10. What is a Process
    A process is basically a program in execution. The execution of a process must progress in a sequential fashion. A process is defined as an entity which represents the basic unit of work to be implemented in the system. To put it in simple terms, 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. 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.