ECEn 424 Review Topics: Chapter 8
ECEn 424 Review Topics: Chapter 8
- In what ways does a typical computer system make use of some form
of an exceptional control flow mechanism?
- How do the hardware and software work together to provide support
for exceptions? (What does each take care of?)
- What are the contents of an exception table?
- What are the main classes of exceptions, and how do they differ
from each other?
- Who defines each of the 256 exception types in x86-64 systems?
- What exceptional flow mechanism is used to invoke Linux system
calls?
- What role does exceptional control flow play in supporting the
illusion that a process has exclusive use of the processor?
- Why do processors typically have separate user and kernel modes,
and how does the system move from one to the other?
- Processes:
- What is the relationship between programs, processes, and processors?
- What is involved in each context switch?
- What functions can be called to terminate a process? To create
a new process?
- What are the results when a process calls fork?
- What is the significance of reaping a child process and
how is this related to zombies?
- What functions exist to allow a parent to wait for the
completion of its child processes?
- What functions exist for a process to delay its execution?
- What happens when a process calls execve?
- Signals:
- What are signals on Linux systems, and what
functionality do they make possible?
- What kinds of system events are associated with signals?
- What kinds of actions do processes take when signals are
received?
- What functionality exists to change the actions taken when a
signal is received? (Are there signals for which the default
actions cannot be changed? Can signals be blocked?)
- Why are signals discussed in this chapter? (How do they make
use of the exception mechanism?)
- Can a process send a signal to itself? (When might this be
useful?)
- How are signals implemented? (Are they like sending messages
that can be queued?)
- Why is writing a robust signal handler particularly tricky?
- How do setjmp and longjmp work, and how could you use them in a C
program?
- Self test: Can you complete all practice problems in Chapter 8?
Updated for 3rd Edition of CS:APP