Download PPT - Surendar Chandra

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

OS/2 wikipedia , lookup

DNIX wikipedia , lookup

RSTS/E wikipedia , lookup

Process management (computing) wikipedia , lookup

Burroughs MCP wikipedia , lookup

Berkeley Software Distribution wikipedia , lookup

VS/9 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

CP/M wikipedia , lookup

Distributed operating system wikipedia , lookup

Unix security wikipedia , lookup

Security-focused operating system wikipedia , lookup

Kernel (operating system) 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