The Distributed V Kernel and Its Performance for Diskless Workstations

Total Page:16

File Type:pdf, Size:1020Kb

The Distributed V Kernel and Its Performance for Diskless Workstations July 1983 Report No. STAN-B-83-973 Also twtdered C’SL 246 The Distributed V Kernel and Its Performance for Diskless Workstations bY David R. Cheriton and Wily Zwaenepoel Department of Computer Science Stanford University Stanford, CA 94305 . The Distributed V Kernel and its Performance for Diskless Workstations David R. Cheriton and Willy Zwaenepoel Computer Systems Laboratory Departments of Computer’ Science and Electrical Engineering Stanford University Abstract Ethernet [7]. Network interprocess communication is predominantly used for remote file access since most SUN The distributed V kernel is a message-oriented kernel that workstations at Stanford are configured without a local disk provides uniform local and network interprocess communication. This paper reports our experience with the implementation and It is primarily being used in an environment of diskless use of the V kernel. Of particular interest are the controversial workstations connected by a high-speed local network to a set of aspects of our approach, namely: file servers. We describe a performance evaluation of the kernel, 1. The use of diskless workstations with all secondary storage with particular emphasis on the cost of network file access. Our provided by backend file servers. results show that over a local network: 2. The use of a general purpose network interprocess 1. Diskless workstations can access remote files with minimal communication facility (as opposed to special-purpose file performance penalty. access protocols) and, in particular, the use of a Thoth-like 2. The V message facility can be used to access remote files at inter-process communication mechanism. comparable cost to any well-tuned specialized file access The more conventional approach is to configure workstations protocol. with a small local disk, using network-based file servers for We conclude that it is feasible to build a distributed system with archival storage. Diskless workstations, however, have a number all network communication using the V message facility even of advantages, including: when most of the network nodes have no secondary storage. 1. Lower hardware cost per workstation. 2. Simpler maintenance and economies of scale with shared I. Introductkn file servers. The distributed V kernel is a message-oriented kernel that 3. Little or no memory or processing ovcrhcad on the provides uniform local and network inter-process communication. workstation for file system and disk handling. The kernel interface is modeled after the ‘Thoth [3,5] and 4. Fewer probiems with replication, consistency and Verex (4, S] kernels with some modifications to facilitate efficient distribution of files. local network operation. It is in active use at Stanford and at The major disadvantage is the overhead of performing all file other research and commercial establishments. The system is access over the network. One might therefore expect that we use implemented on a collection of MC68OO&based SUN a carefully tuned specialized tile-access protocol integrated into workstations [2] interconnected by a 3 Mb Ethernet [9] or 10 Mb the transport protocol layer. as done in LOCUS [ll). Instead, our file access is built on top of a general-purpose interprocess communication (IPC) facility that scrvcs as lhc transport layer. This work was sponsomd in pm by the Defense Advanmd Rcseatch Projects @IICy While this approach has the advantage of supporting a variety of under contracts MDA903-8OC4102 and NKU39-83-K0431. different types of network communication, its generality has the Permission to copy without fee all or part of this material is granted provided that the potential of introducing a significant performance penalty over copies are not made or distributed for direct the “problem-oriented” approach used in LOCUS. commercial advantage, the ACM copyright notice and the title of the publication and Furthermore. because sequential file access is so common, it is its date appear, and notice is given that convcnlional to use streaming protocols to minimize the effect of copying is by permission of the Association network latency on performance. Instead. WC adopted a for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or synchronous “request-response” model of mcs.sagc-passing and specific permission. data transfer which, while simple and efficient to implement as . well as relatively easy to use, does not suppon application-level received. use of streaming. ( pid, count ) = RcceivcWithScgmcnt( message, scgptr, scgsize ) Block the inI oking process to receli e a message as with These potential problems prompted a performance evaluation of Receive except, if a segment is spccit’icd in the message our methods, with particular emphasis on the cfliciency of file with read access, up to the first segsize bl tcs of the access. This emphasis on file access diztin:uishes our work from segment may bc transferred to the array starting at segptr. with counr specifying the actual number of similar studies [IO, 131. The results of our stud! strongly support bytes received. the idea of building a distributed vstem using diskless Reply( message, pid ) workstations connected by a high-speed local network to one or Send a 32-byte reply cbntained in the message buffer more file servers. Furthermore, we show that remote file access to the specified process providing it is awaiting a reply from the replier. The sending process is readied upon using the \’ kernel IPC facility is on]! slightly more expensive receiving the reply; the replying process does not than a lower bound imposed by the basic mst of network block. communication. From this we conclude that relatively little ReplyWithSegmcnt( message, pid. destptr, segptr, segsize ) improvement in performance can be achieved using protocols Send a reply message as done by Reply but also transmit the short segment specified by segprr and further specialized to file access. segsize to desfptr in the destination process’ address space. MoveFrom( srcpid, dest, src, count ) Copy counf bytes from the segment starting at src in 2. V Kernel Interprocess Communication the address space of srcpid to the segment starting at The basic model provided by the I’ kernel is hat of many small desr in the active process’s space. The srcpid must be processes communicating by messages. A process is identified by awaiLing rcpl) from the active process and must have provided read access to the segment of memory in its a 32-bit globally unique process idcrzri/ier or pid Communication address space using the message con\entions described between processes is protided in the form of short fixed-length under Send messages, each uith an associated reply message, plus a data MoveTo( destpid, dest, src, count ) transfer operation for maying larger arnounE of data between Copy counr bytes from the segment starting at src in the active process’s space to the segment starting at desr processes. In particular, all messages are a fixed 32 bytes in in the address space of the dcsrpid procebs. The desrpid length. must be auairlng reply from the active process and must ha\e provided wntc access to the segment of The common communicaLion scenario is as follows: A cfienr mcmop in i& address space using the message process executes a Send to a seTseT process \vh;ch then completes conventions described under Send execution of a Receive to receive the missage and eventually SetPid( logicalid, pid, scope ) executes a Reply 10 respond uith a rep!! message back to the Associate pid with the specified logicalid in the specified scope, which is one of local. remote or both. chent We refer to thus sequence as a mcssrge exchange. lhe Example loglcalid’s are fileserver, nameserver, etc. recciier ma! execute one or more :\lo\*eTu or .IloveFrom data pid = GctPid( logicalid. scope ) transfer operations beliveen the ume the message 1s received and Return the process idcntificr associated with (ogicalid the Ume the reply message is sent. in the specified scope if any, else 0. The following sections describe the primitives relevant to this 2.2. Discussion paper. The interested reader is referred to the V kernel The V kernel’s interproccss communication is modeled after that manual [6] for a complete description of the kernel facilities. of the Thoth and Verex kernels, which have been used in multi- user systems and real-time applications for several years. An 2.1. Primitives extensive discussion of this design and its motivations is Scnd( message, pid ) Send the 32-b\te message specified b! message to the available [5], although mainly in the scope of a single machine process specified by prd Ihe sender blocks until the system. We summarize here the highlights of the discussion. recciler has rcceiied the message and has sent back a 1. Synchronous request-response message communication . 32-byte rep11 using Reply. The rep]\ message overwnlcs the onglnal mcssagc area makes programming easy because of the similarity to Using the kernel mc4tigc format con\entions, a procedure calls. process sJ)cciJics in the nlejtige the scgmcnr of its 2. The distinction between small messages and a separate data address space t!ar the mesG;e recipient may access and uhether the reciJlient may read or write that transfer facility ties in well with a frcquenlly observed usage segment- A segment is specified b! the last two words pattern: A last amount of interprocess communication is of a mehsase. gilin its Stan addre% and its length transfer of small amounts of control information (e.g. de& respecti\el>. Resened fins bl& aL the &sinning of the message lndlcare uhcther a ScgmcnI is specified and if completion) while occasionally there is bulk data transfer so, 11s access permissions. (e.g. program loading). pid = Recci\ c( message ) 3. Finally, sl nchronous communication and small, fixed-size Hock the Invoking process. if ntycLqn. to receive a 32-b!tc mc’+a;c in 11s mesage VccIor.
Recommended publications
  • The Design of the EMPS Multiprocessor Executive for Distributed Computing
    The design of the EMPS multiprocessor executive for distributed computing Citation for published version (APA): van Dijk, G. J. W. (1993). The design of the EMPS multiprocessor executive for distributed computing. Technische Universiteit Eindhoven. https://doi.org/10.6100/IR393185 DOI: 10.6100/IR393185 Document status and date: Published: 01/01/1993 Document Version: Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal.
    [Show full text]
  • Amigaos 3.2 FAQ 47.1 (09.04.2021) English
    $VER: AmigaOS 3.2 FAQ 47.1 (09.04.2021) English Please note: This file contains a list of frequently asked questions along with answers, sorted by topics. Before trying to contact support, please read through this FAQ to determine whether or not it answers your question(s). Whilst this FAQ is focused on AmigaOS 3.2, it contains information regarding previous AmigaOS versions. Index of topics covered in this FAQ: 1. Installation 1.1 * What are the minimum hardware requirements for AmigaOS 3.2? 1.2 * Why won't AmigaOS 3.2 boot with 512 KB of RAM? 1.3 * Ok, I get it; 512 KB is not enough anymore, but can I get my way with less than 2 MB of RAM? 1.4 * How can I verify whether I correctly installed AmigaOS 3.2? 1.5 * Do you have any tips that can help me with 3.2 using my current hardware and software combination? 1.6 * The Help subsystem fails, it seems it is not available anymore. What happened? 1.7 * What are GlowIcons? Should I choose to install them? 1.8 * How can I verify the integrity of my AmigaOS 3.2 CD-ROM? 1.9 * My Greek/Russian/Polish/Turkish fonts are not being properly displayed. How can I fix this? 1.10 * When I boot from my AmigaOS 3.2 CD-ROM, I am being welcomed to the "AmigaOS Preinstallation Environment". What does this mean? 1.11 * What is the optimal ADF images/floppy disk ordering for a full AmigaOS 3.2 installation? 1.12 * LoadModule fails for some unknown reason when trying to update my ROM modules.
    [Show full text]
  • Morpho-Syntactic Interactions Between V and C in Romance1
    Dialectologia. Special issue, V (2015), 293-319. ISSN: 2013-2247 Received 7 August 2015. Accepted 26 September 2015. MORPHO-SYNTACTIC INTERACTIONS BETWEEN V AND C IN ROMANCE1 Ángel J. GALLEGO Universitat Autònoma de Barcelona [email protected] Abstract This paper discusses a series of morpho-syntactic (a)symmetries that emerge in the vP and CP levels of different Romance languages. The (a)symmetries considered indicate a P or D oriented nature for specific functional heads placed in the vP and CP domains, an idea that has been at the forefront of micro-parametric studies ever since the 80s (cf. Kayne 1984, 2000; Uriagereka 1995). The consequences of this investigation for the status of parameter theory are further considered (cf. Chomsky 1981; Baker 2001; Biberauer 2008; Kayne 2000; Picallo 2014) and the study of the lexicon, arguably the main locus of linguistic variation (cf. Halle & Marantz 1993; Hale & Keyser 1993; Starke 2014; Uriagereka 2008). Keywords complementizers, lexicon, micro-parameters, Romance languages, variation, verbs INTERACCIONES MORFOSINTÁCTICAS ENTRE V Y C EN ROMANCE Resumen Este trabajo discute una serie de (a)simetrías morfosintácticas que aparecen en los niveles del Sv y el SC de diferentes lenguas románicas. Dichas (a)simetrías indican que núcleos funcionales pertenecientes a los dominios Sv y SC despliegan una naturaleza similar a P o a D, una idea que ha 1 A previous version of this paper was presented at the V Westmost Europe Dialect Syntax (Wedisyn) Meeting, held at the Universidad Autónoma de Madrid (24-25 April 2014), whose audience I thank for questions and suggestions. Special thanks go to Roberta D’Alessandro, Carlota de Benito, Inés Fernández-Ordóñez, and Álvaro Octavio de Toledo for comments and (on-going) discussion.
    [Show full text]
  • Contributors to This Issue
    Contributors to this Issue Stuart I. Feldman received an A.B. from Princeton in Astrophysi- cal Sciences in 1968 and a Ph.D. from MIT in Applied Mathemat- ics in 1973. He was a member of technical staf from 1973-1983 in the Computing Science Research center at Bell Laboratories. He has been at Bellcore in Morristown, New Jersey since 1984; he is now division manager of Computer Systems Research. He is Vice Chair of ACM SIGPLAN and a member of the Technical Policy Board of the Numerical Algorithms Group. Feldman is best known for having written several important UNIX utilities, includ- ing the MAKE program for maintaining computer programs and the first portable Fortran 77 compiler (F77). His main technical interests are programming languages and compilers, software confrguration management, software development environments, and program debugging. He has worked in many computing areas, including aþbraic manipulation (the portable Altran sys- tem), operating systems (the venerable Multics system), and sili- con compilation. W. Morven Gentleman is a Principal Research Oftcer in the Com- puting Technology Section of the National Research Council of Canada, the main research laboratory of the Canadian govern- ment. He has a B.Sc. (Hon. Mathematical Physics) from McGill University (1963) and a Ph.D. (Mathematics) from princeton University (1966). His experience includes 15 years in the Com- puter Science Department at the University of Waterloo, ûve years at Bell Laboratories, and time at the National Physical Laboratories in England. His interests include software engi- neering, embedded systems, computer architecture, numerical analysis, and symbolic algebraic computation. He has had a long term involvement with program portability, going back to the Altran symbolic algebra system, the Bell Laboratories Library One, and earlier.
    [Show full text]
  • QUICK START GUIDE 4G Lite Product Series Table of Contents
    QUICK START GUIDE 4G Lite Product Series Table of Contents STEP ONE: OVERVIEW 1 to 4 STEP TWO: WIRING 5 to 11 STEP THREE: COMMUNICATION 12 to 15 STEP FOUR: ACP OR SDAC 16 to 17 STEP FIVE: SOFTWARE 18 to 21 STEP SIX: ENROLLMENT 22 to 24 STEP SEVEN: TIME & ATTENDANCE OPERATION 25 to 29 ACP OR SDAC (4G V-Station Lite) STEP FOUR: QUICK START GUIDE II Product Packaging Checklist 4G CR-PASS, 4G V-FLEX LITE AND 4G SECURECONTROL 4G V-STATION LITE QTY ITEM QTY ITEM 1 4G CR-Pass Device or 4G V-Flex Lite or 4G V-Station Lite 1 4G SecureControl Device 1 Installation CD 1 Terminal Block, 1x12po, 3.5mm, RA 1 Installation Guide (on Installation CD) 1 Terminal Block, 1x14po, 3.5mm, RA 1 Operator’s Manual (on Installation CD) 1 Quick Start Guide (Hard-copy and on Installation CD) 1 Quick Start Guide (Hard-copy and on Installation CD) 4 Dry Wall Anchor, Nylon, #4-8, 1” Length 1 SST Wall Mount Plate 4 Self-Tapping Screw, Philip Pan Head, SST, #6, 1” Length 1 4G MicroUSB Device Cable 1 Logo Sticker 1 4G MicroUSB PC Cable 1 Clamp-on Ferrite Core (WLAN Only) 1 Clamp-on Ferrite Core 1 Antenna, Omni Plug Connector (WLAN Only) 1 Machine Screw, Pin-in-Hex Security, Pan Head, SST, 6-32, 1/4” Length 1 Security Key, Pin-in-Hex, 2.5” Length NOTE: Electronic documentation is provided in Adobe® 1 Security Screw Retainer, Stainless Steel Acrobat® format (PDF). Adobe® Acrobat® Reader is available 2 Self-Tapping Screw, Philip Pan Head, SST, #6, 1” Length on the Installation CD or at http://www.adobe.com OVERVIEW 2 Dry Wall Anchor, Nylon, #4-8, 1” Length 2 Machine Screw,
    [Show full text]
  • Introduction
    CS307 Operating Systems Introduction Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2020 Operating Systems Operating Systems 2 Operating Systems UNIX-family: BSD(Berkeley Software Distribution), System-V, GNU/Linux, MINIX, Nachos, OS X, iOS BSD-family: FreeBSD, NetBSD, OpenBSD System-V-family: AIX, HP-UX, IRIX, Solaris Linux-family: Red Hat, Debian, Ubuntu, Fedora, openSUSE, Linux Mint, Google's Android, WebOS, Meego MS-DOS, Microsoft Windows, Windows Mobile, Win-CE, WP8 AmigaOS Symbian, MeeGo Google Chrome OS OS/2 XrossMediaBar(XMB) for PS3, Orbis OS for PS4 Input Output System for Wii Tiny-OS, LynxOS, QNX, VxWorks Operating Systems 3 Four Components of a Computer System People, machines, other computers Application programs define the ways in which theSystem system programs resources are arecomputer used to software solve the computingdesigned to problems operate theof thecomputer users hardware and toControls provide and a platformcoordinates for runninguse of hardware application among programsvarious applications and users provides basic computing resources Operating Systems 4 Computer System Structure Hardware – provides basic computing resources CPU, memory, I/O devices Operating system – Controls and coordinates use of hardware among various applications and users System programs – are computer software designed to operate the computer hardware and to provide a platform for running application programs BIOS and device drivers Application programs – define the ways in
    [Show full text]
  • Porting the QEMU Virtualization Software to MINIX 3
    Porting the QEMU virtualization software to MINIX 3 Master's thesis in Computer Science Erik van der Kouwe Student number 1397273 [email protected] Vrije Universiteit Amsterdam Faculty of Sciences Department of Mathematics and Computer Science Supervised by dr. Andrew S. Tanenbaum Second reader: dr. Herbert Bos 12 August 2009 Abstract The MINIX 3 operating system aims to make computers more reliable and more secure by keeping privileged code small and simple. Unfortunately, at the moment only few major programs have been ported to MINIX. In particular, no virtualization software is available. By isolating software environments from each other, virtualization aids in software development and provides an additional way to achieve reliability and security. It is unclear whether virtualization software can run efficiently within the constraints of MINIX' microkernel design. To determine whether MINIX is capable of running virtualization software, I have ported QEMU to it. QEMU provides full system virtualization, aiming in particular at portability and speed. I find that QEMU can be ported to MINIX, but that this requires a number of changes to be made to both programs. Allowing QEMU to run mainly involves adding standardized POSIX functions that were previously missing in MINIX. These additions do not conflict with MINIX' design principles and their availability makes porting other software easier. A list of recommendations is provided that could further simplify porting software to MINIX. Besides just porting QEMU, I also investigate what performance bottlenecks it experiences on MINIX. Several areas are found where MINIX does not perform as well as Linux. The causes for these differences are investigated.
    [Show full text]
  • Can Microkernels Mitigate Microarchitectural Attacks?⋆
    Can Microkernels Mitigate Microarchitectural Attacks?? Gunnar Grimsdal1, Patrik Lundgren2, Christian Vestlund3, Felipe Boeira1, and Mikael Asplund1[0000−0003−1916−3398] 1 Department of Computer and Information Science, Link¨oping University, Sweden ffelipe.boeira,[email protected] 2 Westermo Network Technologies [email protected] 3 Sectra AB, Link¨oping,Sweden Abstract. Microarchitectural attacks such as Meltdown and Spectre have attracted much attention recently. In this paper we study how effec- tive these attacks are on the Genode microkernel framework using three different kernels, Okl4, Nova, and Linux. We try to answer the question whether the strict process separation provided by Genode combined with security-oriented kernels such as Okl4 and Nova can mitigate microar- chitectural attacks. We evaluate the attack effectiveness by measuring the throughput of data transfer that violates the security properties of the system. Our results show that the underlying side-channel attack Flush+Reload used in both Meltdown and Spectre, is effective on all in- vestigated platforms. We were also able to achieve high throughput using the Spectre attack, but we were not able to show any effective Meltdown attack on Okl4 or Nova. Keywords: Genode, Meltdown, Spectre, Flush+Reload, Okl4, Nova 1 Introduction It used to be the case that general-purpose operating systems were mostly found in desktop computers and servers. However, as IoT devices are becoming in- creasingly more sophisticated, they tend more and more to require a powerful operating system such as Linux, since otherwise all basic services must be im- plemented and maintained by the device developers. At the same time, security has become a prime concern both in IoT and in the cloud domain.
    [Show full text]
  • Flight Software Workshop 2007 ( FSW-07)
    Flight Software Workshop 2007 ( FSW-07) Current and Future Flight Operating Systems Alan Cudmore Flight Software Branch NASAIGSFC November 2007 Page I Outline Types of Real Time Operating Systems - Classic Real Time Operating Systems - Hybrid Real Time Operating Systems - Process Model Real Time Operating Systems - Partitioned Real Time Operating Systems Is the Classic RTOS Showing it's Age? Process Model RTOS for Flight Systems Challenges of Migrating to a Process Model RTOS Which RTOS Solution is Best? Conclusion November 2007 Page 2 GSFC Satellites with COTS Real (waiting for launch) (launched 8/92) (launched 12/98) (launched 3/98) (launched 2/99) (12/04) XTE (launched 12/95) TRMM (launched 11/97) JWST lSlM (201 1) Icesat GLAS f01/03) MAP (launched 06/01) LRO HST 386 4llH -%Y ST-5 (5/06) November 2007 Page 3 Classic Real Time OS What is a "Classic" RTOS? - Developed for easy COTS development on common 16 and 32 bit CPUs. - Designed for systems with single address space, and low resources - Literally Dozens of choices with a wide array of features. November 2007 Page 4 Classic RTOS - VRTX Ready Systems VRTX Size: Small - 8KB RTOS Kernel Provides: Very basic RTOS services Used on: - Small Explorer Missions Used from 1992 to 1999 8086 and 80386 Processors - Medium Explorer Missions XTE (1995) TRMM (1997) 80386 Processors - Hubble Space Telescope 80386 Processors Advantages: - Small, fast - Uses 80386 memory protection -- A feature we have missed since we stopped using it! Current use: - Only being maintained, not used for new development
    [Show full text]
  • Embedded Operating Systems
    7 Embedded Operating Systems Claudio Scordino1, Errico Guidieri1, Bruno Morelli1, Andrea Marongiu2,3, Giuseppe Tagliavini3 and Paolo Gai1 1Evidence SRL, Italy 2Swiss Federal Institute of Technology in Zurich (ETHZ), Switzerland 3University of Bologna, Italy In this chapter, we will provide a description of existing open-source operating systems (OSs) which have been analyzed with the objective of providing a porting for the reference architecture described in Chapter 2. Among the various possibilities, the ERIKA Enterprise RTOS (Real-Time Operating System) and Linux with preemption patches have been selected. A description of the porting effort on the reference architecture has also been provided. 7.1 Introduction In the past, OSs for high-performance computing (HPC) were based on custom-tailored solutions to fully exploit all performance opportunities of supercomputers. Nowadays, instead, HPC systems are being moved away from in-house OSs to more generic OS solutions like Linux. Such a trend can be observed in the TOP500 list [1] that includes the 500 most powerful supercomputers in the world, in which Linux dominates the competition. In fact, in around 20 years, Linux has been capable of conquering all the TOP500 list from scratch (for the first time in November 2017). Each manufacturer, however, still implements specific changes to the Linux OS to better exploit specific computer hardware features. This is especially true in the case of computing nodes in which lightweight kernels are used to speed up the computation. 173 174 Embedded Operating Systems Figure 7.1 Number of Linux-based supercomputers in the TOP500 list. Linux is a full-featured OS, originally designed to be used in server or desktop environments.
    [Show full text]
  • Advanced Development of Certified OS Kernels Prof
    Advanced Development of Certified OS Kernels Zhong Shao (PI) and Bryan Ford (Co-PI) Department of Computer Science Yale University P.O.Box 208285 New Haven, CT 06520-8285, USA {zhong.shao,bryan.ford}yale.edu July 15, 2010 1 Innovative Claims Operating System (OS) kernels form the bedrock of all system software—they can have the greatest impact on the resilience, extensibility, and security of today’s computing hosts. A single kernel bug can easily wreck the entire system’s integrity and protection. We propose to apply new advances in certified software [86] to the development of a novel OS kernel. Our certified kernel will offer safe and application-specific extensibility [8], provable security properties with information flow control, and accountability and recovery from hardware or application failures. Our certified kernel builds on proof-carrying code concepts [74], where a binary executable includes a rigorous machine-checkable proof that the software is free of bugs with respect to spe- cific requirements. Unlike traditional verification systems, our certified software approach uses an expressive general-purpose meta-logic and machine-checkable proofs to support modular reason- ing about sophisticated invariants. The rich meta-logic enables us to verify all kinds of low-level assembly and C code [10,28,31,44,68,77,98] and to establish dependability claims ranging from simple safety properties to advanced security, correctness, and liveness properties. We advocate a modular certification framework for kernel components, which mirrors and enhances the modularity of the kernel itself. Using this framework, we aim to create not just a “one-off” lump of verified kernel code, but a statically and dynamically extensible kernel that can be incrementally built and extended with individual certified modules, each of which will provably preserve the kernel’s overall safety and security properties.
    [Show full text]
  • A Broad Market Approach to Antitrust Product Market Definition in Innovative Industries
    A Broad Market Approach to Antitrust Product Market Definition in Innovative Industries Andrew C. Hruska Detecting market power is crucial to antitrust enforcement, and agencies discern market power by examining concentration in a defined market. This Note argues that the current restrictive approach to market definition leads to overenforcement because agencies fail to account for the full range of restraints on market power. This problem can lead to particularly skewed market defini- tions in the context of innovation and cooperation among multiproduct firms. Innovation creates uncertainties about market structure and the course of development. Multi-product firms use innovative technologies as part of a larger mix of products, many of which are commoditized and interchangeable. A broader market definition approach would alleviate the problem of overenforce- ment by including the spectrum of partial substitutes and emerging replacements that the "smallest market" approach can ignore. An example of this definition problem arose with the joint venture between International Business Machines Corporation ("IBM") and Apple Computer Corporation ("Apple") to produce a new type of computer software. Announced in the summer of 1991, this joint venture, called Taligent, and four others between IBM and Apple collectively signalled a dramatic realignment of forces in the computer industry.' Taligent eventually received Federal Trade Com- mission (FTC) approval, but only after an investigation lasting several months.' Although Taligent survived its antitrust examination, similar ventures in the high-technology sector might well fail the tests of market concentration under the current guidelines for reviewing business combinations.3 The basic problem with the current Merger Guidelines is their method of defining the relevant product market.
    [Show full text]