Pre-Class Materials for February 10 and 12, 2015
There is a lot of material we need to cover this week, so I broke it up
into several different sections, trying to keep each one short (and trying
to make sure we don't get any end-of-slide dropouts).
If you think that a particular section is review for you, go to the
web work. If you feel you know the answers to the questions, then you
can skip the video and make a quick pass over the PDF.
If there is no working web work link, that means that the materials
are not yet ready.
There is a lot of material, so I've annotated each item.
An annotation of "2/10" means that you want to see this before class on
Tuesday.
An annotation of "section" means that you want to have gone through this
material before you attend section.
An annotation of "2/12" means that you'll want to have gone through this
before Thursday's class.
- 2/10
Fork/Exec (18:30) -- If you have used the fork, exec, wait, and waitpid
system calls, then you can probably skip this video. If you've never used
them, you'll want to listen to it.
Video (18:30)
(PDF)
(Web Work).
- Processes, Threads, and Address Spaces
- 2/10
Definitions -- this is a brief overview of what processes, threads
and address spaces are. Even if you're familiar with the terms,
I recommend going through the video as it
addresses some of the critical issues that you'll need to address in
Assignment 2. Video (9:06)
(PDF)
(Web Work).
- Section
Process States and Transitions -- this explains the states in which
a process can be and how it transitions between them.
Video (4:55)
(PDF)
(Web Work).
- Section
Process Components -- when you create a process out of a program,
what does that mean? And what are the various parts of a process that
the operating system needs to manage?
Video (16:45)
(PDF)
(Web Work).
- Here are links to the BSD and Linux proc and task structure include files.
You should look in your OS/161 distribution to find the corresponding structures
in OS/161.
- 2/12
Architecture -- This is a short overview of concepts such as
uniprogramming, multiprocessing, multicore, etc.
Video (8:05)
(PDF)
(Web Work).
- 2/12
Linking (16:56) -- This is an overview of the linking process -- how the
linker constructs an executable from a collection of object files.
If you saw this in CS61, you can probably skip the video.
Video (17)
(PDF)
(Web Work)