(Latest Revision -- February 14, 2009)
Course Description
for Operating Systems II: CS 4750
"An elephant is a mouse with an operating system."
TERM: Spring 2009
CLASS INFO FROM SCHEDULE:
22044 CS 4750 001 Operating Systems II (LEC) 3 MW 12:20-1:18 P-113
22045 CS 4750 002 Operating Systems II (LAB) 0 F 12:20-1:18 P-114
INSTRUCTOR: John Sarraille, Professor of Computer Science
OFFICE:
P-286,
Professional Schools Building (aka:DBH), Cal State Stanislaus
REGULARLY SCHEDULED OFFICE HOURS:
- Mon 13:30-15:15,
- Tues & Thurs 12:00-13:45
ADDITIONAL OFFICE HOURS MAY BE ARRANGED ON REQUEST
(The first day of regularly scheduled office hours is Monday, Feb 16, 2009 and
the last is Tuesday May 26, 2009.
There are no regularly scheduled office hours on Wednesdays, Fridays,
holidays, or during spring break.)
E-MAIL:
john@ishi.csustan.edu
HOMEPAGE:
http://www.cs.csustan.edu/~john/js.html
PREREQUISITE:
It is important that you be adequately prepared for taking this course, CS
4750. Check with me if you have not passed:
- Operating Systems I (CS 3750), or the equivalent
COURSE OBJECTIVES:
- Learn to perform system administration on networked unix computers.
Particular aspects may include:
- Backup techniques and regimens
- Documentation
- Hardware setup and maintenance
- System software installation and maintenance
- Booting and shutdown issues and techniques
- Use of the root account
- Process control
- Filesystem management
- User account management
- Management and monitoring of routine tasks and processes
- Configuration and maintenance of network connectivity
- Networked information, files and databases
- Security and protection
- User services
- Optimization of system performance
- Troubleshooting
- Acquire understanding of how modern unix systems are structured and
implemented
- Gain exposure to decision-making techniques and points of view of
professional system administrators
- Learn about the history of unix and linux.
REQUIRED TEXT:
Nemeth:
Linux System Administration Handbook, 2/e;
written by Evi Nemeth, Garth Snyder, and Trent R. Hein;
published by Prentice Hall, 2007;
ISBN-10: 0-13-148004-9
RECOMMENDED READING:
-
UNIX in a Nutshell: 4th Edition;
written by Arnold Robbins;
published by O'Reilly and Associates, 2005;
ISBN-10: 0-596-10029-9
-
Linux in a Nutshell: 5th Edition;
written by Ellen Siever, Aaron Weber, Stephen Figgins, Robert Love, and Arnold Robbins;
published by O'Reilly and Associates, 2005;
ISBN-10: 0-596-00930-5
-
Advanced Unix Programming, 2/E;
written by Marc J. Rochkind;
published by Addison-Wesley, 2004;
ISBN-10: 0131411543
-
Operating System Concepts, 8th Edition;
written by Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne;
published by Wiley, 2008;
ISBN: 978-0-470-12872-5
-
Modern Operating Systems, 3/E;
written by Andrew S. Tanenbaum;
published by Prentice Hall, 2008;
ISBN-10: 0136006639
-
Distributed Systems: Principles and Paradigms, 2/E;
written by Andrew S. Tanenbaum and Maarten van Steen;
published by Prentice Hall, 2007;
ISBN-10: 0132392275
-
The Design and Implementation of the FreeBSD Operating System;
written by Marshall Kirk McKusick and George V. Neville-Neil;
published by Addison-Wesley, 2005;
ISBN-10: 0201702452
-
Understanding the Linux Kernel, 3rd Edition;
written by Daniel P. Bovet and Marco Cesati;
published by O'Reilly and Associates, 2005;
ISBN 10: 0-596-00565-2
-
Essential System Administration, 3rd Edition;
written by Aeleen Frisch;
published by O'Reilly and Associates, 2002;
ISBN-10: 0-596-00343-9
-
LINUX System Administration;
written by Tom Adelstein and Bill Lubanovic;
published by O'Reilly and Associates, 2007;
ISBN 10: 0-596-00952-6
COURSE COVERAGE:
We will install and configure the Solaris operating system on a set of
workstations and create a networked operating environment almost identical
to the one we have on the Sun Ultra computers in the CS lab.
We will cover material from the following chapters in Nemeth:
- Ch #01 Where to Start
- Ch #29 Daemons
- Ch #06 Adding New Users
- Ch #03 Rootly Powers
- Ch #04 Controlling Processes
- Ch #05 The Filesystem
- Ch #09 Backups
- Ch #18 Electronic Mail
- Ch #10 Syslog and Log Files
- Ch #02 Booting and Shutting Down
- Ch #23 Printing
- Ch #08 Periodic Processes
- Ch #26 Cooperating with Windows
- Ch #16 The Network File System
- Ch #15 DNS: The Domain Name System
- Ch #17 Sharing System Files
- Ch #19 Network Management and Debugging
- Ch #20 Security
- Ch #30 Management, Policy and Politics
You will have to read at the rate of about 38 pages per week for 13 weeks.
QUIZZES, PROJECT & GRADING:
There will be two course components: quizzes and project. We will have a quiz
about every three weeks, covering the course reading assignments.
Your project will be a term-long assignment to install and configure system
software on Solaris workstations located in a special mini-lab in rooms
(P-288B and P-288A) adjoining the main CS computer lab. You will do project
work in teams of two or three persons. Note: you will have physical access to
these rooms only during the hours when the main CS lab (P-288) is open.
Each team must keep a detailed and complete lab-book in electronic
form that describes
- who does/installs what,
- what your operating procedures are,
- what you are doing to monitor the correctness of your work
while you are working,
- what you are doing to verify the correctness of your
completed actions/installations,
- what problems and failures you are detecting and what is
allowing/helping you to notice them,
- how you are solving the problems that come up, and
- all other significant developments in the project.
The normal expectation will be that the teams make steady progress on the
project. Beginning with the second Monday of the term, for my review, each
team must e-mail me a current copy of its lab-book and make a presentation in
class, recapping the events, actions and problems encountered while working on
the project during the previous week. Lab-books are due on Mondays before the
start of class. Weekly presentations will be made on Mondays. I will give
team members a weekly grade based on the quality of the team lab-book and
presentation.
During and after weekly reports, there will be discussions aimed at
understanding issues and solving problems.
At the end of the semester the team will turn in a written report:
- summarizing the content of the lab-books,
- explaining the outcomes of the project, and
- stating conclusions:
- What are your reactions, opinions, and feelings
concerning the project and the class?
- What do you feel you learned and/or failed to learn from
doing the project work, and
- What other interesting outcomes and knowledge relating
to the project can you share with us?
The team will also make an oral presentation, based on the written term
report.
Lab-books and reports must be team efforts. All team members must monitor and
contribute to the content.
I will base the project grade on the quality of the lab-book, the weekly
reports, the term report & presentation, and what you appear to have
accomplished and learned by doing the project.
Typically your course project will not be "one big thing." It will be a
diverse series of system administration tasks. On the the project server
machine, look here:
/usr/local/install.tmp
to see information describing the basics of your project work. Other elements
may be added to your project assignment. Please let me know if you'd like to
suggest an addition.
There will be no final exam. Instead we will have the oral presentations
during the designated final exam time.
Under normal circumstances your project and quiz average will
each be given a weight of 50% in determining your grade.
The exception to that rule is that to pass the course you
must get a passing grade in your project and a
passing average on your quizzes.
BASIC INFORMATION ABOUT CLASS SESSIONS:
For technical reasons, students in this class are required to sign up
separately for a lecture section and a lab section, and the university
schedule of classes indicates that lecture and lab occur on different days or
times. In actual fact, I won't run the class like that.
We will use some of our class time for team presentations, discussion and
lecture. We'll use some of it for work and interaction in the lab. You'll
have to perform most of your project work outside of class time.
PARTICIPATION:
I expect everyone to attend all the classes, to participate, and to be well
informed as to what is going on. I will keep track of your attendance.
I want to be accessible and helpful to you during this course. I want you
to get as much as possible out of the course. Remember, however, that we
are a team and you are a key player.
Read everything I assign, and read with care. Read difficult material more
than once! Attend all classes. Pay close attention. Take notes. Review
your notes before each class. Get started on assignments and project work
early. Do a little each day, and bring your questions and problems
concerning your project and readings to class each day.
Finish work on schedule. Do what you can to keep class discussion
interesting, to the point, and flowing well. Reply to questions. Ask
questions and make remarks if you feel you have something to add, or if you
feel something needs to be explained better.
RESPONSIBILITY FOR YOUR OWN WORK:
Quizzes: You must write your quizzes with no discussion or help from
anyone. The one exception is that you are allowed to come forward and ask
me to clarify the meaning of a quiz question, if you wish. It will be up
to me to decide how to answer, or whether to answer at all. I will tell
the class any new information that arises from such an exchange.
Projects: If you decide to take on this class, you are making a
commitment to share equally with your partners(s) in the work of the project.
Everyone expects you to live up to that promise.
Penalties: If there is compelling evidence of dishonesty or shirking
responsibility, I will withhold credit.
NETWORK AVAILABILITY OF COURSE MATERIALS:
Course documents, assignments, supplements, and so on will be
made available via the world wide web. To access the on-line
CS 4750 materials, you can open the URL
http://www.cs.csustan.edu/~john/Classes/CS4750/
from any web browser on any computer connected to the campus
network or the Internet.
Also, there is a miscellaneous collection of information that
you may want to use from time to time. It is located here:
http://www.cs.csustan.edu/~john/Classes/General_Info/
I'll let you know about other web-based resources from time to time.
COMPUTER EQUIPMENT:
You need to have an account that gives you access to all the Computer Science
multi-user computers. The computers have a network file system, which means
you get the same home directory and "computing environment," regardless of
which computer you log on to.
If you don't seem to have access to the lab computers, then let me know right
away, preferably by filling out and submitting this
form.
Otherwise send me an e-mail or give me a piece of paper containing the
answers to the questions on the
form.
Generally, CS Department workstations are available for access and use on a
24-hour basis. However campus computer labs do not remain open at all hours.
Therefore sometimes network access is the only option. For more information
about establishing network connections, see the section below entitled
"INTERNET CONNECTIONS." Also see the course document entitled
loginDirections.
P-288 will be open basically midmorning until about 5:00 PM. During these
times, you can be physically present in the CS Department Lab while using a
department computer. This can be very beneficial because you then have the
opportunity to work and communicate with fellow students and members of the
staff and faculty.
Due to budgetary constraints beyond our control, the hours during which P-288
is open are subject to change on short notice. Please check the postings of
the lab hours at the entrance to the lab, in the "message of the day" that is
printed on your screen when you log on to your account, or
check on the web.
Incidentally, the CS Department often seeks volunteers and work-study students
to help keep the lab open longer hours. For further information, ask our
system administrator, Julie Gorman:
P-288C, (209) 667-3273,
julie@cs.csustan.edu.
INTERNET CONNECTIONS:
You may want to purchase Internet connectivity. This is not a
requirement and not necessary for success, but it can be a great
time-saver and a convenience once you have gotten past the hurdle of
setting everything up.
There are several Internet service providers (ISP's) that serve
this area. Chances are that members of the class can make good
recommendations. We can devote some time to this topic on the
first day of class.
One can find many ISP's by using the site:
http://thelist.internet.com.
ISP's also advertise in the yellow pages and in newspapers.
If you get an Internet connection, make sure you have remote
login and file transfer capability. Depending on what
kind of computer you have, you may need to get some special
add-on software for doing doing remote login and file transfer.
For more information about this, read the
remote login and file transfer help sheet.
For additional information, ask me or the CS Lab Administrator,
Julie Gorman.