* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download PPT - Surendar Chandra
Survey
Document related concepts
Process management (computing) wikipedia , lookup
Burroughs MCP wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Mobile operating system wikipedia , lookup
Spring (operating system) wikipedia , lookup
Library (computing) wikipedia , lookup
Copland (operating system) wikipedia , lookup
Distributed operating system wikipedia , lookup
Unix security wikipedia , lookup
Transcript
CSE 60641: Operating Systems - Exokernel: an operating system architecture for application-level resource management. Dawson R. Engler, M. Frans Kaashoek, and James O'Toole Jr, SOSP '95 - Introduces a new kernel which outsources policy *and* some mechanisms to applications - Applications are made up of OS libraries (that interact with a non-portable exokernel). OS does not trust OS libraries. Hence, applications can trust the application libraries. 23-May-17 CSE 60641: Operating Systems 1 OS structure • Monolithic kernel • Microkernel • Exokernel • Question: What is the problem being solved here? – Why do applications want to control the interface? 5/23/2017 CSE 60641: Operating Systems 2 Traditional OS • Traditional Operating Systems manage lower level details and perform resource allocation. They are designed to be portable. Hence, they define interfaces (e.g. system calls). Abstractions add overhead and so the OS is general purpose but not optimized for a specific scenario – Data bases - need access to hard drive – Movie player – need access to display, DVD drive, CPU – Games – need access to CPU, display • Standard interfaces are good for general purpose – Games/database … developers work closely with OS developer to create custom tuned versions 5/23/2017 CSE 60641: Operating Systems 3 Exokernel • OS provides – secure binding of resources – only the OS can assign resources, h/w enforces that you do not access what you should have access to • What about page tables? • What about filter code to separate network packets? • Can you use network interface as a IPV4 & IPV6 host? – Can two libraries use the h/w in mutually incompatible ways? – Visible resource revocation • Work with the library for TLB miss notification, page fault etc. • Forcefully react to libraries that do not respond fast – Abort protocol 5/23/2017 CSE 60641: Operating Systems 4 Exokernel • What is the tradeoff? – Benefits – Overhead? • How does this compare to – – – – Unstructured OS like DOS Embedded systems VM VM with heavy hardware assist 5/23/2017 CSE 60641: Operating Systems 5 Role of people on OS development • Hardware developers (Intel) • OS developers (MS, Apple, Linus et al.) • Application developers (You, EA) • What role does each play in: – Monolithic kernel – Microkernel – Exokernel • For a given application, which approach is better – Given a choice, which one would you choose? 5/23/2017 CSE 60641: Operating Systems 6 Deployability of OS research ideas • The authors argue that many of the OS research topics (that we will cover later in the semester) are never deployed. We haven’t seen exokernels in general purpose OS’s either. – Which is more deployable, monolithic, microkernel, exokernel? – What about portability? 5/23/2017 CSE 60641: Operating Systems 7 Performance • Which abstraction do you expect will give good performance: monolithic kernel, micro kernel, exokernel? – For null benchmarks – For SPEC benchmarks – For your applications • Note the parallels between these and RISC/CISC 5/23/2017 CSE 60641: Operating Systems 8 Safety? • What about the safety primitives provided by the OS for the entire user. How do these react? – Safety for user means that others code should not affect them and their own code should fail gracefully, if at all 5/23/2017 CSE 60641: Operating Systems 9 Future • How would exokernels behave with multicore? • Browser based OS? – MS Singularity – Google Gears (local storage) + Chromium (to execute rendering code) + Google cloud (remote services)? 5/23/2017 CSE 60641: Operating Systems 10