Tackling OS Complexity with Declarative Techniques

Total Page:16

File Type:pdf, Size:1020Kb

Tackling OS Complexity with Declarative Techniques Research Collection Doctoral Thesis Tackling OS Complexity with Declarative Techniques Author(s): Schüpbach, Adrian L. Publication Date: 2012 Permanent Link: https://doi.org/10.3929/ethz-a-009784524 Rights / License: In Copyright - Non-Commercial Use Permitted This page was generated automatically upon download from the ETH Zurich Research Collection. For more information please consult the Terms of use. ETH Library DISS. ETH NO. 20930 TACKLING OS COMPLEXITY WITH DECLARATIVE TECHNIQUES A dissertation submitted to ETH ZURICH for the degree of Doctor of Sciences presented by ADRIAN LAURENT SCHÜPBACH Master of Science ETH in Computer Science, ETH Zurich 19. April 1981 citizen of Landiswil, BE accepted on the recommendation of Prof. Dr. Timothy Roscoe Prof. Dr. Gustavo Alonso Prof. Dr. Hermann Härtig 2012 ii Kurzfassung Diese Dissertation zeigt, dass die erhohte¨ Betriebssystemkomplexitat,¨ die durch die Notwendigkeit entsteht, sich an eine grosse Anzahl unterschied- licher Rechnersysteme anzupassen, mittels deklarativer Techniken signifi- kant reduziert werden kann. Moderne Hardware ist zunehmend unterschiedlich und komplex. Es ist wahrscheinlich, dass sich diese Entwicklung in Zukunft fortsetzt. Diese Entwicklung erschwert den Betriebssystembau. Betriebssysteme mussen¨ sich der Rechnerarchitektur optimal anpassen. Sie mussen¨ den gesamten Funktionsumfang des Rechners ausschopfen,¨ um die volle Leistung des kompletten Systems zu gewahrleisten.¨ Vom Betriebssystem ungenutzte,¨ suboptimal genutzte¨ oder gar falsch genutzte¨ Rechnerfunktionalitat¨ fuhrt¨ zu geringerer Leistung des Gesamtsystems. Traditionelle Betriebssysteme passen sich durch vorgefertigte Regeln, die im ganzen Betriebssystem ver- teilt und mit der eigentlichen Betriebssystemfunktionalitat¨ vermischt sind, der Rechnerarchitektur an. In dieser Arbeit argumentiere ich, dass es aus zwei Grunden¨ nicht mehr moglich¨ ist, vorgefertigte Regeln fur¨ eine Anzahl bekannter Rech- nerarchitekturen mit der Betriebssystemfunktionalitat¨ zu vermischen. Er- stens garantieren vorgefertigte Regeln nicht, dass alle Rechnerfunktionen vollstandig¨ ausgeschopft¨ werden. Zweitens bedeutet das, dass die Regeln fur¨ jede neue Rechnerarchitektur angepasst werden mussen,¨ wobei die Re- geln fur¨ bisherige Rechnerarchitekturen beibehalten werden mussen.¨ Dies fuhrt¨ zu erheblicher Betriebssystemkomplexitat¨ und schliesslich zu einem enormen Anpassungsaufwand. Um dies zu vermeiden, muss das Betriebs- iii iv KURZFASSUNG system wahrend¨ der Laufzeit Wissen uber¨ die Rechnerarchitektur aufbau- en und daraus, durch logische Schlussfolgerungen, die bestmoglichen¨ An- passungsregeln ableiten. Dies fuhrt¨ zu einfacheren, verstandlicheren,¨ pfle- geleichteren und leichter anpassbaren Betriebssystemfunktionen und stellt sicher, dass die Rechnerfunktionalitat¨ vollstandig¨ ausgeschopft¨ wird. Der Wissensaufbau und das Ableiten von Anpassungsregeln durch lo- gische Schlussfolgerungen sind mit hoher Programmierkomplexitat¨ ver- bunden. Dies gilt insbesondere, wenn dafur¨ maschinennahe Programmier- sprachen, wie zum Beispiel C, verwendet werden. Deklarative Techniken erlauben hingegen, angestrebte Regeln durch eine einfache und verstand-¨ liche Beschreibung der gewunschten¨ Art der Anpassung, basierend auf Wissen uber¨ die Rechnerarchitektur, abzuleiten. Durch die naturliche¨ Be- schreibung in hoheren¨ Programmiersprachen wird die Programmierkom- plexitat¨ stark verringert. Um den Vorteil deklarativer Techniken im Zusammenhang mit Kom- plexitat¨ und Anpassungsfahigkeit¨ in Betriebssystemen zu beweisen, stelle ich in dieser Dissertation verschiedene Fallstudien vor, die, basierend auf deklarativen Techniken, Regeln fur¨ die Anpassung an die Rechnerarchi- tektur, mittels logischer Schlussfolgerungen, ableiten. Die Fallstudien set- zen kein Wissen uber¨ die Rechnerarchitektur voraus, sondern eignen sich dies wahrend¨ der Laufzeit an. Das Wissen wird in einem zentralen Wissensdienst des Betriebssy- stems aufgebaut. Regeln werden in diesem Wissensdienst durch logische Schlussfolgerung abgeleitet. Dadurch, dass die Fallstudien, und somit die verschiedenen Betriebssystemkomponenten, diesen Wissensdienst benutzen¨ konnen,¨ wird ihre Komplexitat¨ nochmals deutlich verringert. Es ist somit nicht notig,¨ dass sich jede einzelne Betriebssystemkomponente mit der Wissensgewinnung und der Ableitung von Regeln beschaftigt.¨ Mit die- ser Implementation beweise ich die praktische Anwendbarkeit deklarati- ver Techniken in Betriebssystemen. Abstract This thesis argues that tackling the increased operating systems complex- ity with declarative techniques significantly reduces code complexity in- volved in adapting to a wide range of modern hardware. Modern hardware is increasingly diverse and complex. It is likely that this trend continues further. This trend complicates the operating system’s construction. Operating systems have to adapt to the hardware architec- ture and exploit all features to guarantee the best possible overall system performance. Not exploiting all hardware features, or using them in a sub- optimal or even wrong way, results in lower overall system performance. Traditionally, operating systems adapt to the underlying architecture by predefined policies, which are intermingled with the core operating sys- tem’s functionality. In this thesis I argue that for two reasons it is no longer possible to encode predefined policies for a set of known hardware architectures into the operating system. First, predefined policies do not automatically guar- antee that hardware features are fully exploited on all hardware platforms. Second, for this reason, predefined policies would need to be ported to many different hardware platforms, while, at the same time, it would be necessary to keep the policies suitable for older platforms. This leads to a significant complexity of operating systems and finally to a high engineer- ing effort, when porting the operating system to new hardware platforms. To avoid this problem, the operating systems must gain hardware knowl- edge at runtime and derive policies suitable for the current architecture through online reasoning about the hardware. This leads to operating sys- v vi ABSTRACT tems code that is simpler, better understandable, more maintainable and easier to port, while ensuring that the operating system exploits the hard- ware features as best as possible. Reasoning about hardware and deriving policies is a complex task. This is especially the case, if low-level languages like C are used. Instead, declarative techniques allow deriving policies through a simple description of how to adapt to the hardware based on hardware knowledge gathered at runtime. The natural description in a high-level declarative language reduces code complexity significantly. To prove the usefulness of declarative techniques in the context of adaptability of operating systems and handling of complexity, I present several case studies in this thesis. The case studies are based on declara- tive techniques. They reason about hardware and derive policies based on hardware knowledge. The case studies do not assume any a priori knowl- edge about the current hardware platform. Instead, they gain knowledge at runtime by online reasoning about the hardware. A central knowledge service stores hardware knowledge and allows the operating system and applications to derive policies according to declar- ative rules. Because the case studies, and therefore the operating system components, can use the central service, their complexity is again reduced significantly. It is not necessary, that every single component deals with knowledge gathering and deriving policies by itself. It pushes this part to the knowledge service. With this implementation I prove the practical feasibility of applying declarative techniques in real operating systems. Acknowledgments First of all, I would like to thank my advisor, Prof. Dr. Timothy Roscoe, for all his help, for interesting technical discussions and for his invaluable advises and feedback on this thesis. I would also like to thank the entire Barrelfish team for the interesting discussions and nice time. Furthermore I would like to thank Simonetta Zysset for proofreading my thesis and for giving me valuable feedback on the language. Fortunately, I had the chance of discussing problems with several mem- bers of the Systems Group, either in the office, or during lunch. The dis- cussions helped me to look at a problem from a different angle. Special thanks go to Michael Duller, Jan S. Rellermeyer, Rene´ Muller,¨ Jens Teub- ner, Louis Woods, Qin Yin, Philip Frey and Ionut Subasu. During my time at ETH I also had to do many months of “Zivildienst”, causing me a complicated time management. I would like to thank Spital Davos, especially the IT department and the Spitalleitung for their flexibil- ity and also for allowing me to go to conferences during this time. Special thanks go to Florian Steiger, Peter Driedijk, Luzius Valar,¨ Markus Hehli and Monika May. Furthermore, I would like to thank Andi Roveretto and Nadine Krattli¨ for the joyful and funny time at Spital Davos. Most importantly, I would like to thank my mother Anna, my father Laurent, my sister Letizia and my girlfriend Nadine Duivenstijn for their continuous support and motivation and for always believing in me. Finally, I would like to thank Dr. Arnold Spescha for always listening to me and for “pushing” me through the Gymnasium, which was the basic step towards this thesis. vii viii ACKNOWLEDGMENTS Contents 1 Introduction 1 1.1
Recommended publications
  • Sun Ultratm 5 Workstation Just the Facts
    Sun UltraTM 5 Workstation Just the Facts Copyrights 1999 Sun Microsystems, Inc. All Rights Reserved. Sun, Sun Microsystems, the Sun logo, Ultra, PGX, PGX24, Solaris, Sun Enterprise, SunClient, UltraComputing, Catalyst, SunPCi, OpenWindows, PGX32, VIS, Java, JDK, XGL, XIL, Java 3D, SunVTS, ShowMe, ShowMe TV, SunForum, Java WorkShop, Java Studio, AnswerBook, AnswerBook2, Sun Enterprise SyMON, Solstice, Solstice AutoClient, ShowMe How, SunCD, SunCD 2Plus, Sun StorEdge, SunButtons, SunDials, SunMicrophone, SunFDDI, SunLink, SunHSI, SunATM, SLC, ELC, IPC, IPX, SunSpectrum, JavaStation, SunSpectrum Platinum, SunSpectrum Gold, SunSpectrum Silver, SunSpectrum Bronze, SunVIP, SunSolve, and SunSolve EarlyNotifier are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. UNIX is a registered trademark in the United States and other countries, exclusively licensed through X/Open Company, Ltd. OpenGL is a registered trademark of Silicon Graphics, Inc. Display PostScript and PostScript are trademarks of Adobe Systems, Incorporated, which may be registered in certain jurisdictions. Netscape is a trademark of Netscape Communications Corporation. DLT is claimed as a trademark of Quantum Corporation in the United States and other countries. Just the Facts May 1999 Positioning The Sun UltraTM 5 Workstation Figure 1. The Ultra 5 workstation The Sun UltraTM 5 workstation is an entry-level workstation based upon the 333- and 360-MHz UltraSPARCTM-IIi processors. The Ultra 5 is Sun’s lowest-priced workstation, designed to meet the needs of price-sensitive and volume-purchase customers in the personal workstation market without sacrificing performance.
    [Show full text]
  • Ultra 80 Workstations
    Sun UltraTM 80 Workstation Just the Facts Copyrights 2001 Sun Microsystems, Inc. All Rights Reserved. Sun, Sun Microsystems, the Sun logo, Ultra, PGX, PGX32, Sun Workstation, Sun Enterprise, Starfire, Solaris, UltraComputing, VIS, Java, Java 3D, SunCD, Sun StorEdge, Solstice, Solstice AdminTools, SunVTS, Solstice Enterprise Agents, ShowMe, ShowMe How, ShowMe TV, iPlanet, SunPCi, StarOffice, Solaris Resource Manager, TurboGX, TurboGXplus, S24, OpenWindows, SunCD 2Plus, Netra, SunButtons, SunDials, Sun Quad FastEthernet, SunFDDI, SunLink, SunATM, SunVideo, SunVideo Plus, SunCamera, SunMicrophone, SunForum, SunSpectrum, SunSpectrum Platinum, SunSpectrum Gold, SunSpectrum Silver, SunSpectrum Bronze, SunStart, SunSolve, SunSolve EarlyNotifier, and SunClient are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. UNIX is a registered trademark in the United States and in other countries, exclusively licensed through X/Open Company, Ltd. OpenGL is a trademark of Silicon Graphics, Inc., which may be registered in certain jurisdictions. Netscape is a trademark of Netscape Communications Corporation. PostScript and Display PostScript are trademarks of Adobe Systems, Inc., which may be registered in certain jurisdictions. Last
    [Show full text]
  • Sunpci II 2.3 User's Guide
    SunPCi™ II 2.3 User’s Guide Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 U.S.A. 650-960-1300 Part No. 806-4787-14 January 2002, Revision A Send comments about this document to: [email protected] Copyright 2002 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303-4900 U.S.A. All rights reserved. This product or document is distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, AnswerBook2, docs.sun.com, Solaris, OpenWindows, and SunPCi are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. MetaFrame is a trademark or registered trademark of Citrix Systems, Inc. in the United States and other countries. The OPEN LOOK and Sun™ Graphical User Interface was developed by Sun Microsystems, Inc. for its users and licensees.
    [Show full text]
  • Sun Blade™ 150 Product Notes
    Sun Blade™ 150 Product Notes Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. 650-960-1300 Part Number 816-1163-10 June 2002, Revision A Send comments about this document to: [email protected] Copyright 2002 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved. Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. In particular, and without limitation, these intellectual property rights may include one or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent applications in the U.S. and in other countries. This document and the product to which it pertains are distributed under licenses restricting their use, copying, distribution, and decompilation. No part of the product or of this document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and in other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, AnswerBook2, docs.sun.com, Access1, Java, Java3D, JDK, JumpStart, Power Management, ShowMe How, ShowMe TV,Solaris, Solaris DiskSuite, StarOffice, Sun Blade, Sun Forum, Sun OpenGL, Sun PCi, Sun Service, and SunSolve Online are trademarks or registered trademarks of Sun Microsystems, Inc.
    [Show full text]
  • Sun Ultratm 25 Workstation & Sun Ultra 45 Workstation Just the Facts
    Sun UltraTM 25 Workstation & Sun Ultra 45 Workstation Just the Facts SunWIN Token# 473547 SunWIN Token# 460409 Copyrights © 2006 Sun Microsystems, Inc. All Rights Reserved. Sun, Sun Microsystems, the Sun logo, Ultra, Sun Blade, Java, Solaris, Java, NetBeans, Sun Fire, Sun StorEdge, SunLink, SunSpectrum, SunSpectrum Platinum, SunSpectrum Gold, SunSpectrum Silver, SunSpectrum Bronze, SunSolve, SunPCi, and SunVTS are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. UNIX is a registered trademark in the United States and other countries, exclusively licensed through X/Open Company, Ltd. Ultra 25/45 JTF - 12/10/07 Sun Confidential – Internal Use Only 2 Table of Contents Positioning.....................................................................................................................................................................4 Introduction...............................................................................................................................................................4 Product Family Placement .......................................................................................................................................5 Sun Ultra 45 vs Sun Ultra 25 Workstation...............................................................................................................5
    [Show full text]
  • Sun Blade 1000 and 2000 Workstations
    Sun BladeTM 1000 and 2000 Workstations Just the Facts Copyrights 2002 Sun Microsystems, Inc. All Rights Reserved. Sun, Sun Microsystems, the Sun logo, Sun Blade, PGX, Solaris, Ultra, Sun Enterprise, Starfire, SunPCi, Forte, VIS, XGL, XIL, Java, Java 3D, SunVideo, SunVideo Plus, Sun StorEdge, SunMicrophone, SunVTS, Solstice, Solstice AdminTools, Solstice Enterprise Agents, ShowMe, ShowMe How, ShowMe TV, Sun Workstation, StarOffice, iPlanet, Solaris Resource Manager, Java 2D, OpenWindows, SunCD, Sun Quad FastEthernet, SunFDDI, SunATM, SunCamera, SunForum, PGX32, SunSpectrum, SunSpectrum Platinum, SunSpectrum Gold, SunSpectrum Silver, SunSpectrum Bronze, SunSolve, SunSolve EarlyNotifier, and SunClient are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. UNIX is a registered trademark in the United States and in other countries, exclusively licensed through X/Open Company, Ltd. FireWire is a registered trademark of Apple Computer, Inc., used under license. OpenGL is a trademark of Silicon Graphics, Inc., which may be registered in certain jurisdictions. Netscape is a trademark of Netscape Communications Corporation. PostScript and Display PostScript are trademarks of Adobe Systems, Inc., which may be registered in
    [Show full text]
  • Sunpci III 3.2.2 Product Notes
    SunPCi™ III 3.2.2 Product Notes Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. 650-960-1300 Part No. 817-3631-12 September 2004, Revision A Submit comments about this document at: http://www.sun.com/hwdocs/feedback Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved. Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. In particular, and without limitation, these intellectual property rights may include one or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent applications in the U.S. and in other countries. This document and the product to which it pertains are distributed under licenses restricting their use, copying, distribution, and decompilation. No part of the product or of this document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and in other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, AnswerBook2, docs.sun.com, SunPCi, OpenBoot, Sun Blade, Sun Ray, Sun Enterprise, SunSolve, Access1, and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S.
    [Show full text]
  • Sun Blade 150 Workstation System Configuration
    Sun BladeTM 150 Refresh Workstation Just the Facts Copyrights ©2004 Sun Microsystems, Inc. All Rights Reserved. Sun, Sun Microsystems, the Sun logo, Sun Blade, Solaris, StarOffice, Ultra, Java, Java 3D, iPlanet, OpenWindows, PGX24, PGX32, VIS, SunPCi, Sun Workstation, Solaris Resource Manager, Solstice, Solstice AutoClient, SunVTS, ShowMe, ShowMe TV, ShowMe How, AnswerBook, AnswerBook2, Sun OpenGL for Solaris, Sun StorEdge, SunMicrophone, SunATM, SunClient, SunSpectrum, SunSpectrum Platinum, SunSpectrum Gold, SunSpectrum Silver, SunSpectrum Bronze, and SunSolve are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. UNIX is a registered trademark in the United States and other countries, exclusively licensed through X/Open Company, Ltd. FireWire is a trademark of Apple Computer, Inc., used under license. OpenGL is a registered trademark of Silicon Graphics, Inc. Display PostScript and PostScript are trademarks of Adobe Systems, Incorporated, which may be registered in certain jurisdictions. Netscape is a trademark of Netscape Communications Corporation. All respective trademarks are the property of their respective owners. Last update: 03/17/2004 Just the Facts December 2003 2 Table of Contents Positioning....................................................................................................................................................................5.
    [Show full text]
  • Sunpci II™ 2.3.2 Product Notes
    SunPCi II™ 2.3.2 Product Notes Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. 650-960-1300 Part No. 806-4789-17 September 2002, Revision A Send comments about this document to: [email protected] Copyright 2002 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved. Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. In particular, and without limitation, these intellectual property rights may include one or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent applications in the U.S. and in other countries. This document and the product to which it pertains are distributed under licenses restricting their use, copying, distribution, and decompilation. No part of the product or of this document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and in other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, AnswerBook2, docs.sun.com, SunPCi, OpenBoot, Sun Blade, Sun Enterprise, and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and in other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc.
    [Show full text]
  • Sunpci III 3.2.1 User's Guide
    SunPCi™ III 3.2.1 User’s Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. 650-960-1300 Part No. 817-3630-11 March 2004, Revision A Submit comments about this document at: http://www.sun.com/hwdocs/feedback Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved. Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. In particular, and without limitation, these intellectual property rights may include one or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent applications in the U.S. and in other countries. This document and the product to which it pertains are distributed under licenses restricting their use, copying, distribution, and decompilation. No part of the product or of this document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and in other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, AnswerBook2, docs.sun.com, SunPCi, OpenBoot, Sun Blade, Sun Ray, Sun Enterprise, SunSolve, Access1, and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S.
    [Show full text]
  • Interpretational Overhead in System Software
    UCAM-CL-TR-797 Technical Report ISSN 1476-2986 Number 797 Computer Laboratory Interpretational overhead in system software Boris Feigin April 2011 15 JJ Thomson Avenue Cambridge CB3 0FD United Kingdom phone +44 1223 763500 http://www.cl.cam.ac.uk/ c 2011 Boris Feigin This technical report is based on a dissertation submitted September 2010 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Homerton College. Technical reports published by the University of Cambridge Computer Laboratory are freely available via the Internet: http://www.cl.cam.ac.uk/techreports/ ISSN 1476-2986 Abstract Interpreting a program carries a runtime penalty: the interpretational overhead. Tradi- tionally, a compiler removes interpretational overhead by sacrificing inessential details of program execution. However, a broad class of system software is based on non-standard interpretation of machine code or a higher-level language. For example, virtual ma- chine monitors emulate privileged instructions; program instrumentation is used to build dynamic call graphs by intercepting function calls and returns; and dynamic software updating technology allows program code to be altered at runtime. Many of these frame- works are performance-sensitive and several efficiency requirements|both formal and informal|have been put forward over the last four decades. Largely independently, the concept of interpretational overhead received much attention in the partial evaluation (\program specialization") literature. This dissertation contributes a unifying under- standing of efficiency and interpretational overhead in system software. Starting from the observation that a virtual machine monitor is a self-interpreter for machine code, our first contribution is to reconcile the definition of efficient virtualization due to Popek and Goldberg with Jones optimality, a measure of the strength of program specializers.
    [Show full text]
  • Sunpci User's Guide
    SunPCi User’s Guide Karen Norteman Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 USA 650 960-1300 Fax 650 969-9131 Part No.: 805-6058-11 Revision B, September 1999 Send comments about this document to: [email protected] Copyright 1999 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, California 94303-4900 U.S.A. All rights reserved. This manual discusses how to install and configure Windows 95 and Windows NT Workstation 4.0 with the SunPCi product. It includes instructions on connecting PC peripherals to the SunPCi hardware and contains troubleshooting information for the hardware and software. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers . Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. For Netscape Communicator™, the following notice applies: (c) Copyright 1995 Netscape Communications Corporation. All rights reserved. Sun, Sun Microsystems, the Sun logo, SunStore, AnswerBook2, docs.sun.com, and Solaris are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc.
    [Show full text]