Syllabus for CSC421 Computer Operating Systems.
This is a course in computer operating systems. The goals of the course are,
- to present
the most common mechanisms used by operating systems to implement useful behavior, and
- to understand the trade-offs between mechanisms given available technologies
and human demands.
In addition, the student will gain experience working with "real code",
that is, the code of the linux operating system kernel, as well as developer tools for
working with code in a collaborative environment.
- New media:
- Old media: Reading list updated 27 Aug 2020
- Required reading:
- Recommended reading:
- Suggested reading:
- What you will do:
- Quizzes: There might be quizzes on particular topics. These are released on subversion and are generally due in 2 days without lateness.
- Projects: A series projects, assigned from a Monday to the second following Monday. However, this
might vary according to pace and vacation schedule.
- Project grading: Projects are generally scored on a 0 to 5 scale, with 5 being reserved for excellent projects.
Grade depends on completeness, correctness, and presentation. Use of Subversion, Makefiles and file and folder
names as requested are a must.
- Lateness: Three days grace automatic on projects. Over that, one point off and an additional one point
for each week late, up to 4 points. No lateness for quizzes.
- No work accepted once reading days end.
- Class grading: After normalizations, 60% projects, 40% quizzes.
- There is no final exam.
- How you will do it:
- Install Virtual Box on your computer.
- Download the appropriate Ubuntu ISO, ubuntu-16.04.6-server-i386.iso
- Make a VM in Virtual Box using the ISO image.
- Prepare your host machine: if Windows, install cygwin to get unix/c development tools native.
- Install on your host ssh and subversion. Older OSX had svn in the developer package. Catalina needs to install it from brew.
Install using brew install subversion.
- Set networking on your ubuntu VM to bridge; use ifconfig to get your IP address. Ssh into your VM from your host using
ssh user_name_on_vm@ip_address_of_vm.
- Continue to complete proj0 and quiz0.
- Who will help you:
- Our graders are TBA. Hours announced on Slack.
- If we stick to Subversion and proper Makefiles, it should be possible to
seek help whenever I am on line. Make sure you have a make target that demonstrates
the problem, and that you have committed to the repository.