ELABORATE ANSWERS GUARANTEE
PASS
Chapter 4 - ANSWER The Abstraction: The Process /
Processes
Process /
Job - ANSWER A running program.
The abstraction provided by the OS of a running program.
Virtualizing - ANSWER The process of running a virtual
instance of a computer system in a layer abstracted from
the actual hardware.
Time Sharing (CPU) - ANSWER 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) - ANSWER Where a resource is
divided (in space) among those who wish to use it.
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 - ANSWER Low-level methods or protocols
that implement a needed piece of functionality.
Context Switch - ANSWER 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 - ANSWER 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 - ANSWER 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 - ANSWER 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.
Address Space - ANSWER The memory that the process
can address.
Registers - ANSWER 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) - ANSWER A special register that
form part of a machine state.
Tells us which instruction of the program will execute next.
, Stack Pointer & Frame Pointer - ANSWER Used to
manage the stack for function parameters, local variables,
and return addresses.
Modularity - ANSWER 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 - ANSWER 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.
Destroy: As there is an interface for process creation,
systems also provide an interface to destroy processes
forcefully. Of course, many processes will run and just exit
by themselves when complete; when they don't, however,
the user may wish to kill them, and thus an interface to
halt a runaway process is quite useful.
Wait: Sometimes it is useful to wait for a process to stop
running; thus some kind of waiting interface is often
provided.