CSE422S: Operating Systems Organization (Spring 2007)
Lecture Slides and Handouts
- Lecture 20a: Exam2
( pdf )
(Mon, Apr 30, 2007)
- Lecture 20: Hot Topics
( pdf )
(Mon, Apr 30, 2007)
- Lecture 19: File Systems
( pdf )
(Mon/Wed, Apr 23/25, 2007)
- Lecture 18: Basic I/O
( pdf )
(Wed/Mon, Apr 18/23, 2007)
- Lecture 17: Virtual Memory (Part 2)
( pdf )
(Mon/Wed, Apr 9/11, 2007)
(
Updated Mon, Apr 16
)
- Lecture 16: Virtual Memory (Part 1)
( pdf )
(Wed, Apr 4, 2007)
-
Lecture 15: Memory Management
( pdf )
(Mon, Apr 2, 2007)
-
Lecture 14: A Simple User-Level Thread Library
(Wed, Mar 28, 2007)
-
Lecture 13: Threads
( pdf )
(Mon, Mar 26, 2007)
-
Lecture 12: CPU Scheduling
( pdf )
(Wed, Mar 21, 2007)
-
Lecture 11: Deadlock
( pdf )
(Mon, Mar 19, 2007)
- Lecture 10: Synchronization Problems
( pdf )
(Mon, Mar 5, 2007)
- Lecture 9: Synchronization
( pdf )
(Mon/Wed, Feb 26/28, 2007)
- Lecture 8: Signals
( pdf )
(Wed, Feb 21, 2007)
- Lecture 7: Homework 2
( pdf )
(Wed, Feb 14, 2007)
- Lecture 6: The xssh Shell
( pdf )
(Mon/Wed, Feb 12/14, 2007)
- Lecture 5: Unix Pipes
( pdf )
(Wed/Mon, Feb 7/12, 2007)
- Lecture 4: Classic Processes
( pdf )
(Mon/Wed, Feb 5/7, 2007)
- Lecture 3: Using an OS
( pdf )
(Mon/Wed, Jan 29/31, 2007)
- Lecture 2: Computer Architecture
( pdf )
(Mon/Wed, Jan 22/24, 2007)
- Lecture 1: Introduction ( pdf )
(Wed, Jan 17, 2007)
- Assessment 1 (Wed, Jan 17, 2007)
Homework Assignments
- Homework 9
- Homework 8
- Homework 7
- Homework 6
- Homework 5x
- Homework 5
- Homework 4
- Due Date: Wed, Feb 21 in class
- The assignment
( pdf ),
the FAQ ,
the Full Solution ,
the Comments
-
Problem 3 files
To run with debugging OFF: make -i run
To run with debugging ON: make -i rund
- Homework 3
- Due Date (except Problem 8): Wed, Feb 14 in class
- Problem 8 Due Date: Wed, Feb 21 in class
- The assignment
( pdf ),
the FAQ ,
the Full Solution
- Problem 7 solution files:
All files (tar),
stdinc.h,
npipe3.c,
stdin file,
stdout file,
stderr file,
diff file
- Problem 7 files:
stdinc.h,
npipe3-puzzle.c.
- Problem 8 tar file
If you get the tar file and store it in hw3-8.tar, you
can untar the file using: tar xf hw3-8.tar
Or get the files individually here:
Makefile,
stdinc.h,
xsshA.c.
Or get the zip file
and unzip it.
- Using <map>.
- Here is how map can
be used as a symbol table.
- test28.C is a test program
that shows how to map to a char *
- test28f.C is a test
program that shows how to map to a function.
Ignore this if you don't have any experience
with <map>.
- Example of
getopt for processing command-line arguments.
- Homework 2
- Due Date: Wed, Feb 7 in class
- The assignment
( pdf ),
the FAQ ,
the Full Solution , and
Comments and common
mistakes
- Tar file
containing Makefile, membench.c, template.gp
that uses scripts and gnuplot to give you a
"one stop" method of running membench and getting
a postscript plot.
If you name the tar file
membench.tar,
- The command 'tar tf membench.tar' will list the
contents of the tar file.
- The command 'tar xf membench.tar'
will create the 3 files in the current directory.
- The command 'make' will build the executable and run
a sequence of commands that will culminate
in the creation of the file generic.ps that
is a postscript file containing the plot.
This file can be printed on a postscript printer
or viewed with the 'gv', 'gs' or 'ghostview' utility.
If using 'gs', try 'gs -sDEVICE=x11 generic.ps' when
trying to view the generic.ps postscript file.
- If you get a message from gnuplot about "bad line type",
see A7-1 of the FAQ or try this version of
gnuplot.template.
- This version of membench.c
should handle the "CLK_TCK undefined problem."
- timeit.c file for Problem 8.
You will need to add a few lines to get it to compile and
run properly.
-
Linux System Calls
Homework 1
Projects
- Project B
-
Some Project A Tests
- Basic ( kenw1.in )
- FG pipeline with redirection ( kenw2.in )
- BG pipeline with redirection ( kenw3.in )
- Script ( kenw.script )
- ctrl-c test: Enter "/bin/sleep 100 | /bin/sleep 100 &"
and then enter ctrl-c
- Project A
- The assignment
( pdf )
and the FAQ
- Due Dates:
- Mid: Wed., 2400 Hours, Mar 5
(Electronic submission only)
NEW: Include a README file that
summarizes the status of your work
and describes what you have worked on
(could be a bulleted list).
This is something that you should be
able to write in 15 minutes or less.
- Final: Mon, 1430 Hours, Mar 26
(Electronic submission) and
Mon in class, Mar 26
(Hardcopy)
- The xssh Shell
- A short (somewhat amusing)
Coding Style Guide
- Example of
getopt for processing command-line arguments.
- The sample
Makefile . You will probably have
to modify it to suit your programs.
- Documentation Template (TO COME)
- Grading Guide
- Documentation Template
- Perl script
which "cleans" your shar file.
If you are worried that your shar file is bad, you can
use the above perl script to see if the file is ok:
- REMINDER: Do NOT send non-ASCII files (e.g., word
documents, binaries).
- Read the documentation header in the script.
NOTE that you may have to change the pathname in
the first line of the script to point to the
location of your perl interpreter.
- Make your shar file (suppose it is called A.shar).
- Then, run "cleanshar.pl A.shar". If it finds anything
wrong, it will try to fix it and save the old copy.
cleanshar.pl only fixes non-conformant shar files.
It can not read your mind.
- Look at the contents of A.shar using less (more) or
an editor. You should see a list of your files.
- If you are still worried, then email the file to yourself:
mail -s "my shar test" YourLogin < A.shar.
- Read your email and save the email to a file IN A
DIRECTORY AWAY FROM YOUR SOURCE CODE (e.g., ~/tmp/A.email).
- Edit ~/tmp/A.email to remove mail headers, etc. and save
it to a file (e.g., A.shar). It's just your files with
some Bourne shell stuff surrounding it. There should be
a table of contents near the top that lists your files.
- Extract the files: cd ~/tmp; sh A.shar. The files should
be in your ~/tmp directory or whereever you are at this
point.
- Project A Test Files
Here are some test files.
There are two formats.
Each file contains the same set of files.
CAVEAT: These have not been tested and can contain typos.
The ordering of the tests do not indicate the development
order although kenw0.in kind of reflects one partial development
sequence.
Quizzes
Exams