A process is a program in execution. For example, when we write a program in C or C++ and compile it, the compiler creates binary code. The original code and binary code are both programs. When we actually run the binary code, it becomes a process.
A process is an ‘active’ entity, as opposed to a program, which is considered to be a ‘passive’ entity. A single program can create many processes when run multiple times; for example, when we open a .exe or binary file multiple times, multiple instances begin (multiple processes are created).
What does a process look like in memory?
A process has the following attributes.
All of the above attributes of a process are also known as the context of the process.
Every process has its own process control block(PCB), i.e each process will have a unique PCB. All of the above attributes are part of the PCB.
States of Process
A process is in one of the following states:
The process of saving the context of one process and loading the context of another process is known as Context Switching. In simple terms, it is like loading and unloading the process from the running state to the ready state.
When does context switching happen?
Context Switch vs Mode Switch
CPU-Bound vs I/O-Bound Processes
A CPU-bound process requires more CPU time or spends more time in the running state.
An I/O-bound process requires more I/O time and less CPU time. An I/O-bound process spends more time in the waiting state.
Exercise
Q.1. Which of the following need not necessarily be saved on a context switch between processes? (GATE-CS-2000)
(a) General purpose registers
(b) Translation lookaside buffer
(c) Program counter
(d) All of the above
Ans: (b)
Explanation: In a process context switch, the state of the first process must be saved somehow, so that when the scheduler gets back to the execution of the first process, it can restore this state and continue. The state of the process includes all the registers that the process may be using, especially the program counter, plus any other operating system-specific data that may be necessary. A translation look-aside buffer (TLB) is a CPU cache that memory management hardware uses to improve virtual address translation speed. A TLB has a fixed number of slots that contain page table entries, which map virtual addresses to physical addresses. On a context switch, some TLB entries can become invalid, since the virtual-to-physical mapping is different. The simplest strategy to deal with this is to completely flush the TLB.
Q.2. The time taken to switch between user and kernel modes of execution is t1 while the time taken to switch between two processes is t2. Which of the following is TRUE? (GATE-CS-2011)
(a) t1 > t2
(b) t1 = t2
(c) t1 < t2
(d) nothing can be said about the relation between t1 and t2.
Ans: (c)
Explanation: Process switching involves a mode switch. Context switching can occur only in kernel mode.
10 videos|99 docs|33 tests
|
1. What is the difference between a program and a process? |
2. How does process management ensure efficient use of system resources? |
3. What are some common process management techniques? |
4. How does process management handle multitasking in modern operating systems? |
5. What is the role of process management in ensuring system stability and reliability? |
|
Explore Courses for Computer Science Engineering (CSE) exam
|