Block Device Drivers

Total Page:16

File Type:pdf, Size:1020Kb

Block Device Drivers Writing Device Drivers for sea UNIX Writing Device Drivers forSCOUNIX A Practical Approach Peter Kettle The Santa Cruz Operation Ltd Steve Statler Sequent Computer Systems Ltd ~~• Addison-Wesley Publishing Company Wokingham, England . Reading, Massachusetts . Menlo Park, California New York· Don Mills, Ontario· Amsterdam· Bonn· Sydney· Singapore Tokyo· Madrid· San Juan· Milan· Paris· Mexico City· Seoul· Taipei © 1993 Peter Kettle and Steve Statler All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without prior written permission of the publisher. The programs in this book have been included for their instructional value. They have been tested with care but are not guaranteed for any particular purpose. The publisher does not offer any warranties or representations, nor does it accept any liabilities with respect to the programs. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Addison-Wesley has made every attempt to supply trademark information about manufacturers and their products mentioned in this book. A list of the trademark designations and their owners appears on p. xvi. Cover designed by Designers & Partners of Oxford and printed by The Riverside Printing Co. (Reading) Ltd. Typeset by CRB (Drayton) Typesetting Services, Norwich, Norfolk. Printed in Great Britain at the University Press, Cambridge. First printed 1992. British Library Cataloguing in Publication Data A catalogue record for this book is available from the British Library. Library of Congress Cataloging in Publication Data Kettle, Peter. Writing device drivers for SCO UNIX: a practical approach {Peter Kettle, Steve Statler. p. cm. Includes index. ISBN 0-201-54425-3 1. UNIX device drivers (computer programs) I. Statler, Steve. II. Title. QA76.76.D49K48 1992 005,4'3--dc20 92-36521 CIP This book is dedicated to our parents. Foreword UNIX started life as an operating system for technical or scientific users, and following its adoption as the basis for the Open System operating environment, it has now progressed to become a general purpose operating environment for business applications. By com­ bining UNIX and computer systems based on industry standard Personal Computer hardware, solutions based on Open Systems are now becoming increasingly popular in an ever-expanding range of applications. This move into new territories has been largely as a result of the desire by large scale users of computers to build complex systems out of standard low-cost components and to break free from the restrictions created when they have a single source provider for their computer hardware. The Open Systems standards established by organizations such as XlOpen and the commitment to these standards from software pro­ viders such as sca, have meant that highly powerful systems that are capable of running the most sophisticated applications can be put together at previously undreamed of costs to match the users' needs exactly. This flexibility to produce powerful and sophisticated systems has created a need for special software device drivers to be produced to run the ever-increasing range of special hardware products available for standard PC hardware. There are already many hundreds of device drivers available for SCO UNIX and yet every week many new requirements appear. These might be for a new point-of-sale ter­ minal, a new type of tape back-up drive, a new graphical display card, or maybe for an intelligent telephone exchange! We at SCO are totally committed to the Open System process, and through this process, to providing our customers with the freedom to put together the very best systems that precisely meet their needs. The development of special device drivers for incorporating the optimum components into a system is a key element in our approach vii viii Foreword to Open Systems. I believe that this excellent book based on training courses delivered by the Santa Cruz Operation provides you with an insight into the requirements for producing a device driver for SCO UNIX and I hope that it will encourage you to take on the challenge of developing many new device drivers. Lars Turndal Senior Vice President and Managing Director The Santa Cruz Operation Ltd Preface Welcome! This book is written for students of computer science and systems programming professionals. Our objective is to offer information about writing UNIX device drivers and the operation of the UNIX kernel that is practical and accessible. On successful completion of this book you will be able to write a variety of device drivers. If you have completed the exercises set at the end of each chapter, you will have built a UNIX kernel, written a device driver for a mouse, experimented with interrupts, written a simple line discipline, written a Stream driver and modified a disk driver. You are likely to have a better grasp of operating system functions and the inside of UNIX than most of your colleagues in the computer industry. Although it is rare for most systems programmers to have to write device drivers, the investigation of this topic can pay many divi­ dends. It yields an understanding of the following areas: (1) The structure and mechanisms of an Operating System. (2) Device drivers and the concept of device independence. (3) Computer and peripheral hardware architecture. To provide an accessible environment, the exercises are designed for SCO UNIX. At the time of writing the current release is SCO UNIX Release 3.2 Version 4.0. The exercises are set at the end of each chapter with hints and model answers to aid the reader. They can be readily adapted to operate on other vendors' versions of UNIX after consultation with the appropriate implementation-specific documen­ tation. Although we use UNIX as the basis for this book, many of the principles that we discuss extend to other operating systems. The information that we have distilled into this book has tradi­ tionally been fragmented in many different places: computer science ix x Preface text books, hardware manuals, software guides and the minds of a few developers who may be difficult to contact or to understand. Conventions Throughout the text of the book, when UNIX system calls or com­ mands are mentioned, they will be followed by an abbreviation in parentheses to indicate where they are documented in the SCO UNIX manual set. For example run (CP) indicates that the nrn command is documented under Commands: Programming (CP) in the Program­ mer's Reference Manual. UNIX commands, system calls and function names will be in constant width type, as will code extracts, structures and variables. Where UNIX commands are listed they will be preceded by a prompt that will indicate whether the command needs to be typed as root (#) or any user ($). A convention that we have not adhered to is the use of troff (CT) in the preparation of this book. We used Microsoft Word! Prerequisites In order to gain the most from this book it is necessary to have experience of using the C programming language, including an understanding of the use of libraries, system calls, pointers and bitwise operations. In order to attempt the exercises it will be neces­ sary to have experience of developing programs using UNIX and access to a machine running SCO UNIX. Some knowledge of the issues relating to UNIX system administration would also be useful but is not essential. Choice of operating system UNIX is supported by nearly every major mainframe, mini and micro­ computer manufacturer in the world. Since its appearance in the early 1970s it has been adopted by Altos, Amdahl, AT&T, Bull, Cray, Data General, DEC, Fujitsu, HP, IBM, ICL, Intel, MIPS, Motorola, NCR, Olivetti, Prime, Sequent, Siemens/Nixdorf, Sun, Tandem, Tandy, Unisys, Wang and many others. SCO XENIX and latterly sca UNIX have proliferated throughout industry and academia, running on many different manufacturers' computers and in greater quantities than any other variant of UNIX. Preface xi The latest estimates run at 500000 sea licences sold, most of which are multi-user licences. sea UNIX will run on some of the least expensive Intel i386 and i486 microprocessor-based computers. It is likely that if you have a Personal Computer in your office that is running UNIX, it will be running sea UNIX. Device drivers for sea XENIX and sea UNIX differ in some areas. We have chosen sea UNIX as a basis for the examples in this book, as most developers are working with sea UNIX rather than XENIX. How to use this book At the end of each chapter there is a short quiz. We recommend that you use these to test your understanding of the chapter. There is also a practical exercise at the end of each chapter. Answers to quizzes and exercises are provided in separate chapters at the end of the text. If you attempt the quizzes and the exercises, you are more likely to retain more of what you have read, gain a deeper understanding of the topics that we have discussed, derive more satisfaction and have an opportunity to learn about related issues through the process of exploration. We also suggest that you discard the conventional reverence for books and annotate the text wherever needed. Materials required to perform the exercises If you are going to attempt the exercises, the following materials will be useful: (1) A copy of sea UNIX and the sea UNIX Development System. (2) A computer based on either the Intel i386 or i486 microprocessor, with the above software installed. (3) A copy of the sea UNIX Device Driver Writer's Guide, which contains more information about Sea-specific details. (4) For a number of the exercises, you will need a mouse.
Recommended publications
  • Operating RISC: UNIX Standards in the 1990S
    Operating RISC: UNIX Standards in the 1990s This case was written by Will Mitchell and Paul Kritikos at the University of Michigan. The case is based on public sources. Some figures are based on case-writers' estimates. We appreciate comments from David Girouard, Robert E. Thomas and Michael Wolff. The note "Product Standards and Competitive Advantage" (Mitchell 1992) supplements this case. The latest International Computerquest Corporation analysis of the market for UNIX- based computers landed on three desks on the same morning. Noel Sharp, founder, chief executive officer, chief engineer and chief bottle washer for the Superbly Quick Architecture Workstation Company (SQAWC) in Mountain View, California hoped to see strong growth predicted for the market for systems designed to help architects improve their designs. In New York, Bo Thomas, senior strategist for the UNIX systems division of A Big Computer Company (ABCC), hoped that general commercial markets for UNIX-based computer systems would show strong growth, but feared that the company's traditional mainframe and mini-computer sales would suffer as a result. Airborne in the middle of the Atlantic, Jean-Helmut Morini-Stokes, senior engineer for the UNIX division of European Electronic National Industry (EENI), immediately looked to see if European companies would finally have an impact on the American market for UNIX-based systems. After looking for analysis concerning their own companies, all three managers checked the outlook for the alliances competing to establish a UNIX operating system standard. Although their companies were alike only in being fictional, the three managers faced the same product standards issues. How could they hasten the adoption of a UNIX standard? The market simply would not grow until computer buyers and application software developers could count on operating system stability.
    [Show full text]
  • The Rise & Development of Illumos
    Fork Yeah! The Rise & Development of illumos Bryan Cantrill VP, Engineering [email protected] @bcantrill WTF is illumos? • An open source descendant of OpenSolaris • ...which itself was a branch of Solaris Nevada • ...which was the name of the release after Solaris 10 • ...and was open but is now closed • ...and is itself a descendant of Solaris 2.x • ...but it can all be called “SunOS 5.x” • ...but not “SunOS 4.x” — thatʼs different • Letʼs start at (or rather, near) the beginning... SunOS: A peopleʼs history • In the early 1990s, after a painful transition to Solaris, much of the SunOS 4.x engineering talent had left • Problems compounded by the adoption of an immature SCM, the Network Software Environment (NSE) • The engineers revolted: Larry McVoy developed a much simpler variant of NSE called NSElite (ancestor to git) • Using NSElite (and later, TeamWare), Roger Faulkner, Tim Marsland, Joe Kowalski and Jeff Bonwick led a sufficiently parallelized development effort to produce Solaris 2.3, “the first version that worked” • ...but with Solaris 2.4, management took over day-to- day operations of the release, and quality slipped again Solaris 2.5: Do or die • Solaris 2.5 absolutely had to get it right — Sun had new hardware, the UltraSPARC-I, that depended on it • To assure quality, the engineers “took over,” with Bonwick installed as the gatekeeper • Bonwick granted authority to “rip it out if itʼs broken" — an early BDFL model, and a template for later generations of engineering leadership • Solaris 2.5 shipped on schedule and at quality
    [Show full text]
  • IBM System Storage Open Systems Tape Encryption Solutions
    Front cover IBM System Storage Open Systems Tape Encryption Solutions Understanding tape encryption and Tivoli Key Lifecycle Manager Version 2 Planning for and installing hardware and software Configuring and managing the tape encryption solution Alex Osuna Luciano Cecchetti Edgar Vinson ibm.com/redbooks International Technical Support Organization IBM System Storage Open Systems Tape Encryption Solutions December 2010 SG24-7907-00 Note: Before using this information and the product it supports, read the information in “Notices” on page vii. First Edition (December 2010) This edition applies to Tivoli Key Lifecycle Manager (TKLM) Version 2. © Copyright International Business Machines Corporation 2010. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . vii Trademarks . viii Preface . ix The team who wrote this book . .x Become a published author . xi Comments welcome. xi Stay connected to IBM Redbooks . xii Chapter 1. Introduction to tape encryption. 1 1.1 IBM System Storage tape drives. 2 1.2 How tape data encryption works . 4 1.3 What to encrypt . 6 1.4 Why use tape data encryption. 7 1.4.1 Why encrypt data in the drive . 7 1.4.2 Fundamental to encryption: Policy and key management . 7 1.4.3 Summary. 8 1.5 Concepts of tape data encryption . 8 1.5.1 Symmetric key encryption. 9 1.5.2 Asymmetric key encryption . 11 1.5.3 Hybrid encryption . 14 1.5.4 Digital certificates . 15 1.6 Simplifying key management with TKLM . 20 1.6.1 Encryption as a critical business process .
    [Show full text]
  • Chapter 4 Introduction to UNIX Systems Programming
    Chapter 4 Introduction to UNIX Systems Programming 4.1 Introduction Last chapter covered how to use UNIX from from a shell program using UNIX commands. These commands are programs that are written in C that interact with the UNIX environment using functions called Systems Calls. This chapter covers this Systems Calls and how to use them inside a program. 4.2 What is an Operating System An Operating System is a program that sits between the hardware and the application programs. Like any other program it has a main() function and it is built like any other program with a compiler and a linker. However it is built with some special parameters so the starting address is the boot address where the CPU will jump to start the operating system when the system boots. Draft An operating system typically offers the following functionality: ● Multitasking The Operating System will allow multiple programs to run simultaneously in the same computer. The Operating System will schedule the programs in the multiple processors of the computer even when the number of running programs exceeds the number of processors or cores. ● Multiuser The Operating System will allow multiple users to use simultaneously in the same computer. ● File system © 2014 Gustavo Rodriguez-Rivera and Justin Ennen,Introduction to Systems Programming: a Hands-on Approach (V2014-10-27) (systemsprogrammingbook.com) It allows to store files in disk or other media. ● Networking It gives access to the local network and internet ● Window System It provides a Graphical User Interface ● Standard Programs It also includes programs such as file utilities, task manager, editors, compilers, web browser, etc.
    [Show full text]
  • Open Technology Development (OTD): Lessons Learned & Best Practices for Military Software
    2011 OTD Lessons Learned Open Technology Development (OTD): Lessons Learned & Best Practices for Military Software 2011-05-16 Sponsored by the Assistant Secretary of Defense (Networks & Information Integration) (NII) / DoD Chief Information Officer (CIO) and the Under Secretary of Defense for Acquisition, Technology, and Logistics (AT&L) This document is released under the Creative Commons Attribution ShareAlike 3.0 (CC- BY-SA) License. You are free to share (to copy, distribute and transmit the work) and to remix (to adapt the work), under the condition of attribution (you must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work)). For more information, see http://creativecommons.org/licenses/by/3.0/ . The U.S. government has unlimited rights to this document per DFARS 252.227-7013. Portions of this document were originally published in the Software Tech News, Vol.14, No.1, January 2011. See https://softwaretechnews.thedacs.com/ for more information. Version - 1.0 2 2011 OTD Lessons Learned Table of Contents Chapter 1. Introduction........................................................................................................................... 1 1.1 Software is a Renewable Military Resource ................................................................................ 1 1.2 What is Open Technology Development (OTD) ......................................................................... 3 1.3 Off-the-shelf (OTS) Software Development
    [Show full text]
  • An Analysis of the Strategic Management of Technology in the Context of the Organizational Life-Cycle
    An Analysis of the Strategic Management of Technology in the Context of the Organizational Life-Cycle by Steven W. Klosterman BSEE (1983), University of Cincinnati Submitted to the System Design and Management Program in partial fulfillment of the requirements for the degree of Master of Science in Engineering and Management at the Massachusetts Institute of Technology June 2000 C 2000 Steven W. Klosterman. All rights reserved. The author hereby grants to MIT permission to reproduce and to distribute publicly paper and electronic copies of this thesis document in whole or in part. Signature of Author --------- System Design and Management Program. June, 2000 Certified by Thomas Kochan George M. Bunker Professor of Management Thesis Supervisor Accepted by Thomas Kochan Co-Director, System Design and Management Program Sloan School of Management Acceptedby Paul A. Lagace Co-Director, System Design and Management Program Professor of Aeronautics and Astronautics MASSACHUSETTS INSTITUTE OF TECHNOLOGY EN JUN 1 4 2000 LIBRARIES I Acknowledgements I would like to thank the individuals and organizations that have helped me pursue this thesis and my MIT education: To the System Design and Management (SDM) program for providing the vision of flexible, distance learning as an enabler for mid-career engineers to study at one of the world's foremost centers of learning. To Tom Magnanti, Tom Kochan, Ed Crawley, John Williams, Margee Best, Anna Barkley, Leen Int'Veld, Dan Frey, Jon Griffith and Dennis Mahoney, I cannot sufficiently express my gratitude for being given the privilege of becoming a member of the MIT community. To my fellow students in the SDM program for providing the support, encouragement and help, I am honored to be associated with you.
    [Show full text]
  • An Introduction to X Window Application Development
    Calhoun: The NPS Institutional Archive Theses and Dissertations Thesis Collection 1992-03 An introduction to X Window application development. Rust, David Michael Monterey, California. Naval Postgraduate School http://hdl.handle.net/10945/23933 FV KNOX LIBRARY •Ud SCHOOL SivAL POSTGRADUATE SoNTEHEV.CAUFORN.AG^^ CURITY CLASSIFICATION OF THIS PAGE REPORT DOCUMENTATION PAGE 1b. RESTRICTIVE MARKINGS REPORT SECURITY CLASSIFICATION UNCLASSIFIED a SECURITY CLASSIPICAT I6M AUTH6RITV 3. bisTRiBuTi6N7AVAlLABiUTY 6P REP5RT Approved for public release; b. dECLAssIFICATIoN/doWNgRADINg SCHEDULE distribution is unlimited PERFORMING ORGANIZATION REP6RT NUM&ER(S) 5. M6niT6Ring6Rgani2aTi6n rep6rT numbER(S) *. NAME 6F PERFORMING 6R6ANIZATI6N 6b OFFICE SYMBOL 7a. NAME 6E M6NIT6R1NG ORGANIZATION vdministrative Sciences Department (if applicable) Naval Postgraduate School Javal Postgraduate School AS :. ADDRESS (City, State, and ZIP Code) 7b. ADDRESS (City, State, and ZIP Code) /lonterey, CA 93943-5000 Monterey, CA 93943-5000 NAME OF FUNDING/SPONSORING 8b. OFFICE SYMBOL g PROCURE M E N T I NST RUMEN T ID E N T I FI CATION NUMBE R ORGANIZATION (if applicable) 6. ADDRESS (City, State, and ZIP Code) 10. SOURCE OF FUNDING NUMBERS PROGRAM 1 PR6JECT TTa^R" WoRkUNiT ELEMENT NO. NO. NO. ACCESSION NO. 1 . TITLE (Include Security Classification) ^N INTRODUCTION TO X WINDOW APPLICATION DEVELOPMENT (U) 2 PERSONAL AUTHOR(S) lust, David M. 3a. type of report 13b. time covered 14. DATE OF REPORT (Year, Month, Day) 16. PAGE COUNT Master's Thesis from 10/90 to 03/92 1992, March, 23 70 supplementary notation 6 The views expressed in this ^sis ^ those of the author md do not reflect the official policy or position of the Department of Defense or the United States Government.
    [Show full text]
  • Oracle Solaris Administration Common Tasks
    Oracle® Solaris Administration: Common Tasks Part No: 821–1451–11 December 2011 Copyright © 1998, 2011, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract,and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
    [Show full text]
  • A Source Book from the Open Group
    A Source Book from The Open Group The Single UNIX· Specification: The Authorized Guide to Version 3, 2nd Edition The Open Group Copyright ¶ June 2004, The Open Group All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the copyright owners. A Source Book from The Open Group The Single UNIX· Specification: The Authorized Guide to Version 3, 2nd Edition ISBN: 1-931624-47-X Document Number: G041 Published in the U.S. by The Open Group, June 2004. Any comments relating to the material contained in this document may be submitted by email to: [email protected] ii A Source Book from The Open Group (2004) ____________________________________________________ Contents ____________________________________________________ Chapter 1 The Single UNIX Specification............................................ 1 1.1 Introduction.................................................................................. 1 1.2 Background ................................................................................. 1 1.3 The Value of Standards................................................................ 2 1.4 The Single UNIX Specification ..................................................... 2 1.5 Benefits for Application Developers.............................................. 3 1.6 Benefits for Users........................................................................ 3 1.7 The
    [Show full text]
  • Chapter 2 Unix
    Chapter 2 Unix UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. –DennisRitchie 2.1 Unix History For many people the term “System Administrator” implies operation of Unix systems, even though the same concepts, tasks and practices apply largely to the maintenance of hosts running any operating system. In this book, we strive to describe principles that are universally applicable and not bound by a specific operating system. We will regularly use Unix as the prime example and cite its features and specific aspects because of its academic background, long history of openness, high penetration of the infrastructure marketplace, and its role as a cornerstone of the Internet. 2.1.1 The Operating System How the Unix operating system came to be and how that relates to the de- velopment of the Internet and various related technologies is fascinating; just 28 CHAPTER 2. UNIX 29 about every other Unix-related book already covers this topic in great detail. In this chapter, we summarize these developments with a focus on the major milestones along the road from the birth of Unix as a test platform for Ken Thompson’s “Space Travel” game running on a PDP-7 to the most widely used server operating system that nowadays also happens to power consumer desktops and laptops (in the form of Linux and Apple’s OS X), mobile de- vices (Apple’s iOS is OS X based and thus Unix derived; Google’s Android is a Linux flavor), TVs, commodity home routers, industry scale networking equipment, embedded devices on the Internet of Things (IoT), and virtually all supercomputers1.
    [Show full text]
  • Linux System Programming Focuses on Everything Above the Kernel, Where Applications Such As Apache, Bash, Cp, Vim, Emacs, Gcc, Gdb, Glibc, Ls, Mv, and X Exist
    Overview This book is about writing software that makes the most effective use of the system you're running on -- code that interfaces directly with the kernel and core system libraries, including the shell, text editor, compiler, debugger, core utilities, and system daemons. The majority of both Unix and Linux code is still written at the system level, and Linux System Programming focuses on everything above the kernel, where applications such as Apache, bash, cp, vim, Emacs, gcc, gdb, glibc, ls, mv, and X exist. Written primarily for engineers looking to program (better) at the low level, this book is an ideal teaching tool for any programmer. Even with the trend toward high-level development, either through web software (such as PHP) or managed code (C#), someone still has to write the PHP interpreter and the C# virtual machine. Linux System Programming gives you an understanding of core internals that makes for better code, no matter where it appears in the stack. Debugging high-level code often requires you to understand the system calls and kernel behavior of your operating system, too. Key topics include: • An overview of Linux, the kernel, the C library, and the C compiler • Reading from and writing to files, along with other basic file I/O operations, including how the Linux kernel implements and manages file I/O • Buffer size management, including the Standard I/O library • Advanced I/O interfaces, memory mappings, and optimization techniques • The family of system calls for basic process management • Advanced process management,
    [Show full text]
  • System Administration Guide: Advanced Administration
    System Administration Guide: Advanced Administration Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 819–2380–13 May 2008 Copyright 2008 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 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 U.S. patents or pending patent applications in the U.S. and in other countries. U.S. Government Rights – Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. This distribution may include materials developed by third parties. 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, the Solaris logo, the Java Coffee Cup logo, docs.sun.com, Java, OpenSolaris, Sun xVM hypervisor, and Solaris aretrademarks or registered trademarks 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. Adobe is a registered trademark of Adobe Systems, Incorporated. PostScript is a trademark or registered trademark of Adobe Systems, Incorporated, which may be registered in certain jurisdictions.
    [Show full text]