Mathematics, Computer Science, and Statistics
Bloomsburg University

Concurrent Programming and Foundations of Operating Systems

Spring 2012
TR 2:00-3:15 in Navy 220

Professor: Drue Coles
Email: dcoles@bloomu.edu
Office: 235 Ben Franklin Hall
Phone: 389-4626
Office Hours: MW 1:30-3:00 and TR 1:00-2:00

Text: Operating System Concepts with Java, 8e, Silberschatz et al., Wiley, 2009.

Prerequisites: Embedded Systems Languages and Data Structures using C++.

Overview.   It would be practically impossible for most people to use a computer if they first had to understand the low-level details of the underlying hardware. The operating system is an interface that hides those details from the user and provides a high-level view of the hardware to user applications. It is also a resource allocator: the concurrently executing threads and processes in a modern system have conflicting needs for use of the CPU, main memory, disk, files, and other resources. The operating system serves as a mediator, resolving these conflicts as fairly and efficiently as possible. This course examines the foundations of modern operating systems and provides practical experience in the implementation of multithreaded applications and algorithms for CPU scheduling, process synchronization, deadlock avoidance, and more.

Outcomes.   Upon completion of the course, you will:

We will discuss some features and design decisions of the Android operating system. In fact, this course will dovetail nicely with our new Android-based course on Mobile Device Application Development to be offered in the fall.


Home   |   Topics   |   Policies   |   Reasons to Major in CS   |   Career Paths

Valid HTML 4.01! Valid CSS!