ࡱ> `_$(O/ 00DTimes New Romantt4 0DWingdingsRomantt4 0 DArialngsRomantt4 00DSymbolgsRomantt4 0 D .  @n?l-_   `Xx_       0AA@x g4^d^d\D 0\ppp@ <4@k 0t4g4;d;dXp 0(p@ ppʚ;ʚ;<4dddd@l 0@0___PPT10 ___PPT9l/ 0P?  %O  =!VExokernel: An Operating System Architecture for Application-Level Resource Management WlW  D.R. Engler, F. Kaashoek and J. O'Toole, Exokernel: An Operating System Architecture for Application-Level Resource Management, In Proc. of the 15th ACM Symposium on Operating System Principles, Dec. 1995. Presenter: John Otto]OutlinerOverview Why Ultrix? Motivation Design Goals Exokernel / Aegis App Level Library OS / ExOS Related Work DiscussionOverviewExokernel (Aegis): barebones system resource management Application level library operating system (ExOS): implement customized higher level OS functions Emphasis on increased virtual memory and IPC performance in comparison to Ultrix Why Ultrix?jUltrix and Aegis both developed for and run on DEC platform Ultrix implements System V IPC good for comparative performance tests BSD-based systems tend to be more research-oriented MotivationgCore abstractions: e.g. files, processes Core abstractions can make development of certain applications difficult: Hiding knowledge/implementation of the hardware Example: LRU page replacement with database Ongoing issue: Current core abstractions are so heavily relied upon that it's difficult for new ideas or abstractions to gain a foothold in popular OSesLs\s\  Design GoalsVGoal: securely manage resources Methods: Expose hardware names and information to application, allowing  informed application resource management Event system for application notification Enforce access to system resources Use Secure Binding to give exclusive control of resources to an application&)) Exokernel / Aegis"lYMWRevocation Comparison Claims and Costs Exceptions Supporting Application Virtual Memory  Revocation invisible : no OS communication with application; it is likely unaware of the loss of resources unaware when resources are scarce  visible : dialogue between exokernel and application 1: Request to application:  asking nicely 2: Imperative to application:  demand 3: Abort Protocol Repossession Exception passed to application`a"6d-a"6d-  Comparison Claims and CostsJArgument: fair comparison between Aegis and Ultrix Ultrix has the advantage with larger cache, more tuned OS Typical result: Aegis is at least an order of magnitude faster than Ultrix Doubts: While Aegis is faster without any high-level OS extensions, will this improved performance be paralleled in higher-level OS functionality?63:3:   Exceptions1: Application's exception handling code is invoked 2: After handling the exception, application continues to run Comparison to Explicit Checks Require portable, correct compiler Not as efficient as Aegis's simple exceptions&QQ %Supporting Application Virtual MemorydVirtual Memory Address Space  Sectors 1: Application data 2: Exception handling code Exception handling sector can be pinned down, or Aegis can handle a cache miss Prevents application's access of exception code from generating yet another exception from cache miss Software TLB used as second level cache`'/Of('/Of( App Level Library OS / ExOStIPC pipe: send message between processes; yield call used to transfer control shmem: increment counters in shared memory lrpc: remote procedure call Note: Ultrix couldn't perform many of these tests by the same mechanism Virtual Memory Current implementation limitations: No swapping Page tables as linear vector Tuning, improved implementation should increase performance$)<&$)<  Related WorkTComparison to VM/370 OS VM/370 implements an entire virtual machine Costly and inefficient Exokernel only implements hardware interface Gives direct control of hardware to applications Simple and efficient Cache Kernel Focuses on reliability, not efficiency Still mostly qualifies as an  exokernel ,-F P,-F P Discussion / Questions+Virtual Machines vs. Exokernels Optimizing app level OS libraries for a particular application; conflicting goals? Exokernel focus on customizability? How important is the improved performance? Given variability of hardware, is the exokernel idea feasible? What is the target audience of exokernels?/     P  0` ̙33` ` ff3333f` 333MMM` f` f` 3n?+-],333?l-YM]D -K kl-0-K@l-P v?" dd   " @ `@n?l-_  P!_l-_ _ l-_ _   `4p5" dd5 dd 5" dd@5 dd`5dd5" dd5 dd 5" dd@5 dd`5dd E=(  d"  <G"""????  H ^y  W#Click to edit the title text format$ $  B8 ,  Click to edit the outline text format Second Outline Level Third Outline Level Fourth Outline Level Fifth Outline Level Sixth Outline Level Seventh Outline Level Eighth Outline Level Ninth Outline Level&g X"  0G\r?sCX"  0G\r?sX"  0G\r?s#z  BL ?v Northwestern University 2007 Winter  EECS 443 Advanced Operating SystemsJ]J6 X  x @`H  0EA)?rs ? ̙33 Default Design 0  (    H ;^   0   B̫    0 <  c $rs= ? ̙3380___PPT10.:X*T  0L0 % vn0 (      Za ?^z   H4 X  x @   Zn ?,  F2 X  x @<  c $?rs ? ̙33ZR___PPT102.]0G+D' = @B D' = @BA?%,( < +O%,( < ++R  0L0 % tl@(     Zܞ ?^z   F2 X  x @   Z. ?,  F2 X  x @<  c $?rs ? ̙33ZR___PPT102.]0G+D' = @B D' = @BA?%,( < +O%,( < ++R  0L0 % tlP(     Z ?^z   F2 X  x @   Z ?,  F2 X  x @<  c $?rs ? ̙33ZR___PPT102.]0G+D' = @B D' = @BA?%,( < +O%,( < ++R  0L0 % tl`(     Z I ?^z   F2 X  x @   ZI ?,  F2 X  x @<  c $?rs ? ̙33ZR___PPT102.]0G+D' = @B D' = @BA?%,( < +O%,( < ++R  0L0 % tlp(     Zt&I ?^z   F2 X  x @   Z ?,  F2 X  x @<  c $?rs ? ̙33ZR___PPT102.]0G+D' = @B D' = @BA?%,( < +O%,( < ++R  0L0 % tl (      Z?@ABCDEGHIJKLMNPQRSTUVXYZ[\]^aRoot EntrydO)Current UserWSummaryInformation(FPowerPoint Document(DocumentSummaryInformation8O