Exokernel An Operating System Architecture for Application-Level - - PowerPoint PPT Presentation

exokernel
SMART_READER_LITE
LIVE PREVIEW

Exokernel An Operating System Architecture for Application-Level - - PowerPoint PPT Presentation

CS533 Concepts of Operating Systems Jonathan Walpole Exokernel An Operating System Architecture for Application-Level Resource Management Operating Systems Purpose Users dont want to run an OS They want to run applications We should


slide-1
SLIDE 1

CS533 Concepts of Operating Systems

Jonathan Walpole

slide-2
SLIDE 2

Exokernel

An Operating System Architecture for Application-Level Resource Management

slide-3
SLIDE 3

Operating Systems Purpose

Users don’t want to run an OS They want to run applications We should design OS kernels with application needs in mind

slide-4
SLIDE 4

What Do Applications Need?

Protection from other applications Services Access to hardware that may require privilege

slide-5
SLIDE 5

How Good Is The OS?

How are services provided? How fast are the services? How well do they match application needs?

slide-6
SLIDE 6

What’s Wrong With Monolithic OS?

All services built into the kernel No internal protection boundaries Internal operation is fast, but system calls are quite expensive One size fits all services Abstractions may not be suitable, and they impair efficiency

slide-7
SLIDE 7

What’s Wrong With Microkernels?

Minimal kernel is good Lower-level abstractions are an improvement Extensibility is good Potential for protection and fault isolation Boundary crossing via IPC is expensive Minimal abstraction is an oxymoron

slide-8
SLIDE 8

Exokernel

Secure hardware multiplexor Expose hardware, don’t abstract it Don’t virtualize it either! Kernel validates access The rest of the OS is in a library

slide-9
SLIDE 9

Resource Allocation

Library OS requests specific resources Page frames, disk blocks, time slices … Exokernel exposes resource names No hidden allocation (no virtualization) All mechanism, no policy

slide-10
SLIDE 10

Visible Revocation

Exokernel asks for resources to be returned i.e. free a page Library OS chooses what to free Revocation is forced if library OS is not responsive

slide-11
SLIDE 11

Multiplexed Hardware

CPU Interrupts Memory DMA Disk Network

slide-12
SLIDE 12

CPU

Resource: linear time vector Mechanism: expose timer interrupts Granularity: time slices Library OS reserves future time slices Context switching implemented by library OS Similar to scheduler activations

slide-13
SLIDE 13

Physical Memory

Resource: linear physical memory Mechanism: safely expose TLB & page tables Library OS requests pages Exokernel validates access

slide-14
SLIDE 14

Network

Resource: incoming data stream Mechanism: packet filter Filters compiled into machine code by exokernel Filters safely colocated with the Exokernel

slide-15
SLIDE 15

Protected Control Transfer

Client transfers control to predefined server entry point Client donates scheduling time slice That’s it! … only 30 instructions Exokernel provides the minimal mechanism Could build RPC, IPC, on top of this … or not

slide-16
SLIDE 16

Library Operating Systems

Reside in application address space Use exokernel interfaces Exokernel invocation takes 18 instructions Invocation of library OS from applications is a procedure call OS specifically tuned for application needs

slide-17
SLIDE 17

Conclusion

Don’t abstract or virtualize, its inefficient! Just provide secure hardware multiplexing Expose physical resources Expose names, allocation and revocation OS should provide minimal mechanism, not policy