The objective of this course is to understand the broad range of issues that underlie modern Operating Systems. We focus on key concepts and algorithms that are used in both commercial and open-source operating systems. This course will cover the following broad areas:
• Basic operating system terminology.
• Processes and thread management.
• Scheduling algorithms
• Memory management concepts.
• Interprocess communication.
• Deadlocks and resource management
• File System and storage architecture.
• Symmetric multiprocessing.
We will be covering virtualization as well. Virtual machines are used heavily in data centers and provide excellent properties such as isolation, consolidation, and support for legacy applications. We will look at Type-1 and Type-2 hypervisors.
CS 155 (with a C [2.0] or better); CS 156 (with a C [2.0] or better); ECE 251 (with a C [2.0] or better) or CS 165 (with a C [2.0] or better); CS 220 (with a C [2.0] or better); CS 253 (with a C [2.0] or better) or CS 270 (with a C [2.0] or better).
View Syllabus Online
Dr. Pallickara is a Professor in the Department of Computer Science at Colorado State University. He does research in distributed systems and predictive analytics with a focus on using machine learning, probabilistic, ensemble, and statistical techniques to address scaling, autonomy, forecasting, and tractability issues.
Agencies in the United States and United Kingdom have funded his research. He is a recipient of the National Science Foundation's CAREER award and funded through the Department of Homeland Security's Long Range program. Other sponsors include the Environmental Protection Agency, Department of Agriculture, and the U.K's e-Science program.
His research has been harnessed in domains such as healthcare, epidemiological modeling, brain computer interfaces, agriculture, earthquake science, high-energy physics, environmental and ecological monitoring, defense applications, geosciences, GIS, and commercial internet conferencing systems.