COSC 4330 Operating Systems - Spring 2006

Dr. Albert M. K. Cheng
Office: 534-PGH
Fall office hours: TTh 2:55-3:55pm and by appointment

Required lecture notes:
Operating Systems Notes (#79) by Dr. Albert Cheng, available from UC copy center.

Recommended book: Operating Systems Concepts by A. Silberschatz, P. Galvin, and G. Gagne, 7th edition.

TA: TBA

Synopsis:
An operating system (OS) is a program which provides a convenient and efficient environment for the user(s) of a computer, computer-based, or non-computer system. It is the interface between the user and the hardware. This course introduces process/task/thread management, scheduling, deadlock-handling, memory management, file systems, networking, security issues, and embedded/real-time operating systems (RTOS). Lab assignments will introduce Unix/Linux/Windows XP OS as well as Wind River VxWorks and QNX Neutrino RTOS.


Prerequisites:
The prerequisites are the core courses and a course in computer architecture. You are expected to be a good C or C++ programmer, to have a general understanding of assembly/machine languages, addressing, and interrupts, and to be familiar with the various hardware components of a computer system including processors, memory, and I/O devices.

Course requirements and grading:
There will be three in-class closed-book exams (late February, late March, and last day of class). There is no exam on the scheduled final exam date. There will be 3 to 4 programming assignments (using the C or C++ programming language, the BSD-style Unix OS, and the Wind River VxWorks/QNX Neutrino RTOS). The exams will count for 50% of your grade; outside assignments will determine the remaining 50%. You must have a passing grade on both the exams as well as on the outside assignments in order to obtain a passing grade in the course. Assignments will be weighted according to their difficulty.

Academic dishonesty:
Any student found guilty of academic dishonesty will receive an F in this course plus additional disciplinary penalty. Academic dishonesty includes, but is not limited to, the following:
1. Giving or receiving information during an exam.
2. Code-level collaboration (copying and sharing of all forms) among students on programs or homework assignments.
3. Unauthorized or malicious use of computing facilities.
4. Deception or misrepresentation in you dealings with your instruct or or teaching assistant.