ECE397A: Operating Systems
[This page: Course Info | Staff | Course Material |
Prerequisites | Late policy | Grading | Cheating policy]
Schedule | Homeworks | Labs  | Exams ]

Course Description

This course will provide a broad introduction to software systems with emphasis on operating system design and implementation. Its objective is to introduce students to design software systems in general, beyond what is typical in a classic desktop oriented operating system, with main focus on resource management and interfacing issues with hardware (architecture) layers. These software systems, in some form or another,  are found in desktop computers, embedded systems, supercomputers, cluster computing, pocket PCs,  network routers, etc.

The OS and many software systems (typically) provide a  convenient and efficient interface between user programs and the architecture of the computer/device on which they run, being responsible for allowing resources (e.g., disks, networks, and processors) to be shared, providing common services needed by many different programs (e.g., file service, the ability to start or stop processes, and access to the printer), and protecting individual programs from one another.

Particular emphasis will be given to  process management (processes, threads,  CPU scheduling, synchronization, and deadlock), (virtual) memory management (segmentation, paging, swapping, caching) with focus on the interplay between architectural components and software layers in modern microprocessors, and  distributed systems including fundamental algorithms, communication layers such as sockets, RPC, Java RMI, as well as  an introduction to state-of-the-art distributed software architectures, e.g., CORBA, Microsoft .net, and J2EE (EJB) Application Servers. The course programming assignments are in Java/C/C++. Credits: 3


Course Information

Instructor Teaching Assistants Class lectures
Associate Professor
Csaba Andras Moritz
Dept of Electrical and Computer Eng,
Knowles Building, room 309H
Raksit Ashok Saurabh Chedda
Section Number Meeting Times Building Room Number
1 383681 TUTH 2.30-3.45 MRST 132 Search OIT's Campus Directory
Phone: (413) 545 2442
mailto:Professor Moritz
Office Hours: TTh 4:15-5:15 pm,
Room 309H/Knowles, or by appointment
Office hours: Mo,Wedn: 2-4PM or by appointment
Location: Room 301/Knowles

Course Materials

ONLINE Handouts :


CMPSCI 187: Programming with Data Structures, and CMPSCI 201: Architecture & Assembly Language, or ECE232 or equivalent, with grade of 'C' or better.
Note that what is important is that you have a good understanding of computer architecture and have solid Java/C programming skills. This is not the right course if you need to learn programming.  If you have doubts please come by to talk to me.

Requirements and Grading

You are expected to attend class regularly, read the assigned reading before class, and participate in class discussions.
Programming assignments can be done in groups of 5 students.

Late Policies

This course covers a lot of material and late assignments will seriously impact your ability to learn the next section of the course. Late programming assignments will be penalized 10\% per day, up to 4 days. Late homeworks will not be accepted (no exceptions). Please try to finish your assignments and homeworks on time.

Cooperation and Cheating

Feel free to discuss homework and labs with other members of the class, myself, or the TA. However, do not look at or copy another students solution to a homework or lab. I am not concerned with how you come to understand the problem and how to solve it, but once you have the background necessary to solve it, you must provide your own solution. Exchanging homework or lab solutions is cheating and will be reported to the University, and you will lose credit for the course. Cheating will not be tolerated. A student found cheating on an exam will receive an automatic grade of F on the exam, and likely will fail the course as well.


ECE ACADEMIC HONESTY POLICY A new Honor Code Policy is being instituted for all ECE students, the result of a joint initiative between students in Eta Kappa Nu (the ECE student honor society) and the Faculty of the ECE Department. The purpose of this policy is to emphasize engineering ethics as an important part of your education and career, and to enhance the value of your ECE degree from UMass. Simply put, the policy requires that each ECE student demonstrate high ethical standards by attesting to personal honesty and integrity for each examination taken. The policy fits within the framework of the existing Academic Honesty Policy of the University, and is similar to that used by other universities.

On the last page of your midterm exams and final exam, you will be expected to write out and sign your name to the Honor Code Pledge:

"On my honor, I have not given nor received aid on this exam."

This statement reflects your personal commitment to honesty and ethical practice in the taking of an exam. If you have not written and signed this, you will be contacted by the instructor.

Cheating will not be tolerated. A student found cheating on an exam will receive an automatic grade of F on the exam, and likely will fail the course as well.


Csaba Andras Moritz

Last modified: Wed Jan 05 10:57:39 EDT 2002