19/11/2024 12:33PM
COP4600 Midterm Exam Questions and
Answers
Chapter 4 - Answers✓✓The Abstraction: The Process /
Processes
Process /
Job - Answers✓✓A running program.
The abstraction provided by the OS of a running program.
Virtualizing - Answers✓✓The process of running a virtual instance of a computer system in a
layer abstracted from the actual hardware.
Time Sharing (CPU) - Answers✓✓By running one process, then stopping it and running
another, and so forth, the OS can promote the illusion that many virtual CPUs exist when in fact
there is only one physical CPU (or a few).
This basic technique allows users to run as many concurrent processes as they would like; the
potential cost is performance, as each will run more slowly if the CPU(s) must be shared.
The basic idea is simple: run one process for a little while, then run another one, and so forth.
By time sharing the CPU in this manner, virtualization is achieved.
Space Sharing (CPU) - Answers✓✓Where a resource is divided (in space) among those who
wish to use it.
, ©Themoon EXAM SOLUTIONS
19/11/2024 12:33PM
For example, disk space is naturally a spaceshared resource; once a block is assigned to a file, it
is normally not assigned to another file until the user deletes the original file.
Mechanisms - Answers✓✓Low-level methods or protocols that implement a needed piece of
functionality.
Context Switch - Answers✓✓A time-sharing mechanism employed on all modern OSes.
It gives the OS the ability to stop running one program and start running another on a given
CPU
Policies - Answers✓✓Algorithms for making some kind of decision within the OS.
For example, given a number of possible programs to run on a CPU, which program should the
OS run? A scheduling policy in the OS will make this decision, likely using historical
information (e.g., which program has run more over the last minute?), workload knowledge
(e.g., what types of programs are run), and performance metrics (e.g., is the system optimizing
for interactive performance, or throughput?) to make its decision.
Machine State - Answers✓✓What a program can read or update when it is running.
At any given time, what parts of the machine are important to the execution of this program?
Memory - Answers✓✓A component of machine state that comprises a process.
Instructions lie in memory; the data that the running program reads and writes sits in memory as
well. Thus the memory that the process can address (called its address space) is part of the
process.
, ©Themoon EXAM SOLUTIONS
19/11/2024 12:33PM
Address Space - Answers✓✓The memory that the process can address.
Registers - Answers✓✓Part of the process's machine state.
Many instructions explicitly read or update registers and thus clearly they are important to the
execution of the process
Program Counter (PC) /
Instruction Pointer (IP) - Answers✓✓A special register that form part of a machine state.
Tells us which instruction of the program will execute next.
Stack Pointer & Frame Pointer - Answers✓✓Used to manage the stack for function parameters,
local variables, and return addresses.
Modularity - Answers✓✓A general software design principle.
A common design paradigm to separate high-level policies from their low-level mechanisms.
Separating the two allows one easily to change policies without having to rethink the
mechanism and is thus a form of modularity.
Process API - Answers✓✓Create: An operating system must include some method to create
new processes. When you type a command into the shell, or double-click on an application icon,
the OS is invoked to create a new process to run the program you have indicated.