INTRO (9) Netbsd Kernel Developer's Manual INTRO (9) NAME Intro

Total Page:16

File Type:pdf, Size:1020Kb

INTRO (9) Netbsd Kernel Developer's Manual INTRO (9) NAME Intro INTRO(9) NetBSD Kernel Developer’sManual INTRO(9) NAME intro —introduction to kernel internals DESCRIPTION This section contains information related to the internal operation of the system kernel. It describes function interfaces and variables of use to the systems and device driverprogrammer. In addition to the normal man page format, the kernel pages include an additional section: CODE REFERENCES Contains the pathname(s) of the source file(s) which contain the definition and/or source code of the variables or functions being documented. MEMORYMANAGEMENT Machine-dependent swap interface. See cpu_swapout(9). Introduction to kernel memory allocators. See memoryallocators(9). Machine-dependent portion of the virtual memory system. See pmap(9). Virtual memory system external interface. See uvm(9). I/O SUBSYSTEM Buffer cache interfaces. See buffercache(9). Device buffer queues. See bufq(9). Initiate I/O on rawdevices. See physio(9). I/O descriptor allocation interface. See getiobuf(9). PROCESS CONTROL Machine-dependent process exit. See cpu_exit(9). Idle CPU while waiting for work. See cpu_idle(9). Finish a fork operation. See cpu_lwp_fork(9). Switch to another light weight process. See ctxsw(9). Current process and processor.See curproc(9). Set process uid and gid. See do_setresuid(9). Newprocesses and kernel threads. See fork1(9), kthread(9). Context switch notification. See cpu_need_resched(9). Process scheduling subsystem. See scheduler(9). Software signal facilities. See signal(9). Suspend the scheduler.See suspendsched(9). Return path to user-mode execution. See userret(9). FILE SYSTEM High-levelfile operations. See dofileread(9). Convert an extended attribute namespace identifier to a string and vice versa. See extattr(9). NetBSD 3.0 February 17, 2007 1 INTRO(9) NetBSD Kernel Developer’sManual INTRO(9) Operations on file entries. See file(9). In-kernel, file-system independent, file-meta data association. See fileassoc(9). File descriptor tables and operations. See filedesc(9). File descriptor owner handling functions. See fsetown(9). File system suspension helper subsystem. See fstrans(9). Pathname lookup, cache and management. See namei(9), namecache(9), pathname(9). Kernel interface to file systems. See vfs(9). Kernel representation of a file or directory and vnode attributes. See vnode(9), vattr(9). NETWORKING Kernel interfaces for manipulating output queues on network interfaces. See altq(9). Externally visible ARP functions. See arp(9). Ethernet and FDDI driversupport functions and macros. See ethersubr(9). Core 802.11 network stack functions and rate adaptation based on receivedsignal strength. See ieee80211(9), rssadapt(9). Compute Internet checksum. See in_cksum(9). Look up the IPv4 source address best matching an IPv4 destination. See in_getifa(9). Functions and macros for managing memory used by networking code. See mbuf(9). Packet filter interface. See pfil(9). Route callout functions. See rt_timer(9). TCP congestion control API. See tcp_congctl(9). LOCKING AND INTERRUPT CONTROL Condition variables. See condvar(9). Kernel lock functions. See lock(9). Memory barriers. See mb(9). Mutual exclusion primitives. See mutex(9). Restartable atomic sequences. See ras(9). Reader / writer lock primitives. See rwlock(9). Machine-independent software interrupt framework. See softintr(9). Functions to modify system interrupt priority level. See spl(9). Functions ro raise the system priority level. See splraiseipl(9). SECURITY Kernel authorization framework. See kauth(9). API for cryptographic services in the kernel. See opencrypto(9). Security model development guidelines. See secmodel(9). NetBSD 3.0 February 17, 2007 2 INTRO(9) NetBSD Kernel Developer’sManual INTRO(9) SYSTEM TIME CONTROL Execute a function after a specified length of time. See callout(9). Microsecond delay.See delay(9). Real-time timer.See hardclock(9). System clock frequency. See hz(9). Initialization of system time and time-of-day clock support. See inittodr(9), todr(9). Check that a timevalvalue is valid, and correct. See itimerfix(9). System time variables. See timecounter(9). Realtime system clock. See microtime(9). Get the time elapsed since boot. See microuptime(9). Convert milliseconds to system clock ticks. See mstohz(9). Function to help implement rate-limited actions. See ppsratecheck(9). Function to help implement rate-limited actions. See ratecheck(9). Set battery-backed clock from system time. See resettodr(9). System time variables. See time_second(9). KERNEL AND USER SPACEDAT A COPY FUNCTIONS Kernel space to/from user space copyfunctions. See copy(9). Store data to user-space. See store(9). Fetch data from user-space. See fetch(9). Move data described by a struct uio. See uiomove(9). MACHINE DEPENDENT KERNEL FUNCTIONS Machine-dependent clock setup interface. See cpu_initclocks(9). Machine-dependent process core dump interface. See cpu_coredump(9). Machine-dependent kernel core dumps. See cpu_dumpconf(9). Unique CPU identification number See cpu_number(9). Halt or reboot the system See cpu_reboot(9). Machine-dependent root file system setup See cpu_rootconf(9). Machine-dependent CPU startup See cpu_startup(9). Disk label management routines. See disklabel(9). DEVICE CONFIGURATION Autoconfiguration frame-work. See autoconf(9). Description of a device driver. See driver(9). The autoconfiguration framework ‘‘device definition’’language. See config(9). Machine-dependent device autoconfiguration. See cpu_configure(9). NetBSD 3.0 February 17, 2007 3 INTRO(9) NetBSD Kernel Developer’sManual INTRO(9) MI DEVICE DRIVER API Bus and Machine Independent DMA Mapping Interface. See bus_dma(9). Bus space manipulation functions. See bus_space(9). Generic disk framework. See disk(9). Hardware-assisted data moverinterface. See dmover(9). Generic ev ent counter framework. See evcnt(9). Firmware loader API for device drivers. See firmload(9). Howtoimplement a newioctl call to access device drivers. See ioctl(9). Extensible line discipline framework. See linedisc(9). CONSOLE DEVICES Console magic key sequence management. See cnmagic(9). Console access interface. See cons(9). Raster display operations. See rasops(9). Generic virtual console framework. See vcons(9). Machine-independent console support. See wscons(9). DEVICE SPECIFIC IMPLEMENTATION Interface between lowand high levelaudio drivers. See audio(9). Bluetooth Device/Protocol API. See bluetooth(9). Support for CardBus PC-Card devices. See cardbus(9). VESA Display Data Channel V2. See ddc(9). VESA Extended Display Identification Data. See edid(9). Inter IC (I2C) bus. See iic(9). Baseboard I/O control ASIC for DEC TURBOchannel systems. See ioasic(9). Industry-standard Architecture. See isa(9). Introduction to ISA Plug-and-Play support. See isapnp(9). MicroChannel Architecture bus. See mca(9). PPBUS microseqencer developer’sguide. See microseq(9). Peripheral Component Interconnect. See pci(9). Perform PCI bus configuration. See pci_configure_bus(9). PCI bus interrupt manipulation functions. See pci_intr(9). PC keyboard port interface. See pckbport(9). Support for PCMCIA PC-Card devices. See pcmcia(9). User-space interface to ppbus parallel port. See ppi(9). Interface between lowand high levelradio drivers. See radio(9). NetBSD 3.0 February 17, 2007 4 INTRO(9) NetBSD Kernel Developer’sManual INTRO(9) Functions to makeadevice available for entropycollection. See rnd(9). SCSI/ATAPI middle-layer interface. See scsipi(9). TURBOchannel bus. See tc(9). USB tty support. See ucom(9). USB device drivers interface. See usbdi(9). Versa Module Euroboard bus. See vme(9). Machine-independent IDE/ATAPI driver. See wdc(9). KERNEL EVENT Functions to add or remove kernel event filters. See kfilter_register(9). Functions to raise kernel event. See knote(9). Record and wakeup select requests. See selrecord(9). Simple do-it-in-thread-context framework. See workqueue(9). KERNEL HELPER FUNCTIONS Kernel expression verification macros. See KASSERT(9). Convert a single byte between (unsigned) packed bcd and binary.See bcdtobin(9). Bitmask output conversion. See bitmask_snprintf(9). General purpose extent manager.See extent(9). Compare integers. See imax(9). Kernel formatted output conversion. See kprintf(9). Data comparing, moving, copying, setting and cleaning. See memcmp(9), memmove(9), memcpy(9), memset(9), bcmp(9), bcopy(9), bzero(9), kcopy(9). Log a message from the kernel through the /dev/klog device. See log(9). Bring down system on fatal error.See panic(9). MISC Run all power hooks. See dopowerhooks(9). Run all shutdown hooks. See doshutdownhooks(9). Kernel internal error numbers. See errno(9). Kernel hash functions, hash table construction and destruction. See hash(9), hashinit(9). Format a number into a human readable form. See humanize_number(9). Machine-dependent interface to ipkdb.See ipkdb(9). Options string management. See optstr(9). Performs pattern matching on strings. See pmatch(9). Hardware Performance Monitoring Interface. See pmc(9). Add or remove a power change hook. See powerhook_establish(9). NetBSD 3.0 February 17, 2007 5 INTRO(9) NetBSD Kernel Developer’sManual INTRO(9) Add or remove a shutdown hook. See shutdownhook_establish(9). Non-local jumps. See setjmp(9). System variable control interfaces. See sysctl(9). HISTORY The NetBSD kernel internals section first appeared in NetBSD 1.2. NetBSD 3.0 February 17, 2007 6 KASSERT(9) NetBSD Kernel Developer’sManual KASSERT(9) NAME KASSERT, KDASSERT —kernel expression verification macros SYNOPSIS void KASSERT(expression); void KDASSERT(expression); DESCRIPTION These machine independent
Recommended publications
  • The Title Title: Subtitle March 2007
    sub title The Title Title: Subtitle March 2007 Copyright c 2006-2007 BSD Certification Group, Inc. Permission to use, copy, modify, and distribute this documentation for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE DOCUMENTATION IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS DOCUMENTATION INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CON- SEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEG- LIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS DOCUMENTATION. NetBSD and pkgsrc are registered trademarks of the NetBSD Foundation, Inc. FreeBSD is a registered trademark of the FreeBSD Foundation. Contents Introduction vii 1 Installing and Upgrading the OS and Software 1 1.1 Recognize the installation program used by each operating system . 2 1.2 Recognize which commands are available for upgrading the operating system 6 1.3 Understand the difference between a pre-compiled binary and compiling from source . 8 1.4 Understand when it is preferable to install a pre-compiled binary and how to doso ...................................... 9 1.5 Recognize the available methods for compiling a customized binary . 10 1.6 Determine what software is installed on a system . 11 1.7 Determine which software requires upgrading . 12 1.8 Upgrade installed software . 12 1.9 Determine which software have outstanding security advisories .
    [Show full text]
  • Active-Active Firewall Cluster Support in Openbsd
    Active-Active Firewall Cluster Support in OpenBSD David Gwynne School of Information Technology and Electrical Engineering, University of Queensland Submitted for the degree of Bachelor of Information Technology COMP4000 Special Topics Industry Project February 2009 to leese, who puts up with this stuff ii Acknowledgements I would like to thank Peter Sutton for allowing me the opportunity to do this work as part of my studies at the University of Queensland. A huge thanks must go to Ryan McBride for answering all my questions about pf and pfsync in general, and for the many hours working with me on this problem and helping me test and debug the code. Thanks also go to Theo de Raadt, Claudio Jeker, Henning Brauer, and everyone else at the OpenBSD network hackathons who helped me through this. iii Abstract The OpenBSD UNIX-like operating system has developed several technologies that make it useful in the role of an IP router and packet filtering firewall. These technologies include support for several standard routing protocols such as BGP and OSPF, a high performance stateful IP packet filter called pf, shared IP address and fail-over support with CARP (Common Address Redundancy Protocol), and a protocol called pfsync for synchronisation of the firewalls state with firewalls over a network link. These technologies together allow the deployment of two or more computers to provide redundant and highly available routers on a network. However, when performing stateful filtering of the TCP protocol with pf, the routers must be configured in an active-passive configuration due to the current semantics of pfsync.
    [Show full text]
  • Programmer's Guide
    Programmer’s Guide Release 2.2.0 January 16, 2016 CONTENTS 1 Introduction 1 1.1 Documentation Roadmap...............................1 1.2 Related Publications..................................2 2 Overview 3 2.1 Development Environment..............................3 2.2 Environment Abstraction Layer............................4 2.3 Core Components...................................4 2.4 Ethernet* Poll Mode Driver Architecture.......................6 2.5 Packet Forwarding Algorithm Support........................6 2.6 librte_net........................................6 3 Environment Abstraction Layer7 3.1 EAL in a Linux-userland Execution Environment..................7 3.2 Memory Segments and Memory Zones (memzone)................ 11 3.3 Multiple pthread.................................... 12 3.4 Malloc.......................................... 14 4 Ring Library 19 4.1 References for Ring Implementation in FreeBSD*................. 20 4.2 Lockless Ring Buffer in Linux*............................ 20 4.3 Additional Features.................................. 20 4.4 Use Cases....................................... 21 4.5 Anatomy of a Ring Buffer............................... 21 4.6 References....................................... 28 5 Mempool Library 31 5.1 Cookies......................................... 31 5.2 Stats.......................................... 31 5.3 Memory Alignment Constraints............................ 31 5.4 Local Cache...................................... 32 5.5 Use Cases....................................... 33 6
    [Show full text]
  • The Qosbox: Quantitative Service Differentiation in BSD Routers∗
    The QoSbox: Quantitative Service Differentiation in BSD Routers∗ Nicolas Christin Jorg¨ Liebeherr Information Networking Institute and The Edward S. Rogers Sr. Department of CyLab Japan Electrical and Computer Engineering Carnegie Mellon University University of Toronto 1-3-3-17 Higashikawasaki-cho 10 King’s College Road Chuo-ku, Kobe 650-0044, Japan Toronto, ON M5S 3G4, Canada [email protected] [email protected] Abstract We describe the design and implementation of the QoSbox, a configurable IP router that provides per-hop service differentiation on loss, delays and throughput to classes of traffic. The novel aspects of the QoSbox are that (1) the QoSbox does not rely on any external component (e.g., no traffic shaping and no admission control) to provide the desired service differentiation, but instead, (2) dynamically adapts packet forwarding and dropping decisions as a function of the instantaneous traffic arrivals and allows for temporary relaxation of some service objectives; also, (3) the QoSbox can enforce both absolute and proportional service differentiation on queuing delays, loss rates, and throughput at the same time. We focus on a publicly available implementation of the QoSbox in BSD-based PC-routers. We evaluate our implementation in a testbed of BSD routers over a FastEthernet network, and we sketch how the QoSbox can be implemented in high speed architectures. Keywords: Quality-of-Service Implementations, Service Differentiation, PC-Routers, BSD, High-Speed Networks. ∗Most of this work was done while both authors were with the University of Virginia. This work was supported in part by the National Science Foundation through grants ANI-9730103 and ANI-0085955.
    [Show full text]
  • Pf3e Index.Pdf
    INDEX Note: Pages numbers followed by f, n, priority-based queues, 136–145 or t indicate figures, notes, and tables, match rule for queue assignment, respectively. 137–138 overview, 134–135 Symbols performance improvement, 136–137 # (hash mark), 13, 15 queuing for servers in DMZ, ! (logical NOT) operator, 42 142–144 setting up, 135–136 A on FreeBSD, 135–136 on NetBSD, 136 Acar, Can Erkin, 173 on OpenBSD, 135 ACK (acknowledgment) packets transitioning to priority and class-based bandwidth allocation, queuing system, 131–133 139–140 anchors, 35–36 HFSC algorithm, 124, 126, 142 authpf program, 61, 63 priority queues, 132, 137–138 listing current contents of, 92 two-priority configuration, loading rules into, 92 120–121, 120n1 manipulating contents, 92 adaptive.end value, 188 relayd daemon, 74 adaptive firewalls, 97–99 restructuring rule set with, 91–94 adaptive.start value, 188 tagging to help policy routing, 93 advbase parameter, 153–154 ancontrol command, 46n1 advskew parameter, 153–154, 158–159 antispoof tool, 27, 193–195, 194f aggressive value, 192 ARP balancing, 151, 157–158 ALTQ (alternate queuing) framework, atomic rule set load, 21 9, 133–145, 133n2 authpf program, 59–63, 60 basic concepts, 134 basic authenticating gateways, class-based bandwidth allocation, 60–62 139–140 public networks, 62–63 overview, 135 queue definition, 139–140 tying queues into rule set, 140 B handling unwanted traffic, 144–145 bandwidth operating system-based queue actual available, 142–143 assignments, 145 class-based allocation of, 139–140 overloading to
    [Show full text]
  • OPENBSD HARDWARE SENSORS FRAMEWORK a Unified and Ready-To-Use System for Hassle-Ee Hardware Monitoring
    OPENBSD HARDWARE SENSORS FRAMEWORK A unified and ready-to-use system for hassle-ee hardware monitoring. Constantine A. Murenin and Raouf Boutaba University of Waterloo AsiaBSDCon 2009 — 12–15 March 2009 — Tokyo, Japan Abstract In this paper, we will discuss the origin, history, design guidelines, API and the device drivers of the hardware sensors framework available in OpenBSD. The framework spans multiple utilities in the base system and the ports tree, is utilised by over 70 drivers, and is considered to be a distinctive and ready-to-use feature that sets OpenBSD apart from many other operating systems, and in its root is inseparable from the OpenBSD experience. 1. Introduction Another trend that has been particularly common in the recent years is the availability of defined inter- We will start by investigating into the matter of what faces for software-based temperature readout from hardware monitoring sensors represent, how common individual components of personal computers, such as is it for them to appear in the general-purpose com- the CPU, or the add-on cards, such as those imple- puter hardware that has been available on the market menting the 802.11 wireless functionality or 10 Giga- in the last decade or so, and what benefits can we gain bit Ethernet. Popular examples include recent Intel by having a unified, simple and straightforward inter- Xeon and Core series of processors (as well as budget face for getting the data out of these sensors. models that are marketed under different brands) Although it may come as a surprise to some users, the [admtemp.4] [cpu.4]; all AMD64 processors from majority of personal computers that have been avail- AMD (Families 0Fh, 10h, 11h) [kate.4] [km.4]; Intel able on the market in the last decade have an inte- WiFi Link 4965/5100/5300 wireless network devices grated hardware monitoring circuitry whose main [iwn.4].
    [Show full text]
  • Freebsd Handbook
    FreeBSD Handbook http://www.freebsd.org/doc/en_US.ISO8859-1/books/han... FreeBSD Handbook The FreeBSD Documentation Project Copyright © 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The FreeBSD Documentation Project Welcome to FreeBSD! This handbook covers the installation and day to day use of FreeBSD 8.3-RELEASE and FreeBSD 9.1-RELEASE. This manual is a work in progress and is the work of many individuals. As such, some sections may become dated and require updating. If you are interested in helping out with this project, send email to the FreeBSD documentation project mailing list. The latest version of this document is always available from the FreeBSD web site (previous versions of this handbook can be obtained from http://docs.FreeBSD.org/doc/). It may also be downloaded in a variety of formats and compression options from the FreeBSD FTP server or one of the numerous mirror sites. If you would prefer to have a hard copy of the handbook, you can purchase one at the FreeBSD Mall. You may also want to search the handbook. REDISTRIBUTION AND USE IN SOURCE (XML DOCBOOK) AND 'COMPILED' FORMS (XML, HTML, PDF, POSTSCRIPT, RTF AND SO FORTH) WITH OR WITHOUT MODIFICATION, ARE PERMITTED PROVIDED THAT THE FOLLOWING CONDITIONS ARE MET: 1. REDISTRIBUTIONS OF SOURCE CODE (XML DOCBOOK) MUST RETAIN THE ABOVE COPYRIGHT NOTICE, THIS LIST OF CONDITIONS AND THE FOLLOWING DISCLAIMER AS THE FIRST LINES OF THIS FILE UNMODIFIED. 2. REDISTRIBUTIONS IN COMPILED FORM (TRANSFORMED TO OTHER DTDS, CONVERTED TO PDF, POSTSCRIPT, RTF AND OTHER FORMATS) MUST REPRODUCE THE ABOVE COPYRIGHT NOTICE, THIS LIST OF CONDITIONS AND THE FOLLOWING DISCLAIMER IN THE DOCUMENTATION AND/OR OTHER MATERIALS PROVIDED WITH THE DISTRIBUTION.
    [Show full text]
  • History of the Openbsd Hardware Sensors Framework
    History of the OpenBSD Hardware Sensors Framework Constantine A. Murenin University of Waterloo AsiaBSDCon 2009 — 12/15 March 2009 — Tokyo, Japan Outline • Introduction • Framework API and utilities • Drivers • I²C Bus Scan • Conclusion What is a sensor? • Any device with a sensor-like data: • temperature • voltage • fan speed • … • logical drive status • time offset Are these common at all? • many Super I/O chips have integrated hardware monitors • Intel Core and AMD K8 / K10 have integrated thermal sensors • IPMI in servers / ACPI in laptops • SCSI enclosures • 10GbE and 802.11 Why sensors framework? • Monitoring environmental values can predict, detect, troubleshoot system failure. (Voltage, temperature, fan, logical drive status.) • Unified interface, no configuration required, works out-of-the-box. • Sensors are fun! Uber cool drivers • sdtemp(4) — SO-DIMM temperature sensors • km(4) — AMD Family 10h processors (Phenom, Opteron Barcelona) and Family 11h (Turion X2 Ultra et al) neither of these two are in Linux yet! http://theos.com/deraadt/jc-42.4-pic1.jpg http://theos.com/deraadt/jc-42.4-pic2.jpg Design decisions • Keep it simple, secure and usable • Make it work by default • Overengineering is useless — many devices have incomplete specifications • No buttons™ How voltage sensors work? • Most chips have sensors from 0 to 4 V • Excess voltage removed by resistors • Resistor “recommendations” How voltage sensors read? function maths result original readin’ 0xcb 203 sensor voltage 203 * 16 mV 3.24 V scale for +5 V 3.24 V * 1.68 5.44 V scale for +12 V 3.24 V * 3.80 12.31 V Resistor recommendations • Ignored by some motherboard designers • Not given in documentation for some chips • Results: • voltage “doesn’t scale” • do the best with what you have Framework API /sys/sys/sensors.h • struct sensor / struct sensordev, transport over sysctl(3) • sensor description, e.g.
    [Show full text]
  • Freebsd and Netbsd on APM86290 System on Chip
    FreeBSD and NetBSD on APM86290 System on Chip Zbigniew Bodek Semihalf [email protected] Abstract Single chip computers conquered not only the world of mobile devices, but are extensively be- This paper covers recent development ing used in the modern telecommunication sys- work on porting FreeBSD/powerpc and tems as they provide high performance data NetBSD/evbppc to the new APM86290 processing and a large number of capabilities system-on-chip from AppliedMicro. The combined with the low energy consumption and APM86290 is a dual core device compliant reasonable price. PowerPC is a superscalar, with the Book-E definition of the PowerPC RISC-like computer architecture, originally in- architecture, presenting a number of periph- troduced by Apple-IBM-Motorola (AIM) al- erals integrated in a single chip and labour liance. Initially designed for personal comput- efficiency improved by implementation of a ers, it became popular for embedded systems, message passing architecture. servers, super-computers, and gaming. The article focuses on presenting the dif- Fast evolving telecommunication industry ferences and similarities between FreeBSD and demands from the modern chips more and more NetBSD systems in the context of porting them packet processing power, along with the so- to an embedded architecture. The material phisticated capabilities concerning packet clas- briefly describes the influence of the innova- sification, security extensions, and acceleration tive inter-circuit communication architecture, subsystems designed to offload CPUs from the and data flow in the APM86290 chip on de- compute-intensive data servicing. vice drivers development. In particular the pa- per talks about the new architecture’s impact Every processor, even the most sophisti- on the FreeBSD’s and NetBSD’s drivers infras- cated one, is just an empty vessel without an tructure in example of the networking driver.
    [Show full text]
  • HP C User's Guide for Openvms Systems
    HP C User’s Guide for OpenVMS Systems Order Number: AA–PUNZM–TK January 2005 This guide describes using the HP C compiler on OpenVMS systems. It contains information on HP C program development in the OpenVMS environment, HP C features specific to OpenVMS systems, and cross-system portability concerns. Revision/Update Information: This revised guide supersedes the Compaq C User’s Guide for OpenVMS Systems Order No. AA–PUNZL–TK, Version 6.5. Operating System and Version: OpenVMS I64 Version 8.2 or higher OpenVMS Alpha Version 7.3-2 or higher Software Version: HP C Version 7.1 for OpenVMS Systems Hewlett-Packard Company Palo Alto, California © Copyright 2005 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor’s standard commercial license. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. UNIX is a registered trademark of The Open Group. X/Open is a registered trademark of X/Open Company Ltd. in the UK and other countries. Intel and Itanium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
    [Show full text]
  • Real-Time Audio Servers on BSD Unix Derivatives
    Juha Erkkilä Real-Time Audio Servers on BSD Unix Derivatives Master's Thesis in Information Technology June 17, 2005 University of Jyväskylä Department of Mathematical Information Technology Jyväskylä Author: Juha Erkkilä Contact information: [email protected].fi Title: Real-Time Audio Servers on BSD Unix Derivatives Työn nimi: Reaaliaikaiset äänipalvelinsovellukset BSD Unix -johdannaisjärjestelmissä Project: Master's Thesis in Information Technology Page count: 146 Abstract: This paper covers real-time and interprocess communication features of 4.4BSD Unix derived operating systems, and especially their applicability for real- time audio servers. The research ground of bringing real-time properties to tradi- tional Unix operating systems (such as 4.4BSD) is covered. Included are some design ideas used in BSD-variants, such as using multithreaded kernels, and schedulers that can provide real-time guarantees to processes. Factors affecting the design of real- time audio servers are considered, especially the suitability of various interprocess communication facilities as mechanisms to pass audio data between applications. To test these mechanisms on a real operating system, an audio server and a client utilizing these techniques is written and tested on an OpenBSD operating system. The performance of the audio server and OpenBSD is analyzed, with attempts to identify some bottlenecks of real-time operation in the OpenBSD system. Suomenkielinen tiivistelmä: Tämä tutkielma kattaa reaaliaikaisuus- ja prosessien väliset kommunikaatio-ominaisuudet, keskittyen 4.4BSD Unix -johdannaisiin käyt- töjärjestelmiin, ja erityisesti siihen kuinka hyvin nämä soveltuvat reaaliaikaisille äänipalvelinsovelluksille. Tutkimusalueeseen sisältyy reaaliaikaisuusominaisuuk- sien tuominen perinteisiin Unix-käyttöjärjestelmiin (kuten 4.4BSD:hen). Mukana on suunnitteluideoita, joita on käytetty joissakin BSD-varianteissa, kuten säikeis- tetyt kernelit, ja skedulerit, jotka voivat tarjota reaaliaikaisuustakeita prosesseille.
    [Show full text]
  • Recent Security Enhancements in Netbsd
    Recent Security Enhancements in NetBSD Elad Efrat < [email protected] > September 2006 Abstract Over the years, NetBSD obtained the position of the BSD focusing on portability. While it is true that NetBSD offers an easily portable operating system, care is also given to other areas, such as security. This paper presents the NetBSD philosophy of security, design decisions, and currently offered security features. Finally, some of the current and future research will be revealed. 1. Introduction Running on almost twenty different architectures, and easily portable to others, NetBSD gained its reputation as the most portable operating system on the planet. While that may indicate high quality code, the ever demanding networked world cares about more than just that. Over the past year, NetBSD evolved quite a bit in various areas; this paper, however, will focus on the aspect relating to security. This paper was written and structured to present a full overview of the recent security enhancements in NetBSD in an easily readable and balanced form that will satisfy new, intermediate, and experienced users. References were sprinkled across the text to provide more information to those who want the gory details, while preserving the continuity. Section 2 will present the bigger picture of security in NetBSD: how NetBSD perceives security, the design decisions of NetBSD software in general and the security infrastructure and features more specifically. Section 3 will present a detailed overview of the recent enhancements in the security infrastructure and features of NetBSD including, where relevant, details about the design, implementation, and possible future development. Section 4 will present current security-related research and development in NetBSD, and section 5 will discuss how the described enhancements work together to provide a more secure platform.
    [Show full text]