CS 441 Operating Systems

An introduction to operating systems. Topics include how operating systems are used to implement functions such as process management, memory management, file management, and I/O management. A portion of the course is devoted to shell programming in a Linux environment. Also included are system utilities, system administration and system security.  Prerequisite: a minimum of 21 semester hours completed in computing science and CS 240 or equivalent with a minimum grade of “C”.  Only offered in the Fall.

Upon completion of this course student should be able to:

1. Be familiar with computer hardware and software fundamentals.
2. Explain how operating systems are installed and customized and how they boot.
3. Describe the various features of processes, including scheduling, creation and termination, and communication.
4. Understand different multithreading models and multithreaded programming.
5. Understand the critical-section problem and provide software/hardware solutions.
6. Describe various CPU-scheduling algorithms.
7. Discuss various memory-management techniques, including paging and segmentation.
8. Explain the concepts of demand paging, page-replacement algorithms, and allocation of page frames.
9. Describe the various countermeasures to OS security attacks using cryptography.

Credits

3