Department of Computer Science 


CS 4410/4411: Spring 2009

Systems Programming and Operating Systems

 
 
Course Details
 Home
 Overview
 Course Staff/Help
 Academic Integrity
 How to Lose in CS 4410
 
Schedule
 Lecture Notes
 CS4411 Sections
 
Assignments
 Homework
 Projects
 Exams
 
Resources
 C for Java programmers
 CVS in CSUGLab
 Suggested Readings
   
Course Description:

CS 4410/4411 covers introductory operating system design and implementation. We will cover the basics of operating systems, namely structure, concurrency, scheduling, synchronization, memory management, filesystems, security and networking. We will also discuss advanced topics such as ubiquitous computing and extensible systems. The course is open to any undergraduate who has mastered the material in CS 3410. Although we do encourage 4410 students to take 4411, it is not required.  The project will require a substantial programming effort and should only be undertaken by students who have enough time to do it justice.


CS 4411 Projects:

This is the lab course for CS 4410. Students will learn about operating systems concepts through 5 bi-weekly assignments. Concepts covered include threading, synchronization, filesystems and O/S services. Students taking this course will need to gain familiarity with the C programming language and reach a level of proficiency with C's memory management functions.