Computer Science 570
Operating Systems

Last updated: 8/17/2019

Here is a downloadable assignment containing directions for the C program which you MUST successfully complete during the first week of class, or else you will be DISENROLLED from the course.

Here is a downloadable text file containing some links and hints pertaining to Accessing Edoras, including tutorials and software.

Here is a downloadable text file containing some lecture notes pertaining to Chapter 1. [Print this if you need a little more time to get the Lecture notes from Cal Copy (see below).]

Syllabus Information:

Text:
Modern Operating Systems, Andrew S. Tannenbaum (Third Edition -- the [MUCH cheaper] Second Edition is marginally acceptable, and the far pricier Fourth Edition [ISBN 0133-59162-X] is not worth the extra money, since the "improvements" are utterly trivial.) For the third edition, enter ISBN 0-13-600663-9 at addall.com, or just go there directly by clicking the middle mouse button here.
Notes:
A collection of lecture notes (keyed to both the 3rd and 4th editions), annotated programs and diagrams presented in class.
(available at Cal Copy, 5187 College Ave, 619-582-9949)

Course Content:
File Systems, Processes and Threads, Process Scheduling and IPC, Memory Management and Virtual Memory, Deadlocks, I/O Devices, File Systems, Concurrency Issues and Security

Prerequisites:
Knowledge of the C programming language, CS310 (Data Structures) and CS370 (Computer Architecture). You must know the material in these courses, or you will be lost.

Grading:
Assignments will comprise 30% of your grade, the final will be worth 45%, and the midterm will account for 25% of your grade.
https://registrar.sdsu.edu/calendars/final_exam_schedule/fall_2019_final_exam_schedule says that our final is scheduled for Thursday, December 12 (2019) from 10:30am to 12:30pm.

Policies:
Homework and programming assignments are intended to help you learn. Talking over your ideas and problems with other people in the class is very helpful. You may discuss ideas, but you must do your own work and write up your own solutions and programs. In particular, you may NOT work on an assignment (or a program) as a team.

Using another person's work is cheating. Copying a program from a book is plagiarism, just like copying from a paper for a humanities class, unless you give an appropriate citation. If you are in doubt about where the border line is for our assignments, ASK ME. It should go without saying (but past experience suggests saying it) that copying on exams, homework, or other forms of cheating will be dealt with severely. Automatic failure of the course is guaranteed in such cases, and sanctions can include expulsion from the university. If an assignment is copied (or developed as a team), BOTH parties will fail the course (so, if someone asks to copy your work, point them at this paragraph :-)

Written assignments are due at the BEGINNING of class on the day specified on the assignment. Programming assignments will be collected electronically. To maintain fairness and uniformity of grading, I cannot accept late assignments. Similarly, there will be no make-up exams. In unusual circumstances (to be determined by me), you might be allowed to take an oral makeup at the end of the semester. If you know in advance that you will miss an exam, see me about it in advance. Note the date of our final exam now; don't make plans that conflict with the final. Note in particular that the university policy described in the final exam scheduled linked above prohibits taking the final early.

Obligatory "Student Learning Outcomes" statement:
1. Understand the role of operating systems as resource managers for computer hardware and describe the fundamental structure and design of these systems.
2. Implement, apply and/or evaluate algorithms associated with resource management such as coordinated access to shared memory buffers, protection of user and system data, and ensuring system stability.
3. Develop more complex programs in C or C++ by applying advanced techniques such as making function calls through variables pointing to functions.
4. Comprehend and reflect on the impact of computer software on the health and well-being of society through discussion of system-critical applications and the need for more comprehensive testing (e.g. fly by wire aviation systems, pace-makers).
5. Engage in operating systems design projects.

Obligatory "Accommodating students with disabilities" statement:
If you are a student with a disability and believe you will need accommodations for this class, it is your responsibility to contact Student Disability Services at (619) 594-6473. To avoid any delay in the receipt of your accommodations, you should contact Student Disability Services as soon as possible. Please note that accommodations are not retroactive, and that accommodations based upon disability cannot be provided until you have presented your instructor with an accommodation letter from Student Disability Services. Your cooperation is appreciated.



Home | CS570/No Frames