4.00 Credits
A study of operating systems concepts and interfaces, with a special emphasis throughout the course on the concept of abstraction and separating mechanism from policy as a design technique. Topics include UNIX shells and common commands, writing shell scripts, important system calls, performance benchmarking, OS impact on program design and performance, processes, multiprogramming, multiprocessing, threading, scheduling, process isolation, inter-process communication, mutual exclusion, deadlock detection and avoidance, file system design, permissions and protections, and RAID. At the end of the course, students will be able to describe the importance of abstraction as a design pattern, and use it to explain the organization of OS components, interact with the UNIX shell and write shell scripts, and write programs using important system interfaces, understand the performance impact of making system calls, and independently find sources to guide their future development.
Prerequisite:
CMPE 220 FOR LEVEL U WITH MIN. GRADE OF C OR CSC 220 FOR LEVEL U WITH MIN. GRADE OF C