Maintain the Netbsd Base System Using Pkg * Tools

Total Page:16

File Type:pdf, Size:1020Kb

Maintain the Netbsd Base System Using Pkg * Tools Maintain the NetBSD Base System Using pkg * Tools Yuuki Enomoto∗ Ken’ichi Fukamachi† Abstract This paper describes the script ”basepkg.sh” for base system packaging to make NetBSD base system more granular. Today, fine granular systems are expected to provide more rapid secu- rity update and more flexible customization in creating a very small base system for sensor network. In ”NetBSD”, base system packaging mechanism called ”syspkg” has been developed, but now, its development is stagnant. In addition, it is troubled to deal with ”syspkg” consisting of a lot of Makefiles and shell scripts. Thus we developed a shell script simpler than ”syspkg” framework. This script uses src/distrib/sets/lists files and pkg create command to generate a fine granular base package. We verified our system can provide minimum functionality that our package can replace a part of NetBSD base system. It provides the first step for more granular NetBSD base system. 1 Introduction Many Unix systems have its own package manager(s) to manage soft- ”Unix” such as Linux distribution and ware. The scope managed by the *BSD is used mainly as servers. It is package manager depends the system. very important to keep operating sys- Some developers consider that the tems up to date for security. If a soft- whole system consists of packages, an- ware is found to be vulnerable, server other consider that the operating sys- administrators must update the soft- tem consists of the base and optional ware as soon as possible. packages. This updating process should be For example, Debian Linux pack- rapid. So, it must be useful to replace a ages the whole system to update vulnerable software with the latest bi- and upgrade it easily. FreeBSD nary by using some rapid mechanism 11.0 introduced a framework called e.g. package managers. PkgBase[FreeBSD 2017]. to divide the ∗Chitose Institute of Science and Technology, 758-90, Bibi, Chitose, Hokkaido, 066-8655, mailto: [email protected] https://e-yuuki.org/ †Chitose Institute of Science and Technology, 758-90, Bibi, Chitose, Hokkaido, 066-8655, mailto:[email protected] http://www.nsrg.fml.org/ 1 base system into 757 packages where managers (e.g. ”Portage”) compile the pkg(8) can manage the FreeBSD base source code and install it into the sys- system. tem. On the other hand, NetBSD had developed ”syspkg” under the same concept described above, but its de- 2.2 FreeBSD velopment is stagnant[NetBSD 2017]. Currently updating a base software ”FreeBSD” has a package system on NetBSD needs building from the called ”ports” to handle optional source code (or replacing the binary if 3rd party packages[FreeBSD 2017]. the major upgrade is available). It is ”ports” consists of a lot of Makefiles no quick response. So, NetBSD base to describe configurations. ”pkg” com- system packaging is required. mand manages actual installation/de- install action et.al. 2 Comparison of By default, ”ports” do not in- stall the binary package directly, but Package Manage- ”ports” can get and compile the source ment Systems code, and install it into the system us- ing the ”pkg” command. ”Package” is a collection of software, Also, ”ports” can fetch and install configuration files and documents. binary packages provided by FreeBSD. This collection is usually packed into a Instead of using ”ports”, FreeBSD single archive file in the format .tar.gz, users can use ”pkg” command to ma- .zip, et.al. ”Package Manager” is a nipulate packages. software that manages package instal- lation, deinstallation and updating. Almost all Unix clone systems con- sist of a base mandatory system, aux- 2.3 NetBSD iliary systems (e.g. compilers, docu- ments, X11 Window) and optional 3rd NetBSD has a portable package sys- party packages. The package manager tem called ”pkgsrc”[NetBSD 2017] de- can modify the system by adding or rived from the FreeBSD ”ports” sys- deleting optional binary packages. tem. ”pkgsrc” is mainly developed for NetBSD but also can be avail- 2.1 Linux Distribution able on a lot of platforms: NetBSD, FreeBSD, OpenBSD, DragonFlyBSD, ”Debian” Linux and the derived dis- Solaris, Linux, Darwin and other com- tributions use ”dpkg”, ”apt-get” and mercial UNIX systems. Some systems ”apt” commands for package manage- such as DragonFlyBSD use ”pkgsrc” ments. as the package management system by ”CentOS” and the derived distribu- default. tions use ”rpm” and ”yum” commands ”pkgsrc” is similar to FreeBSD as package management systems. ”ports” but different to use another There are a few Linux distributions utilities called ”pkg *” to install or re- (e.g. ”Gentoo”) where the package move compiled software. 2 2.3.1 NetBSD pkg * Utility system[Debian 2017]. Software and functions in the base system can be In NetBSD, the pkg * utility consists easily added and deleted by handling of the following commands. them as a set of packages. • pkg add In the case of BSD Unix(s), FreeBSD 11.0 introduced a mecha- • pkg admin nism called PkgBase. FreeBSD divides • pkg create the base system into 757 packages for pkg(8) to be able to manage the base • pkg delete system. • pkg info Today NetBSD does not support base system packaging. NetBSD costs ”pkg create” creates a binary pack- us a little bit of time to update a base age and saves it in ”tgz” format. software. We need to build from the ”pkg add” installs and upgrades source code and install it. Or we need package(s) created using pkg create. to fetch and extract the binary distri- ”pkg delete” removes the speci- bution to overwrite the binary if the fied package(s) from the system. latest major distribution is available. ”pkg info” displays the package infor- For example, consider that you mation. ”pkg admin” executes man- want to install or remove only ”groff” agement tasks for the package system. on your system. We have roughly granular tar-balls 2.4 OpenBSD on NetBSD where the base system is OpenBSD package system is similar to not packaged. We download text.tgz NetBSD one. But the package utility from the ftp site and unpack it in the is written in Perl not C. Commands root directory. So software other than such as pkg add and pkg delete are the groff will be installed together. same Perl script, which changes the be- Instead of using text.tgz, we havior by the called argument. can install groff from ”pkgsrc” OpenBSD users can write ar- (pkgsrc/textproc/groff). But bitrary package management scripts in this case, after further up- by using these Perl modules in dates, two ”groff” will be in- /usr/libdata/perl5/OpenBSD/. stalled such as in /usr/bin/groff and /usr/pkg/bin/groff. It may confuses users. Such a problem can be solved 3 Base System Pack- by packaging the base system with fine aging granularity. NetBSD had developed ”syspkg” 3.1 Base System Packaging under the same ideas described above, but its development is stagnant. Theo- There are Linux distributions manag- retically ”syspkg” can manage the base ing the base system as a collection system, but it is incomplete and not of packages. Debian Linux is a typ- used well. We can run build.sh with ical one. Debian’s ”Essential” pack- the option -syspkgs to create a com- age provides the minimum functional- piled base package, but the compiled ity required to generate a small base package cannot be installed. 3 3.2 Benefits of Base Sys- The style of ”syspkg” frame- tem Packaging work is traditional. It mainly consists of a lot of Makefiles A system packaging a base system with under usr/src/distrib/sets/ and fine granularity must has advantages to usr/src/distrib/syspkg/. It looks be- enable rapid update and flexible cus- yond our control to reconstruct the tomization of base system. current ”syspkg”. We determined that Typical examples needed for rapid it would be easier to develop another security updates in base system script that creates base packages. are some critical libraries such as Instead of traditional Makefile ”OpenSSL” and fundamental daemons style, our script is a wrapper to use such as ”OpenSSH” and ”Postfix”. pkg tools based on information in From the other point of view usr/src/distrib/sets/lists/. Currently on flexibility, it looks that demand pkg tools is used only for ”pkgsrc”, to create a small base system eas- but these tools are used for all soft- ily increases since cheap tiny devices ware in the base system if we can for sensor network are wished. For prepare proper configuration files for example, omega2[Omega2 2016] is a pkg * tools. $5 micro computer ready for Linux and FreeBSD. Also, Intel at CES 4.2 basepkg.sh in 2017 released a credit card size computer[Intel 2017]. But $5 must be ”basepkg.sh” creates a binary pack- too expensive to use billions of de- age based on information under vices over the world. Devices with ”usr/src/distrib/sets/lists/”. The more small storage and memory are script runs in two steps. (1) preferrable, so easily customized small prepare configuration files based on operating systems must be required. ”usr/src/distrib/sets/lists/”. (2) call pkg * tools to create packages actually. 4 Yet Another NetBSD 4.2.1 Preparation of Configura- Base System Pack- tion Files aging Files under ”usr/src/distrib/sets/lists/” contains program and configuration Instead of ”syspkg”, We have devel- paths with classified information. Our oped a ”basepkg.sh”[Enomoto 2016]. script resolves the package name based It is a just shell script simpler than on ”usr/src/distrib/sets/lists/”. ”syspkg” framework. In addition, a configuration file is necessary to create a compiled pack- age.
Recommended publications
  • Introduction to Debugging the Freebsd Kernel
    Introduction to Debugging the FreeBSD Kernel John H. Baldwin Yahoo!, Inc. Atlanta, GA 30327 [email protected], http://people.FreeBSD.org/˜jhb Abstract used either directly by the user or indirectly via other tools such as kgdb [3]. Just like every other piece of software, the The Kernel Debugging chapter of the FreeBSD kernel has bugs. Debugging a ker- FreeBSD Developer’s Handbook [4] covers nel is a bit different from debugging a user- several details already such as entering DDB, land program as there is nothing underneath configuring a system to save kernel crash the kernel to provide debugging facilities such dumps, and invoking kgdb on a crash dump. as ptrace() or procfs. This paper will give a This paper will not cover these topics. In- brief overview of some of the tools available stead, it will demonstrate some ways to use for investigating bugs in the FreeBSD kernel. FreeBSD’s kernel debugging tools to investi- It will cover the in-kernel debugger DDB and gate bugs. the external debugger kgdb which is used to perform post-mortem analysis on kernel crash dumps. 2 Kernel Crash Messages 1 Introduction The first debugging service the FreeBSD kernel provides is the messages the kernel prints on the console when the kernel crashes. When a userland application encounters a When the kernel encounters an invalid condi- bug the operating system provides services for tion (such as an assertion failure or a memory investigating the bug. For example, a kernel protection violation) it halts execution of the may save a copy of the a process’ memory current thread and enters a “panic” state also image on disk as a core dump.
    [Show full text]
  • BSD – Alternativen Zu Linux
    ∗BSD { Alternativen zu Linux Karl Lockhoff March 19, 2015 Inhaltsverzeichnis I Woher kommt BSD? I Was ist BSD? I Was ist sind die Unterschiede zwischen FreeBSD, NetBSD und OpenBSD? I Warum soll ich *BSD statt Linux einsetzen? I Chuck Haley und Bill Joy entwickeln den vi in Berkeley I Bill Joy erstellt eine Sammlung von Tools, 1BSD I Unix Version 7 erscheint I 2BSD erscheint (Basis f¨urdie Weiterentwicklung PDP-11) I 3BSD erscheint (erstmalig mit einen eigenen Kernel) I 4BSD erscheint (enth¨altdas fast file system (ffs)) I Bill Joy wechselt zu Sun Microsystems I Kirk McKusick ¨ubernimmt die Entwicklung von BSD I 1978 I 1979 I 1980 I 1981 Woher kommt BSD? I 1976 I Unix Version 6 erscheint I 2BSD erscheint (Basis f¨urdie Weiterentwicklung PDP-11) I 3BSD erscheint (erstmalig mit einen eigenen Kernel) I 4BSD erscheint (enth¨altdas fast file system (ffs)) I Bill Joy wechselt zu Sun Microsystems I Kirk McKusick ¨ubernimmt die Entwicklung von BSD I Bill Joy erstellt eine Sammlung von Tools, 1BSD I Unix Version 7 erscheint I 1979 I 1980 I 1981 Woher kommt BSD? I 1976 I Unix Version 6 erscheint I 1978 I Chuck Haley und Bill Joy entwickeln den vi in Berkeley I 2BSD erscheint (Basis f¨urdie Weiterentwicklung PDP-11) I 3BSD erscheint (erstmalig mit einen eigenen Kernel) I 4BSD erscheint (enth¨altdas fast file system (ffs)) I Bill Joy wechselt zu Sun Microsystems I Kirk McKusick ¨ubernimmt die Entwicklung von BSD I Unix Version 7 erscheint I 1979 I 1980 I 1981 Woher kommt BSD? I 1976 I Unix Version 6 erscheint I 1978 I Chuck Haley und Bill Joy entwickeln den
    [Show full text]
  • BSD UNIX Toolbox: 1000+ Commands for Freebsd, Openbsd and Netbsd Christopher Negus, Francois Caen
    To purchase this product, please visit https://www.wiley.com/en-bo/9780470387252 BSD UNIX Toolbox: 1000+ Commands for FreeBSD, OpenBSD and NetBSD Christopher Negus, Francois Caen E-Book 978-0-470-38725-2 April 2008 $16.99 DESCRIPTION Learn how to use BSD UNIX systems from the command line with BSD UNIX Toolbox: 1000+ Commands for FreeBSD, OpenBSD and NetBSD. Learn to use BSD operation systems the way the experts do, by trying more than 1,000 commands to find and obtain software, monitor system health and security, and access network resources. Apply your newly developed skills to use and administer servers and desktops running FreeBSD, OpenBSD, NetBSD, or any other BSD variety. Become more proficient at creating file systems, troubleshooting networks, and locking down security. ABOUT THE AUTHOR Christopher Negus served for eight years on development teams for the UNIX operating system at the AT&T labs, where UNIX was created and developed. He also worked with Novell on UNIX and UnixWare development. Chris is the author of the bestselling Fedora and Red Hat Linux Bible series, Linux Toys II, Linux Troubleshooting Bible, and Linux Bible 2008 Edition. Francois Caen hosts and manages business application infrastructures through his company Turbosphere LLC. As an open- source advocate, he has lectured on OSS network management and Internet services, and served as president of the Tacoma Linux User Group. He is a Red Hat Certified Engineer (RHCE). To purchase this product, please visit https://www.wiley.com/en-bo/9780470387252.
    [Show full text]
  • Embedded Linux Systems with the Yocto Project™
    OPEN SOURCE SOFTWARE DEVELOPMENT SERIES Embedded Linux Systems with the Yocto Project" FREE SAMPLE CHAPTER SHARE WITH OTHERS �f, � � � � Embedded Linux Systems with the Yocto ProjectTM This page intentionally left blank Embedded Linux Systems with the Yocto ProjectTM Rudolf J. Streif Boston • Columbus • Indianapolis • New York • San Francisco • Amsterdam • Cape Town Dubai • London • Madrid • Milan • Munich • Paris • Montreal • Toronto • Delhi • Mexico City São Paulo • Sidney • Hong Kong • Seoul • Singapore • Taipei • Tokyo Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. For information about buying this title in bulk quantities, or for special sales opportunities (which may include electronic versions; custom cover designs; and content particular to your business, training goals, marketing focus, or branding interests), please contact our corporate sales depart- ment at [email protected] or (800) 382-3419. For government sales inquiries, please contact [email protected]. For questions about sales outside the U.S., please contact [email protected]. Visit us on the Web: informit.com Cataloging-in-Publication Data is on file with the Library of Congress.
    [Show full text]
  • Examining the Viability of MINIX 3 As a Consumer Operating
    Examining the Viability of MINIX 3 as a Consumer Operating System Joshua C. Loew March 17, 2016 Abstract The developers of the MINIX 3 operating system (OS) believe that a computer should work like a television set. You should be able to purchase one, turn it on, and have it work flawlessly for the next ten years [6]. MINIX 3 is a free and open-source microkernel-based operating system. MINIX 3 is still in development, but it is capable of running on x86 and ARM processor architectures. Such processors can be found in computers such as embedded systems, mobile phones, and laptop computers. As a light and simple operating system, MINIX 3 could take the place of the software that many people use every day. As of now, MINIX 3 is not particularly useful to a non-computer scientist. Most interactions with MINIX 3 are done through a command-line interface or an obsolete window manager. Moreover, its tools require some low-level experience with UNIX-like systems to use. This project will examine the viability of MINIX 3 from a performance standpoint to determine whether or not it is relevant to a non-computer scientist. Furthermore, this project attempts to measure how a microkernel-based operating system performs against a traditional monolithic kernel-based OS. 1 Contents 1 Introduction 5 2 Background and Related Work 6 3 Part I: The Frame Buffer Driver 7 3.1 Outline of Approach . 8 3.2 Hardware and Drivers . 8 3.3 Challenges and Strategy . 9 3.4 Evaluation . 10 4 Progress 10 4.1 Compilation and Installation .
    [Show full text]
  • Opensource Software in Mac OS X V. Zhhuta
    Foss Lviv 2013 191 - Linux VM з Wordpress на Azure під’єднано до SQL-бази в приватному центрі обробки даних. Як бачимо, бізнес Microsoft вже дуже сильно зав'язаний на Open Source! Далі в доповіді будуть розглянуті подробиці інтероперабельності платформ з Linux Server, Apache Hadoop, Java, PHP, Node.JS, MongoDb, і наостанок дізнаємося про цікаві Open Source-розробки Microsoft Research. OpenSource Software in Mac OS X V. Zhhuta UK2 LImIted t/a VPS.NET, [email protected] Max OS X stem from Unix: bSD. It contains a lot of things that are common for Unix systems. Kernel, filesystem and base unix utilities as well as it's own package managers. It's not a secret that Mac OS X has a bSD kernel Darwin. The raw Mac OS X won't provide you with all power of Unix but this could be easily fixed: install package manager. There are 3 package manager: MacPorts, Fink and Homebrew. To dive in OpenSource world of mac os x we would try to install lates version of bash, bash-completion and few other utilities. Where we should start? First of all you need to install on you system dev-tools: Xcode – native development tools that contain GCC and libraries. Next step: bring a GIU – X11 into your system. Starting from Mac OS 10.8 X11 is not included in base-installation and it's need to install Xquartz(http://xquartz.macosforge.org). Now it's time to look closely to package managers MacPorts Site: www.macports.org Latest MacPorts release: 2.1.3 Number of ports: 16740 MacPorts born inside Apple in 2002.
    [Show full text]
  • Table of Contents Modules and Packages
    Table of Contents Modules and Packages...........................................................................................1 Software on NAS Systems..................................................................................................1 Using Software Packages in pkgsrc...................................................................................4 Using Software Modules....................................................................................................7 Modules and Packages Software on NAS Systems UPDATE IN PROGRESS: Starting with version 2.17, SGI MPT is officially known as HPE MPT. Use the command module load mpi-hpe/mpt to get the recommended version of MPT library on NAS systems. This article is being updated to reflect this change. Software programs on NAS systems are managed as modules or packages. Available programs are listed in tables below. Note: The name of a software module or package may contain additional information, such as the vendor name, version number, or what compiler/library is used to build the software. For example: • comp-intel/2016.2.181 - Intel Compiler version 2016.2.181 • mpi-sgi/mpt.2.15r20 - SGI MPI library version 2.15r20 • netcdf/4.4.1.1_mpt - NetCDF version 4.4.1.1, built with SGI MPT Modules Use the module avail command to see all available software modules. Run module whatis to view a short description of every module. For more information about a specific module, run module help modulename. See Using Software Modules for more information. Available Modules (as
    [Show full text]
  • Getting Started Guide for Freebsd Release 18.11.11
    Getting Started Guide for FreeBSD Release 18.11.11 Jan 20, 2021 CONTENTS 1 Introduction 1 1.1 Documentation Roadmap...............................1 2 Installing DPDK from the Ports Collection3 2.1 Installing the DPDK FreeBSD Port..........................3 2.2 Compiling and Running the Example Applications.................3 3 Compiling the DPDK Target from Source6 3.1 System Requirements.................................6 3.2 Install the DPDK and Browse Sources........................7 3.3 Installation of the DPDK Target Environments...................7 3.4 Browsing the Installed DPDK Environment Target.................8 3.5 Loading the DPDK contigmem Module.......................8 3.6 Loading the DPDK nic_uio Module..........................9 4 Compiling and Running Sample Applications 12 4.1 Compiling a Sample Application........................... 12 4.2 Running a Sample Application............................ 13 4.3 Running DPDK Applications Without Root Privileges............... 14 5 EAL parameters 15 5.1 Common EAL parameters.............................. 15 5.2 FreeBSD-specific EAL parameters.......................... 17 i CHAPTER ONE INTRODUCTION This document contains instructions for installing and configuring the Data Plane Development Kit (DPDK) software. It is designed to get customers up and running quickly and describes how to compile and run a DPDK application in a FreeBSD application (bsdapp) environment, without going deeply into detail. For a comprehensive guide to installing and using FreeBSD, the following handbook is available from the FreeBSD Documentation Project: FreeBSD Handbook. Note: The DPDK is now available as part of the FreeBSD ports collection. Installing via the ports collection infrastructure is now the recommended way to install the DPDK on FreeBSD, and is documented in the next chapter, Installing DPDK from the Ports Collection.
    [Show full text]
  • Lmod Or How to Protect Your Sanity from Dependency Hell
    Lmod or how to protect your sanity from dependency hell Steffen Müthing Interdisciplinary Center for Scientific Computing Heidelberg University Dune User Meeting Aachen September 26, 2013 1 Steffen Müthing | Lmod or how to protect your sanity from dependency hell ⇒ Have to keep around multiple versions of MPI, BLAS, ParMetis, ALUGrid, UGGrid, . The Issue • DUNE has a number of non-packaged dependencies • Some of those contain libraries that are bound to a compiler / MPI version • You have to support multiple compilers / MPIs • Library developer (we try to be good about this...) • Clusters with different compiler / MPI combinations • Easily switch between release / debug version of MPI (only with dynamic linking) • Use GCC in general, but switch to clang during the “fix compilation errors” stage 2 Steffen Müthing | Lmod or how to protect your sanity from dependency hell The Issue • DUNE has a number of non-packaged dependencies • Some of those contain libraries that are bound to a compiler / MPI version • You have to support multiple compilers / MPIs • Library developer (we try to be good about this...) • Clusters with different compiler / MPI combinations • Easily switch between release / debug version of MPI (only with dynamic linking) • Use GCC in general, but switch to clang during the “fix compilation errors” stage ⇒ Have to keep around multiple versions of MPI, BLAS, ParMetis, ALUGrid, UGGrid, . 2 Steffen Müthing | Lmod or how to protect your sanity from dependency hell Problems • Do I already have ALUGrid for MPICH? • If yes, where on earth did I put it? • Did I really build it with the correct dependencies? • Why does my build fail? Do all the libraries in my nice --with= actually work together? 3 Steffen Müthing | Lmod or how to protect your sanity from dependency hell • Look around for something that’s already there • Distribution package managers (APT, rpm, Portage, MacPorts, homebrew,.
    [Show full text]
  • Lecture 1: Introduction to UNIX
    The Operating System Course Overview Getting Started Lecture 1: Introduction to UNIX CS2042 - UNIX Tools September 29, 2008 Lecture 1: UNIX Intro The Operating System Description and History Course Overview UNIX Flavors Getting Started Advantages and Disadvantages Lecture Outline 1 The Operating System Description and History UNIX Flavors Advantages and Disadvantages 2 Course Overview Class Specifics 3 Getting Started Login Information Lecture 1: UNIX Intro The Operating System Description and History Course Overview UNIX Flavors Getting Started Advantages and Disadvantages What is UNIX? One of the first widely-used operating systems Basis for many modern OSes Helped set the standard for multi-tasking, multi-user systems Strictly a teaching tool (in its original form) Lecture 1: UNIX Intro The Operating System Description and History Course Overview UNIX Flavors Getting Started Advantages and Disadvantages A Brief History of UNIX Origins The first version of UNIX was created in 1969 by a group of guys working for AT&T's Bell Labs. It was one of the first big projects written in the emerging C language. It gained popularity throughout the '70s and '80s, although non-AT&T versions eventually took the lion's share of the market. Predates Microsoft's DOS by 12 years! Lecture 1: UNIX Intro The Operating System Description and History Course Overview UNIX Flavors Getting Started Advantages and Disadvantages Lecture Outline 1 The Operating System Description and History UNIX Flavors Advantages and Disadvantages 2 Course Overview Class Specifics 3
    [Show full text]
  • The Dragonflybsd Operating System
    1 The DragonFlyBSD Operating System Jeffrey M. Hsu, Member, FreeBSD and DragonFlyBSD directories with slightly over 8 million lines of code, 2 million Abstract— The DragonFlyBSD operating system is a fork of of which are in the kernel. the highly successful FreeBSD operating system. Its goals are to The project has a number of resources available to the maintain the high quality and performance of the FreeBSD 4 public, including an on-line CVS repository with mirror sites, branch, while exploiting new concepts to further improve accessible through the web as well as the cvsup service, performance and stability. In this paper, we discuss the motivation for a new BSD operating system, new concepts being mailing list forums, and a bug submission system. explored in the BSD context, the software infrastructure put in place to explore these concepts, and their application to the III. MOTIVATION network subsystem in particular. A. Technical Goals Index Terms— Message passing, Multiprocessing, Network The DragonFlyBSD operating system has several long- operating systems, Protocols, System software. range technical goals that it hopes to accomplish within the next few years. The first goal is to add lightweight threads to the BSD kernel. These threads are lightweight in the sense I. INTRODUCTION that, while user processes have an associated thread and a HE DragonFlyBSD operating system is a fork of the process context, kernel processes are pure threads with no T highly successful FreeBSD operating system. Its goals are process context. The threading model makes several to maintain the high quality and performance of the FreeBSD guarantees with respect to scheduling to ensure high 4 branch, while exploring new concepts to further improve performance and simplify reasoning about concurrency.
    [Show full text]
  • BSD UNIX Toolbox 1000+ Commands for Freebsd, Openbsd
    76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page iii BSD UNIX® TOOLBOX 1000+ Commands for FreeBSD®, OpenBSD, and NetBSD®Power Users Christopher Negus François Caen 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page ii 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page i BSD UNIX® TOOLBOX 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page ii 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page iii BSD UNIX® TOOLBOX 1000+ Commands for FreeBSD®, OpenBSD, and NetBSD®Power Users Christopher Negus François Caen 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page iv BSD UNIX® Toolbox: 1000+ Commands for FreeBSD®, OpenBSD, and NetBSD® Power Users Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2008 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 978-0-470-37603-4 Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 Library of Congress Cataloging-in-Publication Data is available from the publisher. 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, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permis- sion should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4355, or online at http://www.wiley.com/go/permissions.
    [Show full text]