Develops an understanding of operating systems and operating systems research at both a conceptual level and from an engineering perspective. Fundamental design principles, culled primarily from the research literature, motivate an analysis of previous and current systems. This analysis is further validated through empirical investigation.