Operating System: Processes, Program vs Process, Process State, and Bootstrapping
Q#1: How does the operating system coordinate the execution of application software, utility software, and itself?
Answer:
- The operating system coordinates execution by managing processes.
- Each program to be executed is treated as a process.
- It allocates CPU time, memory, and other resources to processes.
- Ensures concurrent execution without interference.
- Provides mechanisms for interprocess communication and synchronization when needed.
Q#2: What is the fundamental distinction between a program and a process in modern operating systems?
Answer:
- A program is a static entity, consisting of code and data stored on disk.
- A process is the dynamic execution of a program.
- A program becomes a process when loaded into memory and actively executed.
- A process includes the program’s code, data, CPU registers, and current execution state.
Q#3: What is meant by the term “process state” in the context of an operating system?
Answer:
- The process state is the current snapshot of a process at a specific time.
- Includes the program counter, CPU registers, and associated memory contents.
- Allows the OS to save and restore the execution context, ensuring seamless continuation after interruptions.
Q#4: Why is bootstrapping (booting) necessary in the context of an operating system?
Answer:
- Booting initializes the computer and loads the operating system into main memory from ROM or mass storage.
- Required because RAM is empty at startup; the OS must be loaded to manage the computer.
- Involves executing a boot loader that transfers the OS into memory so it can control the system.