What are the responsibilities of an operating system? Draw a mind map (a diagram that organizes information) that describes these responsibilities and the issues that arise as an OS attempts to deal with them. Note: We related this discussion to this map of OS code: http://www.makelinux.com/kernel_map/poster It let us discuss (1) the various major components in an operating system, (2) ways of structuring and operating system, and (3) design goals we must consider when implementing an operating system. We also raised the issue of trade-offs and the idea of mechanisms and policy. ------------------------------ Algorithms (CSC263), complexity (CSC236), languages (CSC324), compilers (CSC488), computer organization (CSC258) and architecture (CSC...I wish), networks (CSC358), databases (CSC343), and operating systems (CSC369) are domains within computer science, and all of them are related. Draw a mind map that describes how these domains (courses) relate to each other, with operating systems being the focus. ------------------------------ Remember the memory model from systems programming (CSC209) or computer organization (CSC258)? Draw a representation of a programmer's view of memory. Label each section of the diagram with a purpose. Note which sections should be protected in some way. Note: Our version of the memory model is a bit more complicated, because we need to consider what space the operating system uses -- and "where" that space resides. We considered the case where multiple programs are running at once to see why extra kernel space is needed.