Computer Science 345. Operating Systems
Operating systems are the software core of computers. This most fundamental of all system programs controls all of the computer’s resources and provides the base upon which all application programs are written. The course introduces the theoretical structure of current computer operating systems, including batch, multiprogramming and multiprocessor systems. Specific strategies for input-output, interrupt handling, file management and concurrency are discussed. Practical experience is gained by writing module simulations, implementing concurrency by using threads, and altering actual operating system software. Parallel computing algorithms and techniques are further emphasized to give students experience in how to take advantage of today’s multi-core processors.