Practical Structures for Parallel Operating Systems

Total Page:16

File Type:pdf, Size:1020Kb

Practical Structures for Parallel Operating Systems Practical Structures for Parallel Operating Systems Jan Edler A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy Department of Computer Science New York University May 1995 Approved: Allan Gottlieb © 1995 Jan Edler Permission granted to copy in whole or in part, provided the title page and this copyright notice are retained. Dedication For my wife, Janet Simmons, who never gave up hope and for our children, Cory, Riley, and Cally, whose interests I’ve tried to keep first. iii iv Acknowledgments I have had three employers during the course of this work: Bell Labs for the first 14 months, NEC Research Institute for the last 10 months, and New York University for more than 11 years in between. The bulk of this work was supported by the following grants and con- tracts: Department of Energy contract DE-AC02-76ER03077 and grant DE- FG02-88ER25052, International Business Machines joint study agreement N00039-84-R-0605(Q), and National Science Foundation grants DCR-8413359, DCR-8320085, and MIP-9303014. Views and opinions expressed in this dissertation are solely my own. The work described here has been done as part of a large ongoing project, spanning more than a decade, and this dissertation couldn’t be what it is without the involvement of many people. The following project participants have had particularly notable influence on this work: Allan Gottlieb and Mal Kalos lead the project together from before my involve- ment in 1982 until 1989; Allan has lead it alone since then. In addition, Allan has been my advisor and guide. Jim Lipkis was a very close collaborator until leaving NYU in 1989. Edith Schonberg, Jim, and I worked as a team on the early design and implementation of Symunix-2. Richard Kenner ’s contribution was widespread, but his talent for penetrating complex hardware and software problems was especially valuable. David Wood and Eric Freudenthal ported Symunix-1 to the Ultra-3 prototype, and David also did lots of low-level work for Symunix-2. Eric Freudenthal contributed at many levels, but his algorithm design work deserves special attention. Other notable contributors at NYU included Wayne Berke, Albert Cahana, Susan Dickey, Isaac Dimitrovsky, Lori Grob, and Pat Teller. In addition to being valued collaborators on a professional level, all of these people have been good friends. Another significant force affecting this work came from IBM’s RP3 Project [162]; espe- cially influential were Greg Pfister, Alan Norton, and Ray Bryant, with whom we had many valuable debates about highly parallel operating systems. The enthusiastic support of many prototype users was a crucial factor in attaining acceptable levels of performance, reliability, and robustness; notable among these were Anne Greenbaum from NYU and Gordon Lyons from the National Bureau of Standards. Mal Kalos and Jim Demmel led undergraduate courses using the Ultracomputer prototype to teach parallel programming. Perhaps underlying everything else technically was the availability of UNIX source code. Countless programmers at Bell Labs, University of California at Berkeley, and many other places deserve acknowledgment for that. My wife, Janet Simmons, has always provided the most crucial support and encourage- ment. My parents, Barbara and Karl Edler, helped with encouragement and proofreading. v Acknowledgments The Courant Institute library provided a pleasant atmosphere for literature research and countless hours of writing. This dissertation was prepared using a variety of UNIX systems1 and a Toshiba T1000SE laptop computer; the vi text editor [123, 153, 129, 152] was used in all environ- ments. Some of the figures were produced using the interactive drawing program xfig [181]. Formatting was performed with troff. (I used both AT&T’s Documenter ’s Workbench [13] and the groff package [46], although groff still lacks an implementation of grap [23]. The pri- mary macro package was −me [3].) Other vital software used includes ghostscript [54], and ghostview [195]. Cross referencing and indexing was done with packages of my own design, txr and kwit. 1 IBM RT PC, IBM RS/6000, SGI Indy, and NEC 486-based PC running Linux [202]. vi Abstract Large shared memory MIMD computers, with hundreds or thousands of processors, pose spe- cial problems for general purpose operating system design. In particular: • Serial bottlenecks that are insignificant for smaller machines can seriously limit scalabil- ity. • The needs of parallel programming environments vary greatly, requiring a flexible model for run-time support. • Frequent synchronization within parallel applications can lead to high overhead and bad scheduling decisions. Because of these difficulties, the algorithms, data structures, and abstractions of conven- tional operating systems are not well suited to highly parallel machines. We describe the Symunix operating system for the NYU Ultracomputer, a machine with hardware support for Fetch&Φ operations and combining of memory references. Avoidance of serial bottlenecks, through careful design of interfaces and use of highly parallel algo- rithms and data structures, is the primary goal of the system. Support for flexible parallel programming models relies on user-mode code to implement common abstractions such as threads and shared address spaces. Close interaction between the kernel and user-mode run-time layer reduces the cost of synchronization and avoids many scheduling anomalies. Symunix first became operational in 1985 and has been extensively used for research and instruction on two generations of Ultracomputer prototypes at NYU. We present data gathered from actual multiprocessor execution to support our claim of practicality for future large systems. vii viii Table of Contents Dedication iii Acknowledgments v Abstract vii Chapter 1: Introduction 1 1.1 Organization of the Dissertation 1 1.2 Development History 2 1.3 Development Goals 5 1.4 Design Principles 6 1.5 Design Overview 7 1.6 Style and Notation 11 Chapter 2: Survey of Previous Work 15 2.1 Terminology 15 2.2 Historical Development 16 2.2.1 The Role of UNIX in Multiprocessor Research 17 2.2.2 The Rise of the Microkernel 18 2.2.3 Threads 20 2.2.4 Synchronization 20 2.2.5 Bottleneck-Free Algorithms 23 2.2.6 Scheduling 24 2.3 Overview of Selected Systems 26 2.3.1 Burroughs B5000/B6000 Series 26 2.3.2 IBM 370/OS/VS2 26 2.3.3 CMU C.mmp/HYDRA 28 2.3.4 CMU Cm*/StarOS/Medusa 29 2.3.5 MUNIX 30 2.3.6 Purdue Dual VAX/UNIX 31 2.3.7 AT&T 3B20A/UNIX 31 2.3.8 Sequent Balance 21000/DYNIX 32 2.3.9 Mach 33 2.3.10 IBM RP3 33 2.3.11 DEC Firefly/Topaz 34 2.3.12 Psyche 35 ix Table of Contents 2.4 Chapter Summary 36 Chapter 3: Some Important Primitives 39 3.1 Fetch&Φ Functions 40 3.2 Test-Decrement-Retest 42 3.3 Histograms 43 3.4 Interrupt Masking 44 3.5 Busy-Waiting Synchronization 48 3.5.1 Delay Loops 51 3.5.2 Counting Semaphores 54 3.5.3 Binary Semaphores 58 3.5.4 Readers/Writers Locks 59 3.5.5 Readers/Readers Locks 64 3.5.6 Group Locks 68 3.6 Interprocessor Interrupts 74 3.7 List Structures 77 3.7.1 Ordinary Lists 78 3.7.2 LRU Lists 83 3.7.3 Visit Lists 91 3.7.4 Broadcast Trees 108 3.7.5 Sets 121 3.7.6 Search Structures 126 3.8 Future Work 141 3.9 Chapter Summary 144 Chapter 4: Processes 145 4.1 Process Model Evolution 145 4.2 Basic Process Control 148 4.3 Asynchronous Activities 150 4.3.1 Asynchronous System Calls 151 4.3.2 Asynchronous Page Faults 156 4.4 Implementation of Processes and Activities 156 4.4.1 Process Structure 157 4.4.2 Activity Structure 160 4.4.3 Activity State Transitions 163 4.4.4 Process and Activity Locking 163 4.4.5 Primitive Context-Switching 165 4.5 Context-Switching Synchronization 166 4.5.1 Non-List-Based Synchronization 168 4.5.2 List-Based Synchronization−Readers/Writers Locks 170 4.5.3 Premature Unblocking 184 4.6 Scheduling 186 4.6.1 Preemption 186 4.6.2 Interdependent Scheduling 188 4.6.3 Scheduling Groups 189 4.6.4 Temporary Non-Preemption 190 4.6.5 The SIGPREEMPT Signal 191 4.6.6 Scheduler Design and Policy Alternatives 194 x Table of Contents 4.6.7 The Ready List 196 4.6.8 The resched Function 197 4.6.9 The mkready Functions 198 4.7 Process Creation and Destruction 199 4.8 Signals 200 4.8.1 Signal Masking 200 4.8.2 Sending Signals to Process Groups 202 4.9 Future Work 205 4.10 Chapter Summary 208 Chapter 5: Memory Management 209 5.1 Evolution of OS Support for Shared Memory 209 5.2 Kernel Memory Model 211 5.2.1 The mapin, mapout, and mapctl System Calls 214 5.2.2 The mapinfo System Call 216 5.2.3 Stack Growth 216 5.2.4 The fork, spawn, exec, and exit System Calls 218 5.2.5 Image Directories 219 5.2.6 Core Dumps and Unlink on Last Close 220 5.2.7 File System Optimizations 221 5.3 Kernel Memory Management Implementation 224 5.3.1 Address Space Management 225 5.3.2 Working Set Management 230 5.3.3 TLB Management 235 5.3.4 Page Frame Management 237 5.4 Future Work 248 5.5 Chapter Summary 250 Chapter 6: Input/Output 251 6.1 Buffer Management 251 6.1.1 The bio Module 252 6.1.2 The bcache Module 256 6.2 File Systems 257 6.2.1 Mountable File Systems 258 6.2.2 File System Resources 258 6.2.3 The file Structure 259 6.2.4 Inode Access 260 6.2.5 Path Name Resolution 262 6.2.6 Block Look-Up 263 6.3 Device Drivers 264 6.4 Future Work 266 6.5 Chapter Summary 266 Chapter 7: User-Mode Facilities 269 7.1 Basic Programming Environment 270 7.2 Busy-Waiting Synchronization 271 7.2.1 Interrupts and Signals 271 7.2.2 Preemption 272 xi Table of Contents 7.2.3 Page Faults 272 7.2.4 The Problem of Barriers 274 7.3 Context-Switching Synchronization 275 7.3.1 Standard
Recommended publications
  • New Products Latest Releases for Open Systems
    New Products Latest Releases for Open Systems Application Management Microsoft ODBC. Tivoli Systems has announced the AMS Forte Express for clients or servers Developer’s Kit and general availability supports Digital Unix, DG-UX, IBM AIX, of version 1.0 of the Applications Man- Sequent Dynix, Sun Solaris HP-UX, Digi- agement Specification (AMS). AMS defines tal OpenVMS and Windows NT. The price a standard interface for creating manage- is $20,000 for a site license. ment objects. These objects enable the Forte Software, Inc., 1800 Harrison connection of applications with client/- St., Oakland, CA 94612; (510) 869-3400. server enterprise management systems WANT MORE INFO? CIRCLE READER SERVICE NO. 205. such as Tivoli Management Environment. SOFTWARE The AMS Developer’s Kit allows users to Process Configuration develop AMS-enabled applications. Management System Management The developer’s kit supports AMS SQL Software has introduced PCMS 4.3, Innovative Software has announced applications for IBM AIX, AT&T SVR4, a process configuration management tool Power Center, an operations automa- Digital Unix, DG-UX, HP-UX, Motorola for concurrent and distributed application tion and system management applica- Unix, SunOS and Sun Solaris. Prices for systems development. Version 4.3 tion. The product detects and works to the developer’s kit start at $250. includes a worksets feature that allows correct problems with computer sys- Tivoli Systems, Inc., 9442 Capital of management to separate individual-team tems, networks, peripherals and appli- Texas Hwy. N, Austin, TX, 78759; (512) work for parallel development and par- cations. Power Center interoperates with 794-9070. allel builds on multiple platforms.
    [Show full text]
  • ANSA: an Engineer’S Introduction
    An Engineer’s Introduction to the Architecture ANSA: An Engineer’s Introduction to the Architecture Release TR.03.02 November 1989 This document provides an introduction to ANSA. It is specifically oriented towards those with a software and systems background. It describes what is available and how it is used; it does not describe how the architecture is applied to specific application domains. Architecture Projects Management Limited Architecture Projects Management Limited and their sponsors take no responsibility for the consequences of errors or omissions in this manual, nor for any damages resultmg from the applicatron of the ideas expressed herein. Architecture Projects Management Limited Poseidon House Castle Park CAMBRIDGE CB3 ORD United Kingdom TELEPHONE UK Cambridge (0223) 323010 INTERNATIONAL +44 223 323010 FAX + 44 223 359779 UUCP . ..ukc!acorn!ansa!apm ARPA Internet [email protected] 8 1989 Architecture Projects Management Limited Permission to copy without fee all or part of this material is granted provided that notice IS given that copying is by permission of Architecture Projects Management Limited. To copy otherwise or to republish requiresspecific permlssion. Advanced Networked Systems Architecture CONTENTS Page 1 Background ........................................... 1 1.1 Objectives ......................................... 1 1.2 Activities ............................................ 1 1.3 Standardization ...................................... 2 2 Executive summary ................................... 3 2.1 The problem
    [Show full text]
  • SCO Vs. IBM: Clarity As Push Approaches Shove
    Managing L'unix Paul Murphy March 12th, 2007 SCO vs. IBM: clarity as push approaches shove Posted by Paul Murphy @ 12:15 am Just recently groklaw published both IBM's motion for summary judgement on SCO's contractual claims and SCO's rebuttal argument. The judge could rule on those today or later or this week, but the outcome is less interesting than the documents themselves because here, for the first time, both SCO and IBM state their cases clearly and relatively simply. As the motions make clear everything ultimately comes down to one issue: did IBM breach contracts now held by SCO? For a judge to grant a motion for summary judgement, however, the judge has to agree that the facts are undisputed, and since they're not my belief is that IBM's lawyers had to know that the only motion that counts, the one on contractual issues, would not succeed. The key question, therefore, is why they decided to waste the court's time with it - and my guess, because as regular readers known my belief is that SCO has a strong case, is first that they're trying to use IBM's financial strength to bankrupt SCO, and, secondly, that they're trying to establish a fundamental misrepresentation of the key issues as fact. Here's part of the critical text, from the SCO side: First, IBM argues briefly otherwise, but the plain language of the standard AT&T UNIX license agreement required the licensee to hold in confidence all parts of the modifications and derivative works the licensee developed based on the licensed UNIX software product.
    [Show full text]
  • Understanding the Linux Kernel, 3Rd Edition by Daniel P
    1 Understanding the Linux Kernel, 3rd Edition By Daniel P. Bovet, Marco Cesati ............................................... Publisher: O'Reilly Pub Date: November 2005 ISBN: 0-596-00565-2 Pages: 942 Table of Contents | Index In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks. The third edition of Understanding the Linux Kernel takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does. This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics: • Memory management, including file buffering, process swapping, and Direct memory Access (DMA) • The Virtual Filesystem layer and the Second and Third Extended Filesystems • Process creation and scheduling • Signals, interrupts, and the essential interfaces to device drivers • Timing • Synchronization within the kernel • Interprocess Communication (IPC) • Program execution Understanding the Linux Kernel will acquaint you with all the inner workings of Linux, but it's more than just an academic exercise.
    [Show full text]
  • (For Solaris) User Guide Contents
    Hitachi Command Suite Dynamic Link Manager (for Solaris) 8.6 User Guide This document describes how to use the Hitachi Dynamic Link Manager for Solaris. The document is intended for storage administrators who use Hitachi Dynamic Link Manager to operate and manage storage systems. Administrators should have knowledge of Solaris and its management functionality, storage system management functionality, cluster software functionality, and volume management software functionality. MK-92DLM114-42 May 2018 © 2014, 2018 Hitachi, Ltd. All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including copying and recording, or stored in a database or retrieval system for commercial purposes without the express written permission of Hitachi, Ltd., or Hitachi Vantara Corporation (collectively "Hitachi"). Licensee may make copies of the Materials provided that any such copy is: (i) created as an essential step in utilization of the Software as licensed and is used in no other manner; or (ii) used for archival purposes. Licensee may not make any other copies of the Materials. "Materials" mean text, data, photographs, graphics, audio, video and documents. Hitachi reserves the right to make changes to this Material at any time without notice and assumes no responsibility for its use. The Materials contain the most current information available at the time of publication. Some of the features described in the Materials might not be currently available. Refer to the most recent product announcement for information about feature and product availability, or contact Hitachi Vantara Corporation at https://support.hitachivantara.com/en_us/contact-us.html.
    [Show full text]
  • Unix History 2.6 Unix Geschichte 2.6 1972
    1960 AT&T UNICS 1969 1970 UNIX 1 1971 UNIX 2 Unix history 2.6 Unix Geschichte 2.6 1972 Small UNIX history Kleine UNIX-Geschichte UNIX 3 1973 Represented are only the origin lines. Dargestellt sind nur die Ursprungslinien. The different influences are shown only with Apple, since they impair Die verschiedenen Einflüsse sind nur bei Apple abgebildet, da sie die the clarity strongly. Übersichtlichkeit stark beeinträchtigen. UNIX 4 Further data are: Manufacturer, operating system name as well as the Weitere Daten sind: Hersteller, Betriebssystem-Name sowie das 1973 feature year of the software. The individual versions are listed only with Erscheinungsjahr der Software. Die einzelnen Versionen sind nur bei UNIX and Linux. UNIX und Linux aufgelistet. More detailed list under: http://www.levenez.com/unix/ Detailliertere Liste unter: http://www.levenez.com/unix/ UNIX 5 1974 UNIX 6 1976 UNIX 7 Berkeley Software 1979 Distribution: BSD 1978 1980 UNIX System III Microsoft BSD 4.1 1981 XENIX 1981 1980 UNIX V UNIX 8 SUN SPIX QUNIX 1983 1985 Sun OS 1.0 1982 1981 1982 UNIX V.2 Microsoft/SCO Siemens UNIX 9 Sun OS 2.0 Dynix Venix 1984 XENIX 3.0 Sinix 1.0 1986 1985 1984 1985 1984 1984 HP IBM UNIX 10 MIPS BSD 4.2 GNU Sun OS 3.0 Andrew S. Mach HP-UX AIX/RT 2 End: 1989 MIPS OS 1985 Trix 1986 Tanenbaum: Minix 1985 1986 1986 1985 1986 1987 UNIX V.3 SGI Mach 2.0 Minix 1.0 NonStop-UX 1986 IRIX 1996 1987 1987 1988 UNIX V.4 AIX/6000 v3 BOS MIPS OS NeXT A/UX 1988 1989 1989 End: 1989 NeXTSTEP 1988 1988 1990 UNIX V.x Trusted AIX 3.1 IRIX 4.0 Mach 3.0 Linus Torvalds
    [Show full text]
  • Enhancements to the Scalable Coherent Interface Cache Protocol
    Portland State University PDXScholar Dissertations and Theses Dissertations and Theses 1999 Enhancements to the scalable coherent interface cache protocol Robert J. Safranek Portland State University Follow this and additional works at: https://pdxscholar.library.pdx.edu/open_access_etds Part of the Electrical and Computer Engineering Commons Let us know how access to this document benefits ou.y Recommended Citation Safranek, Robert J., "Enhancements to the scalable coherent interface cache protocol" (1999). Dissertations and Theses. Paper 3977. https://doi.org/10.15760/etd.5858 This Thesis is brought to you for free and open access. It has been accepted for inclusion in Dissertations and Theses by an authorized administrator of PDXScholar. Please contact us if we can make this document more accessible: [email protected]. THESIS APPROVAL The abstract and thesis of Robert J. Safranek for the Master of Science in Electrical and Computer Engineering were presented March 12, 1999 and accepted by the thesis committee and the department. Representative of the Office of Graduate Studies DEPARTMENT APPROVAL: Rolf Schaumann, Chair Department of Electrical and Computer Engineering ABSTRACT An abstract of the thesis of Robert J. Safranek for the Master of Science in Electrical and Computer Engineering presented on March 12, 1999. Title: Enhancements to the Scalable Coherent Interface Cache Protocol. As the number of NUMA system's cache coherency protocols based on the IEEE Std. 1596-1992, Standard for Scalable Coherent Interface (SCI) ..., Specification increases, it is important to review this complex protocol to determine if the protocol can be enhanced in any way. This research provides two realizable extensions to the standard SCI cache protocol.
    [Show full text]
  • Exception Handling with Fail-Safe Semantics Phd Thesis
    Exception Handling With Fail-Safe Semantics PhD Thesis Steven J. Drew B.App.Sci. (Computing) Hons. Date: 29th. November, 1996. Principal Supervisor: Prof.K.J.Gough School Of Computing Science Faculty Of Information Technology Queensland University Of Technology DEDICATION To my father for all his love and support, To my mother, I'm glad you saw the start of this, I'll tell you how it ended one day. QUT QUEENSLAND UNIVERSITY OF TECHNOLOGY DOCTOR OF PHILOSOPHY THESIS EXAMINATION CANDIDATE NAME Steven John Drew CENTRE/RESEARCH CONCENTRATION Programming Languages and Systems PRINCIPAL SUPERVISOR Professor John Gough ASSOCIATE SUPERVISOR(S) Dr John Hynd THESIS TITLE Exception Handling with Fail-Safe Semantics Under the requirements of PhD regulation 9.2, the above candidate was examined orally by the Faculty. The members of the panel set up for this examination recommend that the thesis be accepted by the University and forwarded to the appointed Committee for examination. Prof K J Gough Name ....................................................................... Panel Chairperson (Principal Supervisor) Name ...... ~?.';'.<?~.-:~.:.<?.~ .. ~.. -~-~XP.~:.E?~~ ......................... Panel Member Assoc Prof G Mohay Name ....................................................................... Panel Member Under the requirements of PhD regulation 9.15, it is hereby certified that the thesis of the above-named candidate has been examined. I recommend on behalf of the Thesis Examination Committee that the thesis be accepted in fulfilment of the conditions for the award of the degree of Doctor of Philosophy. Name .. :'9r.... Y~~~.. .zy~ • Date .. .<f. ..P~:'?.~ .. Chair of Examiners (Thesis Examination Comrilittee) Keywords Exception handling, programming languages, fail-safety, fail-safe semantics, software fault tolerance, program complexity, program comprehensibility, Modula-2. Abstract Computer architectures are becoming increasingly complex and are being used to solve problems of similarly increasing complexity.
    [Show full text]
  • Postgresql Freebsd 12 12 PROC PDEATHSIG CTL
    Walking Through Walls PostgreSQL ♥ FreeBSD [email protected] [email protected] [email protected] About me • New to FreeBSD hacking Mentors: mjg, allanjude • ~20 years work on proprietary C, C++, … applications on lots of different kinds of Unix • Past ~4 years working on PostgreSQL at EnterpriseDB • Past ~3 years dabbling in FreeBSD, beginning with the gateway drug of ZFS home storage boxes, now my main development and server environment • Personal goal: make FreeBSD and PostgreSQL the best relational database stack Berkeley • INGRES: Developed at UC Berkeley, 197x-1985 • Relational database ideas inspired by IBM’s System/R (though using QUEL instead of SQL), developed on PDPs just as Unix arrived at Berkeley • First software released entirely under BSD licence (CSRG distribution still needed AT&T licence for parts) Michael Stonebraker • POSTGRES: Developed at UC Berkeley, 1986-1994 • Entirely new system (but still using INGRES’s QUEL query language) • Developed on SunOS (derived from 4.3BSD) and Dynix (derived from 4.2BSD, added SMP support for Sequent computers) and (probably) various other flavours of BSD • PostgreSQL: Modern open source project, 1996- • We current claim to support Linux, {Open,Net,Free}BSD, macOS, AIX, HP/ UX, Solaris, Windows; in the past we supported IRIX, Tru64, UnixWare, Latter day PostgreSQL BSD/OS, BeOS, QNX, SunOS, SCO OpenServer hackers on a pilgrimage to Berkeley How operating systems look to database hackers • APIs, man pages, standards chiselled in stone • Administration tools, tunables,
    [Show full text]
  • Dissertation Acceptance
    SEVER INSTITUTE OF TECHNOLOGY DOCTOR OF SCIENCE DEGREE DISSERTATION ACCEPTANCE (To be the first page of each copy of the dissertation) DATE: July 24, 1998 STUDENT’S NAME: Charles D. Cranor This student’s dissertation, entitled Design and Implementation of the UVM Virtual Memory System has been examined by the undersigned committee of five faculty members and has received full approval for acceptance in partial fulfillment of the requirements for the degree Doctor of Science. APPROVAL: Chairman Short Title: Design and Implementation of UVM Cranor, D.Sc. 1998 WASHINGTON UNIVERSITY SEVER INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE DESIGN AND IMPLEMENTATION OF THE UVM VIRTUAL MEMORY SYSTEM by Charles D. Cranor, M.S. Prepared under the direction of Professor Gurudatta M. Parulkar A dissertation presented to the Sever Institute of Washington University in partial fulfillment of the requirements for the degree of Doctor of Science August, 1998 Saint Louis, Missouri WASHINGTON UNIVERSITY SEVER INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE ABSTRACT DESIGN AND IMPLEMENTATION OF THE UVM VIRTUAL MEMORY SYSTEM by Charles D. Cranor ADVISOR: Professor Gurudatta M. Parulkar August, 1998 Saint Louis, Missouri We introduce UVM, a new virtual memory subsystem for 4.4BSD that makes better use of existing hardware memory management features to reduce overhead and improve performance. Our novel approach focuses on allowing processes to pass memory to and from other processes and the kernel, and to share memory. This approach reduces or elim- inates the need to copy data thus reducing the time spent within the kernel and freeing up cycles for application processing. Unlike the approaches that focus exclusively on the networking and inter-process communications (IPC) subsystems, our approach provides a general framework for solutions that can improve efficiency of the entire I/O subsystem.
    [Show full text]
  • Developer Relations Withdrawal: Willow Family of Products — Replacements Available
    Withdrawal Announcement December 14, 2004 Developer Relations withdrawal: Willow Family of Products — Replacements available Overview IBM withdraws from marketing the following products under the Developer Marketing Partnerships-Remarketing Software program. Program Description number WebSphere MQ for SCO OpenServer 5620-FKV WebSphere MQ for UnixWare & Open Unix 5620-FKW WebSphere MQ for SGI IRIX 5620-FKX WebSphere MQ for DYNIX/ptx 5620-FKY WebSphere MQ for NCR MP-RAS 5620-FKZ WebSphere MQ for Linux (Alpha Edition) 5620-FLA WebSphere MQ for Linux (PowerPC Edition) 5620-FLB WebSphere MQ for Linux (SPARC Edition) 5620-FLC WebSphere MQ Client for SCO OpenServer 5620-FLD WebSphere MQ Client for UnixWare & Open Unix 5620-FLE WebSphere MQ Client for MPE/IX 5620-FLF WebSphere MQ Client for SGI IRIX 5620-FLG WebSphere MQ Client for DG/UX 5620-FLH WebSphere MQ Client for MAC OS 5620-FLI This withdrawal applies to the IBM Developer Marketing Partnership relationship only. Other relationships between Willow Technology, Inc., and IBM, both in the U.S. and worldwide, are unaffected. Replacement product information Program Description number WebSphere MQ for BSD 5620-FRT WebSphere MQ for DYNIX/PTX 5620-FRU WebSphere MQ for HP-UX (Itanium Edition) 5620-FRV WebSphere MQ for Linux (Alpha Edition) 5620-FRW WebSphere MQ for Linux 5620-FRX (iSeries /pSeries Edition) WebSphere MQ for NCR MP-RAS 5620-FRY WebSphere MQ for SCO OpenServer 5620-FRZ WebSphere MQ for SGI IRIX 5620-FSA WebSphere MQ for UnixWare 5620-FSB WebSphere MQ Client for DG/UX 5620-FSC WebSphere MQ Client for MPE/iX 5620-FSD WebSphere MQ Client for SCO OpenServer 5620-FSE WebSphere MQ Client for UnixWare 5620-FSF For additional information refer to Software announcement 204-313, dated December 14, 2004.
    [Show full text]
  • A Bibliography of Books and Articles About UNIX and UNIX Programming
    A Bibliography of Books and Articles about UNIX and UNIX Programming Nelson H. F. Beebe University of Utah Department of Mathematics, 110 LCB 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA Tel: +1 801 581 5254 FAX: +1 801 581 4148 E-mail: [email protected], [email protected], [email protected] (Internet) WWW URL: http://www.math.utah.edu/~beebe/ 02 July 2021 Version 4.44 Abstract General UNIX texts [AL92a, AL95a, AL95b, AA86, AS93b, Ari92, Bou90a, Chr83a, Chr88, CR94, Cof90, Coh94, Dun91a, Gar91, Gt92a, Gt92b, This bibliography records books and historical Hah93, Hah94a, HA90, Hol92, KL94, LY93, publications about the UNIX operating sys- LR89a, LL83a, MM83a, Mik89, MBL89, tem, and UNIX programming tools. It mostly NS92, NH91, POLo93, PM87, RRF90, excludes networks and network programming, RRF93, RRH94, Rus91, Sob89, Sob91, which are treated in a separate bibliography, Sob95, Sou92, TY82b, Tim93, Top90a, internet.bib. This bibliography was started Top90b, Val92b, SSC93, WMP92] from material in postings to the sunflash list, volume 46, number 17, October 1992, and volume 57, number 29, September 1993, by Samuel Ko (e-mail: [email protected]), and then significantly extended by the present Catalogs and book lists author. Entry commentaries are largely due to S. Ko. [O'R93, Spu92, Wri93] 1 2 Communications software History [Cam87, dC87, dG93, Gia90] [?, ?, Cat91, RT74, RT79a] Compilers Linux [DS88, JL78, Joh79, JL87a, LS79, LMB92, [BBD+96, BF97, HP+95, Kir95a, Kir95b, MB90, SF85] PR96b, Sob97, SU94b, SU95, SUM95, TGB95, TG96, VRJ95,
    [Show full text]