COSC 633 Advanced Operating Systems
Last modified: "September 28, 2017 14:14:20 by evett"
TTh 4:00-5:15 PM.
Room: PH 514.
Look for the symbols below, indicating new material!
Textbook: Silberschatz & Galvin, Operating System
Concepts with Java , Wiley, 2007.
Lecture Notes (warning, these are somewhat dated!)
- The Coffee and Tea code (multi-threading)
- Chapter 7, Process Synchronization
- Chapter 8, Deadlocks
- Running an RMI program
- Perl
Tutorial
- Perl Reference
- Perl notes from class
Assignments
To submit assignments,
go to http://caddis.acad.emich.edu/~hwmatt/student/
Notes on assignments, in general:
See the page on Stylistic Suggestions for
programming assignments, here.
Programming and other assignments should be completed
by each student on their own. It is expressly forbidden for students to
collaborate on assignments without the express permission of the
instructor. A few friendly pointers and a bit of advice is fine, but
"borrowing" or copying another's work is grounds for punitive action,
including a failing grade and possible expulsion from the University.
Grading of programming assignments
As specified in the course syllabus, program functional correctness
accounts for only about 80% of the grade assigned to a program. The
remainder of the grade accounts for the program's style (including header
and in-line comments, indentation, identifier names) and design (how you
decompose the solution, what classes you use, etc.) A fuller description
of stylistic and design requirements is here.
While students may certainly use their own PCs to develop and test their
programming assignments, the final version of the programs must be
executable on the department's Unix workstations. We will examine how to ensure
this during the course.
All programming projects shall be written in Java, using only the
libraries explicitly permitted by the instructor.
If you'd like to use a Unix-like shell-based environment on your Windows
machine, try installing cygwin.
Java
To obtain Java, go to Sun's site.
You want to download SDK2, v1.6 onto your PC. (Another name for this is JDK2.1.)
If you are using a Mac, you may have to download an earlier release of the JDK.
Follow the installation directions! (You will have to set your DOS PATH variable.)
Keep track of which directory you install the JDK into. You'll need to know that
when you set up BlueJ (see below).
With Java installed, you may want to download the SDK documentation, too.
After you've got that downloaded and installed, you may want to download BlueJ,
a simple Java IDE. You can get the download as shareware. Once BlueJ is downloaded
and installed, go ahead and run it.
Okay, now let's look at some code. Download the code examples from Horstman and
Cornell's book, Core Java. This is a zip file, which you should
decompress. Now, cd into v1ch2/Welcome, and use TextPad to open Welcome.java.
From within TextPad, use Tools:Compile Java to compile the file (forming
Welcome.class), then run it using Tools:Run Java Application.
Core Java source code