Instructor
Dr. Yong
Guan
yguan@iastate.edu (515)
294-8378 Office:
3216 Coover Hall |
Lab
Instructor: |
Dr. Srikanta
Tirthapura [snt@iastate.edu] |
Lab
Instructor: |
Arko Provo
Mukherjee [arko@iastate.edu] |
Teaching
Assistant: |
Ramzi Saifan
[ramzi@iastate.edu] |
|
Spring 2011 (Please keep an eye on this news box for the latest.
)
|
-
Our kick-off meeting will be held on
Jan. 10, 2011, at Morrill 2019.
Welcome to our CprE 308 class!
-
Feb. 2 (Wednesday) class: cancelled
due to the severe winter weather, See the Iowa State University
page.
-
More to be added.
|
This course is an introduction to the
basic principles underlying current operating systems. Operating
systems have evolved over a few decades and have led to a few well
accepted abstractions. We will study those concepts and how they fit
together: the purpose of an operating system, processes and threads,
synchronization between multiple processes, process scheduling,
deadlocks, the address space concept, virtual memory, file systems,
I/O systems, security, and the basics of networking. The
corresponding (weekly) labs cover the "practice" portion of the
class, where the students are required to write programs which
interact with the operating system, and implement simplified
versions of some of the OS modules. The labs require a knowledge of
the C programming language and a working knowledge of the Linux
operating system, which is introduced in the first lab.
More detailed course syllabus can be found on
WebCT.
The required text for
the course is
Modern Operating Systems by Andrew S. Tanenbaum, 3rd Edition,
(ISBN 0-13-600663-9).
Lecture slides,
lab and project assignments, and homeworks can be accessed through
WebCT.
Suggested reading list can be accessed through
WebCT.
Useful On-line Resources:
-
A History
of Unix
- Getting started, good reference
for basic commands (ls, mkdir)
http://www.cs.wayne.edu/labPages/Unix_T/start.html
- Another basic Unix tutorial,
also has information on redirecting output (pipes)
http://www.ee.surrey.ac.uk/Teaching/Unix/
- Information on Unix System
Calls, mostly uses info from man pages, but still useful
http://www2.cs.uregina.ca/~hamilton/courses/330/notes/unix/unix.html
- List of System Calls, good
information but not well organized
http://www.softpanorama.org/Internals/unix_system_calls_links.shtml
- Unix system calls and processes,
fork(), exec() and wait()
http://www.scit.wlv.ac.uk/~jphb/spos/notes/processes.html
- Unix process management
http://heather.cs.ucdavis.edu/~matloff/UnixAndC/Unix/Processes.html
- Posix thread programming
http://www.llnl.gov/computing/tutorials/workshops/workshop/pthreads/MAIN.html
- List of signals and their
numbers
http://linux.about.com/library/cmd/blcmdl7_signal.htm
- Beej's Guide to Unix
Interprocess Communication
http://www.ecst.csuchico.edu/~beej/guide/ipc/
- Shared Memory, Semaphores, and
Message Queues
http://www.princeton.edu/~psg/unix/Solaris/troubleshoot/ipc.html
Lecture: MWF, 9:00-9:50am,
Morrill 2019.
Instructor and TA Office Hours:
|
Hours |
Location |
Dr . Yong Guan |
Monday 10-11am |
3216 Coover Hall |
Dr. Srikanta Tirthapura (Lab) |
TBD |
TBD |
TA: Arko Provo Mukherjee |
Friday 1-2pm |
ALC A Desk #4 |
Laboratory Sections:
Section |
Day/Time |
Lab Instructor |
A |
T 11:00am-1:50pm Coover 2048 |
|
B |
W 10:00am-12:50pm Coover 2048 |
|
C |
R 11:00am - 2:00pm Coover 2048 |
|
D |
W 3:10-6:00pm Coover 2048 |
|
Grading
The grading
breakup will be as follows:
-
Weekly labs: 25%
-
Two programming
projects: 10 % (5 % each)
-
Homework will not be
graded, but there will be in-class quizzes based on homework,
and these quizzes make up 17% of the grade.
-
One mid-term exam:
20%
-
Final Exam: 25%
-
Class Attendance:
3%
Current
grades can be checked using
WebCT.
Academic Policies
Academic Integrity
-
All your work (including the labs) should be done
individually unless otherwise specified. You are not allowed
to use work done by others, or obtain the answers directly
in any form (such as from the web). If you have any
questions about what is allowed/not allowed, please contact
the instructor or the TAs.
-
Any cases of cheating will be dealt with the strictest
possible measures allowed by the university, please refer to
the
university policies on academic dishonesty.
Lectures:
Attendance in the lectures is expected, and we welcome active
participation.
-
Please
email me or call me at (515) 294-8378
beforehand, in case that you cannot come (e.g., for medical
reason).
-
In
case that you cannot attend the class and have questions
about the missed lecture, please feel free to come and talk to me.
Laboratory Policies:
-
Attendance - You are expected to attend all laboratory
sessions. Absence will not be grounds for delaying the
submission of a laboratory report. Attendance will account
for 10% of each laboratory report grade. Each report will
be normalized to 90% of the possible points with attendance
making up the final 10% of the lab report grade. Attendance
will only be taken within the first 30 minutes of lab. If
you do not show up within the first 30 minutes of lab you
will be counted as absent for that lab.
-
Email
- You are expected to read your ISU email for laboratory
updates.
-
Feel
free to ask questions of your friendly TAs. However, you
will be expected to put in a fair amount of time struggling
on your own as well. We want to encourage development and
debugging skills, so try not to get frustrated when we won't
tell you exactly how to fix something or what to do next. As
long as you make steady progress during the lab, the TAs
will try to help you stay on track. Also, please do not
email source code to your TA. If you cannot fix something
during the normal lab hours, arrange a time with your TA to
review your code.
-
Report Deadlines - Lab reports are due the week following
the completion of the lab. They are to be submitted, in hard
copy only, within the first 30 minutes of the laboratory
session. Late labs are penalized 10% per day for up to 7
days. Labs submitted after 7 days will not be graded and
will receive no credit. A 10% penalty applies to reports not
submitted within the first 30 minutes of the lab session.
You will have one grace period to delay the late penalty for
3 days. This grace period will be used automatically for the
first late report. If you do not turn in your report within
the grace period the late policy applies beginning on the
fourth day. So after the end of your grace period you begin
losing 10% on the fourth day and can turn in the report
until day 10 losing 10% each day.
-
Grading - Reports and other work will be returned in lab.
You have one week after work is available to be returned to
challenge the given grade. Grades will be updated in WebCT
periodically.
-
Secure Your Work - From your home directory run the command:
chmod 700 308 to prevent anyone
else from accessing your work.
Further Information
Please contact Dr.
Yong Guan (yguan@iastate.edu) by email
or drop by his office Coover 3216.
|