|This course will provide a broad introduction to
software systems with emphasis on operating system design and
implementation. Its objective is to introduce the design of systems
software in general, beyond what is typical in a
classic desktop-oriented operating system. Main focus of the course is on resource
management and interfacing issues with hardware (microarchitecture) layers. The OS provides a
and efficient interface between user programs and the
microarchitecture of the computer/device on which it runs. It is responsible for
allowing resources (e.g., disks, network connections, memory, 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 for protecting individual
programs from one another.
Particular emphasis will be given to (1) process and thread management (processes, threads, CPU scheduling, synchronization, and deadlock), (2) virtual memory management (segmentation, paging, swapping, caching) with focus on the interplay between architectural components and software layers in modern microprocessors, and (3) 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.
The course programming assignments are in Java/C. Credits: 3
|Instructor||Teaching Assistants||Class lectures|
Csaba Andras Moritz
Dept of Electrical and Computer Eng,
Knowles Building, room 309H
|PhD candidate, Yao Guo||
|Phone: (413) 545 2442
Email: mailto:Professor Moritz
|Office Hours: TTh noon-1:25 pm,
Room 309H/Knowles, or by appointment
|Office hours: MW 3-5PM
Location: Knowles 201
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.
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 at most 3 students. Each assignment will be checked either by the TA or the instructor and requires the participation of team members. Sign-up sheets will be available- please check the TA's office.
The homeworks will not have to be handed in (you can still hand them in if you want them graded). Solutions for homeworks will be available online. Each exam will include at least one question closely related to homework questions to motivate students working on them in a timely manner. The value of homeworks is effectively at least 20% of the exam value. Pop Quizzes will be largely from the homework questions.
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 accepted for three days, but each additional day would result in a 20% grade reduction. For medical and other emergencies please contact the instructor. Please try to finish your assignments on time.
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.