NetBSD
Encyclopedia
NetBSD is a freely available open source
version of the Berkeley Software Distribution
(BSD) Unix
operating system
. It was the second open source BSD descendant to be formally released, after 386BSD
, and continues to be actively developed. The NetBSD project is primarily focused on high quality design, stability and performance of the system. Due to its portability and Berkeley-style license
, NetBSD is often used in embedded systems.
The current stable release of NetBSD is version 5.1 (November 19, 2010).
of the University of California, Berkeley
, via their Net/2 source code
release and the 386BSD
project. The NetBSD project began as a result of frustration within the 386BSD developer community with the pace and direction of the operating system's development. The four founders of the NetBSD project, Chris Demetriou, Theo de Raadt
, Adam Glass and Charles Hannum, felt that a more open development model would be beneficial to the project: one which was centered on portable, clean, correct code. Their aim was to produce a unified, multi-platform, production-quality, BSD-based operating system. The name "NetBSD" was suggested by de Raadt, based on the importance and growth of networks such as the Internet
at that time, and the distributed, collaborative nature of its development.
The NetBSD source code repository was established on March 21, 1993 and the first official release, NetBSD 0.8, was made in April, 1993. This was derived from 386BSD 0.1 plus the version 0.2.2 unofficial patchkit, with several programs from the Net/2 release missing from 386BSD re-integrated, and various other improvements. The first multi-platform release, NetBSD 1.0, was made in October 1994. Also in 1994, for disputed reasons, one of the founders, Theo de Raadt, left the project. He later founded a new project, OpenBSD
, from a forked version of NetBSD 1.0 near the end of 1995.
In 1998, NetBSD 1.3 introduced the pkgsrc
packages collection.
Until 2004, NetBSD 1.x releases were made at roughly annual intervals, with minor "patch" releases in between. From release 2.0 onwards, each major NetBSD release corresponds to an incremented major version number, i.e. the major releases following 2.0 are 3.0, 4.0 and so on. The previous minor releases are now divided into two categories: x.y "stable" maintenance releases and x.y.z releases containing only security and critical fixes.
and 64-bit
architectures
. These range from VAX
minicomputers to Pocket PC
PDAs
. As of 2009, NetBSD supports 57 hardware platforms (across 15 different processor architectures). Although the Linux 2.6 kernel includes support for more processor architectures, the NetBSD distribution supports more platforms than any single Linux distribution
. The kernel and userland for these platforms are all built from a central unified source-code tree managed by CVS
. Currently, unlike other kernels such as μClinux, the NetBSD kernel requires the presence of an MMU
in any given target architecture.
NetBSD's portability is aided by the use of hardware abstraction layer interfaces for low-level hardware access such as bus input/output or DMA
. Using this portability layer, device driver
s can be split into "machine-independent" and "machine-dependent" components. This allows a single driver to be easily used on several platforms by hiding details of exactly how the driver accesses the hardware, and reduces the amount of work needed to port it to a new architecture.
This enables, for instance, a driver for a specific PCI
card to work whether that card is in a PCI slot on an IA-32
, Alpha
, PowerPC
, SPARC
, or other architecture with a PCI bus. Also, a single driver for a specific device can operate via several different buses, for example ISA
, PCI, PC card
, etcetera.
In comparison, Linux
device driver code often needs to be reworked for every new architecture. As a consequence, in recent porting efforts by NetBSD and Linux developers, NetBSD has taken much less time to port to new hardware.
This platform independence aids the development of embedded systems, particularly since NetBSD 1.6, when the entire toolchain of compiler
s, assemblers, linkers, and other tools fully supported cross-compiling
.
In 2005, as a demonstration of NetBSD's portability and suitability for embedded applications, Technologic Systems, a vendor of embedded systems hardware, designed and demonstrated a NetBSD-powered kitchen toaster
.
Commercial ports to embedded platforms, including the AMD Geode LX800, Freescale PowerQUICC
processors, Marvell Orion, AMCC
405 family of PowerPC processors, Intel XScale
IOP and IXP series, were available from and supported by Wasabi Systems.
-compliant systems. Several embedded systems using NetBSD have required no additional software development other than toolchain and target rehost.
(short for "package source"), a framework for building and managing third-party application software
packages. The pkgsrc collection consists of more than 8100 packages as of . Building and installing packages such as KDE
, GNOME
, the Apache HTTP server
or Perl
is performed through the use of a system of makefiles. This can automatically fetch the source code, unpack, patch, configure, build and install the package such that it can be removed again later. An alternative to compiling from source is to use a precompiled binary package. In either case, any prerequisites/dependencies will be installed automatically by the package system, without need for manual intervention.
pkgsrc supports not only the hardware platforms that run NetBSD, but also several other Unix-like
operating systems, such as Linux
, other BSD variants like FreeBSD
, Solaris
, Darwin
/Mac OS X
, IRIX
, Interix
and others. pkgsrc
has also been adopted as the official package system for DragonFly BSD
.
since the NetBSD 2.0 release in 2004, which was initially implemented using the giant lock
approach. During the development cycle of the NetBSD 5 release, major work was done to improve SMP support; most of the kernel subsystems were modified to be MP safe and use the fine-grained locking approach. New synchronization primitives
were implemented and scheduler activations
was replaced with a 1:1 threading model in February 2007. A scalable M2 thread scheduler was implemented, though the old 4.4BSD scheduler still remains the default but was modified to scale with SMP. Threaded software interrupts
were implemented to improve synchronization. The virtual memory
system, memory allocator
and trap handling
were made MP safe. The file system framework, including the VFS
and major file system
s were modified to be MP safe. Since April, 2008 the only subsystems running with a giant lock are the network protocols and most device driver
s.
project, and GCC
Stack Smashing Protection
(SSP, or also known as ProPolice, enabled by default since NetBSD 6.0) compiler extensions. Verified Executables
(or Veriexec) is an in-kernel file integrity subsystem in NetBSD. It allows the user to set digital fingerprints (hashes) of files, and take a number of different actions if files do not match their fingerprints. For example, one can allow Perl
to run only scripts that match their fingerprints. The cryptographic device driver (CGD) allows using disks or partitions (including CDs and DVDs) for encrypted storage.
is supported in NetBSD since the 3.0 release. To use Xen, the system requires a special pre-kernel boot environment that loads a specialized Xen kernel as the "host OS" (known as Dom0). Any number of "guest OS" (known as DomU) virtualized computers, with or without (using "hypervisor" options) specific Xen/DomU support, can be run in parallel with the appropriate hardware resources.
With NetBSD 5, which greatly improves disk I/O and network I/O performance over NetBSD 4, some guest Operating Systems running under Xen are known to operate faster than when installed natively on the same hardware without NetBSD and Xen behind the scenes. The need for a boot manager, such as GRUB, was also eliminated with NetBSD 5's new built-in Xen-compatible configurable boot manager.
User-space virtualization such as VirtualBox
and QEMU
are also supported on NetBSD.
, a journaling filesystem, logical volume management
and the ZFS
filesystem.
The WAPBL journaling filesystem, an extension of the BSD FFS filesystem, was contributed by Wasabi Systems in 2008.
The NetBSD Logical Volume Manager is based on a BSD reimplementation of a device-mapper driver and a port of the Linux Logical Volume Manager
tools. It was mostly written during the Google Summer of Code
2008.
The ZFS
filesystem developed by Sun Microsystems
was imported in to the NetBSD base system in 2009. Currently, the NetBSD ZFS port is based on ZFS version 13.
.1 (IEEE 1003.1-1990) standard and mostly compliant with POSIX.2 (IEEE 1003.2-1992).
NetBSD also provides system call
-level binary compatibility on the appropriate processor architectures with several UNIX-derived and UNIX-like operating systems, including Linux
, other BSD variants like FreeBSD
, Apple's Darwin
, Solaris
and SunOS
4. This allows NetBSD users to run many applications that are only distributed in binary form for other operating systems, usually with no significant loss of performance.
A variety of "foreign" disk filesystem formats are also supported in NetBSD, including FAT
, NTFS
, Linux ext2fs, Mac OS X
UFS
, RISC OS
FileCore/ADFS, AmigaOS
Fast File System
, IRIX
EFS and many more through FUSE
.
(two, three, and four-clause variants). This essentially allows everyone to use, modify, redistribute or sell it as they wish, as long as they do not remove the copyright notice and license text (the four-clause variants also include terms relating to publicity material). Thus, the development of products based on NetBSD is possible without having to make modifications to the source code public. In contrast, the GPL
stipulates that changes to source code of a product must be released to the product recipient when products derived from those changes are released.
On June 20, 2008, the NetBSD Foundation announced a transition to the two clause BSD license, citing concerns with UCB support of clause 3 and industry applicability of clause 4.
NetBSD also includes the GNU
development tools and other packages, which are covered by the GPL and other open source licenses. As is the case for the other BSD projects, NetBSD separates those in its base source tree, in order to make removal of code under more restrictive licenses easier. As for packages, the installed software licenses may be controlled by modifying the list of allowed licenses in the pkgsrc configuration file (
photograph Raising the Flag on Iwo Jima
, which some perceived as culturally sensitive and inappropriate for an international project.
A commercial real-time operating system
, QNX
, uses a network stack which is based on NetBSD code , and provides various drivers ported from NetBSD.
Force10 Networks
uses NetBSD as the underlying operating system that powers FTOS (the Force10 Operating System), which is used in high scalability switch/routers. Force10 also made a donation to the NetBSD Foundation in 2007 to help further research and the open development community.
Wasabi Systems provides a commercial Wasabi Certified BSD product based on NetBSD with proprietary enterprise features and extensions, which are focused on embedded, server and storage applications.
NetBSD was used in NASA
's SAMS-II Project of measuring the microgravity environment on the International Space Station
, and for investigations of TCP
for use in satellite
networks.
In 2004, SUNET
used NetBSD to set the Internet2
Land Speed Record. NetBSD was chosen "due to the scalability of the TCP code".
NetBSD is also used in Apple's Airport Extreme and Time Capsule
products, instead of their own Mac OS X
(which uses FreeBSD's userland) platform.
The operating system of the T-Mobile Sidekick LX 2009 smartphone
is based on NetBSD.
Inc, the Luleå University of Technology
, Columbia University
, and Western Washington University
. Mirrors for the project are spread around the world and provided by volunteers and supporters of the project.
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
version of the Berkeley Software Distribution
Berkeley Software Distribution
Berkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
(BSD) Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
. It was the second open source BSD descendant to be formally released, after 386BSD
386BSD
386BSD, sometimes called "Jolix", was a free Unix-like operating system based on BSD, first released in 1992. It ran on PC compatible computer systems based on the Intel 80386 microprocessor...
, and continues to be actively developed. The NetBSD project is primarily focused on high quality design, stability and performance of the system. Due to its portability and Berkeley-style license
BSD licenses
BSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named....
, NetBSD is often used in embedded systems.
The current stable release of NetBSD is version 5.1 (November 19, 2010).
History
NetBSD was originally derived from the 4.3BSD release of the Berkeley Software Distribution from the Computer Systems Research GroupComputer Systems Research Group
The Computer Systems Research Group was a research group at the University of California, Berkeley that was dedicated to enhancing AT&T Unix operating system and funded by Defense Advanced Research Projects Agency.- History :...
of the University of California, Berkeley
University of California, Berkeley
The University of California, Berkeley , is a teaching and research university established in 1868 and located in Berkeley, California, USA...
, via their Net/2 source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
release and the 386BSD
386BSD
386BSD, sometimes called "Jolix", was a free Unix-like operating system based on BSD, first released in 1992. It ran on PC compatible computer systems based on the Intel 80386 microprocessor...
project. The NetBSD project began as a result of frustration within the 386BSD developer community with the pace and direction of the operating system's development. The four founders of the NetBSD project, Chris Demetriou, Theo de Raadt
Theo de Raadt
Theo de Raadt , born May 19, 1968 in Pretoria, South Africa, is a software engineer who lives in Calgary, Alberta, Canada. He is the founder and leader of the OpenBSD and OpenSSH projects, and was a founding member of the NetBSD project.- Childhood :...
, Adam Glass and Charles Hannum, felt that a more open development model would be beneficial to the project: one which was centered on portable, clean, correct code. Their aim was to produce a unified, multi-platform, production-quality, BSD-based operating system. The name "NetBSD" was suggested by de Raadt, based on the importance and growth of networks such as the Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
at that time, and the distributed, collaborative nature of its development.
The NetBSD source code repository was established on March 21, 1993 and the first official release, NetBSD 0.8, was made in April, 1993. This was derived from 386BSD 0.1 plus the version 0.2.2 unofficial patchkit, with several programs from the Net/2 release missing from 386BSD re-integrated, and various other improvements. The first multi-platform release, NetBSD 1.0, was made in October 1994. Also in 1994, for disputed reasons, one of the founders, Theo de Raadt, left the project. He later founded a new project, OpenBSD
OpenBSD
OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...
, from a forked version of NetBSD 1.0 near the end of 1995.
In 1998, NetBSD 1.3 introduced the pkgsrc
Pkgsrc
pkgsrc is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD. Since then it has evolved independently: in 1999, support for Solaris was added, later followed by support for other...
packages collection.
Until 2004, NetBSD 1.x releases were made at roughly annual intervals, with minor "patch" releases in between. From release 2.0 onwards, each major NetBSD release corresponds to an incremented major version number, i.e. the major releases following 2.0 are 3.0, 4.0 and so on. The previous minor releases are now divided into two categories: x.y "stable" maintenance releases and x.y.z releases containing only security and critical fixes.
Portability
As the project's motto ("Of course it runs NetBSD" ) suggests, NetBSD has been ported to a large number of 32-32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....
and 64-bit
64-bit
64-bit is a word size that defines certain classes of computer architecture, buses, memory and CPUs, and by extension the software that runs on them. 64-bit CPUs have existed in supercomputers since the 1970s and in RISC-based workstations and servers since the early 1990s...
architectures
Computer architecture
In computer science and engineering, computer architecture is the practical art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals and the formal modelling of those systems....
. These range from VAX
VAX
VAX was an instruction set architecture developed by Digital Equipment Corporation in the mid-1970s. A 32-bit complex instruction set computer ISA, it was designed to extend or replace DEC's various Programmed Data Processor ISAs...
minicomputers to Pocket PC
Pocket PC
A Pocket PC is also known by Microsoft as a 'Windows Mobile Classic device'. It is a hardware specification for a handheld-sized computer, personal digital assistant , that runs the Microsoft 'Windows Mobile Classic' operating system...
PDAs
Personal digital assistant
A personal digital assistant , also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. Current PDAs often have the ability to connect to the Internet...
. As of 2009, NetBSD supports 57 hardware platforms (across 15 different processor architectures). Although the Linux 2.6 kernel includes support for more processor architectures, the NetBSD distribution supports more platforms than any single Linux distribution
Linux distribution
A Linux distribution is a member of the family of Unix-like operating systems built on top of the Linux kernel. Such distributions are operating systems including a large collection of software applications such as word processors, spreadsheets, media players, and database applications...
. The kernel and userland for these platforms are all built from a central unified source-code tree managed by CVS
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...
. Currently, unlike other kernels such as μClinux, the NetBSD kernel requires the presence of an MMU
Memory management unit
A memory management unit , sometimes called paged memory management unit , is a computer hardware component responsible for handling accesses to memory requested by the CPU...
in any given target architecture.
NetBSD's portability is aided by the use of hardware abstraction layer interfaces for low-level hardware access such as bus input/output or DMA
Direct memory access
Direct memory access is a feature of modern computers that allows certain hardware subsystems within the computer to access system memory independently of the central processing unit ....
. Using this portability layer, device driver
Device driver
In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
s can be split into "machine-independent" and "machine-dependent" components. This allows a single driver to be easily used on several platforms by hiding details of exactly how the driver accesses the hardware, and reduces the amount of work needed to port it to a new architecture.
This enables, for instance, a driver for a specific PCI
Peripheral Component Interconnect
Conventional PCI is a computer bus for attaching hardware devices in a computer...
card to work whether that card is in a PCI slot on an IA-32
IA-32
IA-32 , also known as x86-32, i386 or x86, is the CISC instruction-set architecture of Intel's most commercially successful microprocessors, and was first implemented in the Intel 80386 as a 32-bit extension of x86 architecture...
, Alpha
DEC Alpha
Alpha, originally known as Alpha AXP, is a 64-bit reduced instruction set computer instruction set architecture developed by Digital Equipment Corporation , designed to replace the 32-bit VAX complex instruction set computer ISA and its implementations. Alpha was implemented in microprocessors...
, PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
, SPARC
SPARC
SPARC is a RISC instruction set architecture developed by Sun Microsystems and introduced in mid-1987....
, or other architecture with a PCI bus. Also, a single driver for a specific device can operate via several different buses, for example ISA
Industry Standard Architecture
Industry Standard Architecture is a computer bus standard for IBM PC compatible computers introduced with the IBM Personal Computer to support its Intel 8088 microprocessor's 8-bit external data bus and extended to 16 bits for the IBM Personal Computer/AT's Intel 80286 processor...
, PCI, PC card
PC card
In computing, PC Card is the form factor of a peripheral interface designed for laptop computers. The PC Card standard was defined and developed by the Personal Computer Memory Card International Association which itself was created by a number of computer industry companies in the United States...
, etcetera.
In comparison, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
device driver code often needs to be reworked for every new architecture. As a consequence, in recent porting efforts by NetBSD and Linux developers, NetBSD has taken much less time to port to new hardware.
This platform independence aids the development of embedded systems, particularly since NetBSD 1.6, when the entire toolchain of compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...
s, assemblers, linkers, and other tools fully supported cross-compiling
Cross compiler
A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is run. Cross compiler tools are used to generate executables for embedded system or multiple platforms. It is used to compile for a platform upon which it is not feasible to...
.
In 2005, as a demonstration of NetBSD's portability and suitability for embedded applications, Technologic Systems, a vendor of embedded systems hardware, designed and demonstrated a NetBSD-powered kitchen toaster
Toaster
The toaster is typically a small electric kitchen appliance designed to toast multiple types of bread products. A typical modern two-slice toaster draws anywhere between 600 and 1200 W and makes toast in 1 to 3 minutes...
.
Commercial ports to embedded platforms, including the AMD Geode LX800, Freescale PowerQUICC
PowerQUICC
PowerQUICC is the name for several Power Architecture based microcontrollers from Freescale Semiconductor. They are built around one or more PowerPC cores and the QUICC Engine which is a separate RISC core specialized in such tasks such as I/O, communications, ATM, security acceleration, networking...
processors, Marvell Orion, AMCC
Applied Micro Circuits Corporation
Applied Micro Circuits Corporation is a fabless semiconductor company designing network and embedded Power Architecture , and server processor ARM , optical transport and storage solutions...
405 family of PowerPC processors, Intel XScale
XScale
The XScale, a microprocessor core, is Intel's and Marvell's implementation of the ARMv5 architecture, and consists of several distinct families: IXP, IXC, IOP, PXA and CE . Intel sold the PXA family to Marvell Technology Group in June 2006....
IOP and IXP series, were available from and supported by Wasabi Systems.
Portable build framework
The NetBSD cross-compiling framework (also known as "build.sh" ) allows a complete NetBSD system for an architecture to be built from another system of different architecture (usually faster or with more hardware resources), even on a different operating system, since the framework supports most POSIXPOSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
-compliant systems. Several embedded systems using NetBSD have required no additional software development other than toolchain and target rehost.
The pkgsrc packages collection
NetBSD features pkgsrcPkgsrc
pkgsrc is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD. Since then it has evolved independently: in 1999, support for Solaris was added, later followed by support for other...
(short for "package source"), a framework for building and managing third-party application software
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...
packages. The pkgsrc collection consists of more than 8100 packages as of . Building and installing packages such as KDE
KDE
KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...
, GNOME
GNOME
GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...
, the Apache HTTP server
Apache HTTP Server
The Apache HTTP Server, commonly referred to as Apache , is web server software notable for playing a key role in the initial growth of the World Wide Web. In 2009 it became the first web server software to surpass the 100 million website milestone...
or Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
is performed through the use of a system of makefiles. This can automatically fetch the source code, unpack, patch, configure, build and install the package such that it can be removed again later. An alternative to compiling from source is to use a precompiled binary package. In either case, any prerequisites/dependencies will be installed automatically by the package system, without need for manual intervention.
pkgsrc supports not only the hardware platforms that run NetBSD, but also several other Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
operating systems, such as Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, other BSD variants like FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
, Solaris
Solaris Operating System
Solaris is a Unix operating system originally developed by Sun Microsystems. It superseded their earlier SunOS in 1993. Oracle Solaris, as it is now known, has been owned by Oracle Corporation since Oracle's acquisition of Sun in January 2010....
, Darwin
Darwin (operating system)
Darwin is an open source POSIX-compliant computer operating system released by Apple Inc. in 2000. It is composed of code developed by Apple, as well as code derived from NeXTSTEP, BSD, and other free software projects....
/Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, IRIX
IRIX
IRIX is a computer operating system developed by Silicon Graphics, Inc. to run natively on their 32- and 64-bit MIPS architecture workstations and servers. It was based on UNIX System V with BSD extensions. IRIX was the first operating system to include the XFS file system.The last major version...
, Interix
Interix
Interix is the name of an optional, full-featured POSIX and Unix environment subsystem for Microsoft's Windows NT-based operating systems.Interix is a component of the Services for Unix release 3.0 and 3.5...
and others. pkgsrc
Pkgsrc
pkgsrc is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD. Since then it has evolved independently: in 1999, support for Solaris was added, later followed by support for other...
has also been adopted as the official package system for DragonFly BSD
DragonFly BSD
DragonFly BSD is a free Unix-like operating system created as a fork of FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and a FreeBSD developer between 1994 and 2003, began work on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on July...
.
Symmetric multiprocessing
NetBSD has had support for SMPSymmetric multiprocessing
In computing, symmetric multiprocessing involves a multiprocessor computer hardware architecture where two or more identical processors are connected to a single shared main memory and are controlled by a single OS instance. Most common multiprocessor systems today use an SMP architecture...
since the NetBSD 2.0 release in 2004, which was initially implemented using the giant lock
Giant lock
In operating systems, a giant lock, also known as a big-lock or kernel-lock, is a lock which may be used in the kernel to provide the concurrency control required by symmetric multiprocessing systems....
approach. During the development cycle of the NetBSD 5 release, major work was done to improve SMP support; most of the kernel subsystems were modified to be MP safe and use the fine-grained locking approach. New synchronization primitives
Synchronization (computer science)
In computer science, synchronization refers to one of two distinct but related concepts: synchronization of processes, and synchronization of data. Process synchronization refers to the idea that multiple processes are to join up or handshake at a certain point, so as to reach an agreement or...
were implemented and scheduler activations
Scheduler activations
Scheduler Activations is a threading mechanism that, when implemented in an operating system's process scheduler, provides kernel-level thread functionality with user-level thread flexibility and performance...
was replaced with a 1:1 threading model in February 2007. A scalable M2 thread scheduler was implemented, though the old 4.4BSD scheduler still remains the default but was modified to scale with SMP. Threaded software interrupts
Interrupt
In computing, an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution....
were implemented to improve synchronization. The virtual memory
Virtual memory
In computing, virtual memory is a memory management technique developed for multitasking kernels. This technique virtualizes a computer architecture's various forms of computer data storage , allowing a program to be designed as though there is only one kind of memory, "virtual" memory, which...
system, memory allocator
Slab allocation
Slab allocation is a memory management mechanism intended for the efficient memory allocation of kernel objects which displays the desirable property of eliminating fragmentation caused by allocations and deallocations. The technique is used to retain allocated memory that contains a data object of...
and trap handling
Trap (computing)
In computing and operating systems, a trap, also known as an exception or a fault, is typicallyThere is a wide variation in the nomenclature...
were made MP safe. The file system framework, including the VFS
Virtual file system
A virtual file system or virtual filesystem switch is an abstraction layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way...
and major file system
File system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...
s were modified to be MP safe. Since April, 2008 the only subsystems running with a giant lock are the network protocols and most device driver
Device driver
In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
s.
Security
NetBSD provides various features in the security area. The Kernel Authorization framework (or Kauth) is a subsystem managing all authorization requests inside the kernel, and used as system-wide security policy. It allows external modules to plug-in the authorization process. NetBSD also incorporates exploit mitigation features, ASLR, MPROTECT and Segvguard from PaXPaX
PaX is a patch for the Linux kernel that implements least privilege protections for memory pages. The least-privilege approach allows computer programs to do only what they have to do in order to be able to execute properly, and nothing more. PaX was first released in 2000.PaX flags data memory as...
project, and GCC
GNU Compiler Collection
The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...
Stack Smashing Protection
Stack-smashing protection
Buffer overflow protection refers to various techniques used during software development to enhance the security of executable programs by detecting buffer overflows on stack-allocated variables as they occur and preventing them from becoming serious security vulnerabilities...
(SSP, or also known as ProPolice, enabled by default since NetBSD 6.0) compiler extensions. Verified Executables
Veriexec
Veriexec is a file-signing scheme for the NetBSD operating system.It introduces a special device node through which a signature list can be loaded into the kernel. The list contains file paths, together with hashes and an expected file type...
(or Veriexec) is an in-kernel file integrity subsystem in NetBSD. It allows the user to set digital fingerprints (hashes) of files, and take a number of different actions if files do not match their fingerprints. For example, one can allow Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
to run only scripts that match their fingerprints. The cryptographic device driver (CGD) allows using disks or partitions (including CDs and DVDs) for encrypted storage.
Virtualization
The Xen virtual-machine monitorHypervisor
In computing, a hypervisor, also called virtual machine manager , is one of many hardware virtualization techniques that allow multiple operating systems, termed guests, to run concurrently on a host computer. It is so named because it is conceptually one level higher than a supervisory program...
is supported in NetBSD since the 3.0 release. To use Xen, the system requires a special pre-kernel boot environment that loads a specialized Xen kernel as the "host OS" (known as Dom0). Any number of "guest OS" (known as DomU) virtualized computers, with or without (using "hypervisor" options) specific Xen/DomU support, can be run in parallel with the appropriate hardware resources.
With NetBSD 5, which greatly improves disk I/O and network I/O performance over NetBSD 4, some guest Operating Systems running under Xen are known to operate faster than when installed natively on the same hardware without NetBSD and Xen behind the scenes. The need for a boot manager, such as GRUB, was also eliminated with NetBSD 5's new built-in Xen-compatible configurable boot manager.
User-space virtualization such as VirtualBox
VirtualBox
Oracle VM VirtualBox is an x86 virtualization software package, originally created by software company Innotek GmbH, purchased by Sun Microsystems, and now developed by Oracle Corporation as part of its family of virtualization products...
and QEMU
QEMU
QEMU is a processor emulator that relies on dynamic binary translation to achieve a reasonable speed while being easy to port on new host CPU architectures....
are also supported on NetBSD.
Storage
NetBSD includes many enterprise features like iSCSIISCSI
In computing, iSCSI , is an abbreviation of Internet Small Computer System Interface, an Internet Protocol -based storage networking standard for linking data storage facilities. By carrying SCSI commands over IP networks, iSCSI is used to facilitate data transfers over intranets and to manage...
, a journaling filesystem, logical volume management
Logical volume management
In computer storage, logical volume management or LVM provides a method of allocating space on mass-storage devices that is more flexible than conventional partitioning schemes...
and the ZFS
ZFS
In computing, ZFS is a combined file system and logical volume manager designed by Sun Microsystems. The features of ZFS include data integrity verification against data corruption modes , support for high storage capacities, integration of the concepts of filesystem and volume management,...
filesystem.
The WAPBL journaling filesystem, an extension of the BSD FFS filesystem, was contributed by Wasabi Systems in 2008.
The NetBSD Logical Volume Manager is based on a BSD reimplementation of a device-mapper driver and a port of the Linux Logical Volume Manager
Logical Volume Manager
Logical Volume Manager may refer to:*Logical Volume Manager *Logical Volume Manager...
tools. It was mostly written during the Google Summer of Code
Google Summer of Code
The Google Summer of Code is an annual program, first held from May to August 2005, in which Google awards stipends to hundreds of students who successfully complete a requested free or open-source software coding project during the summer...
2008.
The ZFS
ZFS
In computing, ZFS is a combined file system and logical volume manager designed by Sun Microsystems. The features of ZFS include data integrity verification against data corruption modes , support for high storage capacities, integration of the concepts of filesystem and volume management,...
filesystem developed by Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...
was imported in to the NetBSD base system in 2009. Currently, the NetBSD ZFS port is based on ZFS version 13.
Compatibility with other operating systems
At the source code level, NetBSD is very nearly entirely compliant with POSIXPOSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
.1 (IEEE 1003.1-1990) standard and mostly compliant with POSIX.2 (IEEE 1003.2-1992).
NetBSD also provides system call
System call
In computing, a system call is how a program requests a service from an operating system's kernel. This may include hardware related services , creating and executing new processes, and communicating with integral kernel services...
-level binary compatibility on the appropriate processor architectures with several UNIX-derived and UNIX-like operating systems, including Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, other BSD variants like FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
, Apple's Darwin
Darwin (operating system)
Darwin is an open source POSIX-compliant computer operating system released by Apple Inc. in 2000. It is composed of code developed by Apple, as well as code derived from NeXTSTEP, BSD, and other free software projects....
, Solaris
Solaris Operating System
Solaris is a Unix operating system originally developed by Sun Microsystems. It superseded their earlier SunOS in 1993. Oracle Solaris, as it is now known, has been owned by Oracle Corporation since Oracle's acquisition of Sun in January 2010....
and SunOS
SunOS
SunOS is a version of the Unix operating system developed by Sun Microsystems for their workstation and server computer systems. The SunOS name is usually only used to refer to versions 1.0 to 4.1.4 of SunOS...
4. This allows NetBSD users to run many applications that are only distributed in binary form for other operating systems, usually with no significant loss of performance.
A variety of "foreign" disk filesystem formats are also supported in NetBSD, including FAT
File Allocation Table
File Allocation Table is a computer file system architecture now widely used on many computer systems and most memory cards, such as those used with digital cameras. FAT file systems are commonly found on floppy disks, flash memory cards, digital cameras, and many other portable devices because of...
, NTFS
NTFS
NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....
, Linux ext2fs, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
UFS
Unix File System
The Unix file system is a file system used by many Unix and Unix-like operating systems. It is also called the Berkeley Fast File System, the BSD Fast File System or FFS...
, RISC OS
RISC OS
RISC OS is a computer operating system originally developed by Acorn Computers Ltd in Cambridge, England for their range of desktop computers, based on their own ARM architecture. First released in 1987, under the name Arthur, the subsequent iteration was renamed as in 1988...
FileCore/ADFS, AmigaOS
AmigaOS
AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...
Fast File System
Amiga Fast File System
The Amiga Fast File System is a file system used on the Amiga personal computer. The previous Amiga filesystem upon the release of FFS became known as Amiga Old File System . OFS, while fine on floppy disk, soon proved too slow to keep up with era hard drives...
, IRIX
IRIX
IRIX is a computer operating system developed by Silicon Graphics, Inc. to run natively on their 32- and 64-bit MIPS architecture workstations and servers. It was based on UNIX System V with BSD extensions. IRIX was the first operating system to include the XFS file system.The last major version...
EFS and many more through FUSE
Filesystem in Userspace
Filesystem in Userspace is a loadable kernel module for Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code...
.
Licensing
All of the NetBSD kernel and most of the core userland source code is released under the terms of the BSD LicenseBSD licenses
BSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named....
(two, three, and four-clause variants). This essentially allows everyone to use, modify, redistribute or sell it as they wish, as long as they do not remove the copyright notice and license text (the four-clause variants also include terms relating to publicity material). Thus, the development of products based on NetBSD is possible without having to make modifications to the source code public. In contrast, the GPL
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
stipulates that changes to source code of a product must be released to the product recipient when products derived from those changes are released.
On June 20, 2008, the NetBSD Foundation announced a transition to the two clause BSD license, citing concerns with UCB support of clause 3 and industry applicability of clause 4.
NetBSD also includes the GNU
GNU
GNU is a Unix-like computer operating system developed by the GNU project, ultimately aiming to be a "complete Unix-compatible software system"...
development tools and other packages, which are covered by the GPL and other open source licenses. As is the case for the other BSD projects, NetBSD separates those in its base source tree, in order to make removal of code under more restrictive licenses easier. As for packages, the installed software licenses may be controlled by modifying the list of allowed licenses in the pkgsrc configuration file (
mk.conf
).Releases
The following table lists major NetBSD releases and their notable features in reverse chronological order. Minor and patch releases are not included.Colour | Meaning |
---|---|
Green | Release still supported |
Red | Release no longer supported |
Major releases | Release date | Notable features and changes |
---|---|---|
5.0 | April 29, 2009 | Rewritten threading subsystem based on a 1:1 model and rewritten scheduler Scheduling (computing) In computer science, a scheduling is the method by which threads, processes or data flows are given access to system resources . This is usually done to load balance a system effectively or achieve a target quality of service... implementation. Support for kernel preemption Kernel preemption Kernel preemption is a method used mainly in monolithic and hybrid kernels where all or most device drivers are run in kernel space, whereby the scheduler is permitted to forcibly perform a context switch Kernel preemption is a method used mainly in monolithic and hybrid kernels where all or most... , POSIX real-time scheduling extensions, processor-sets, and dynamic CPU sets Affinity mask An affinity mask is a bit mask indicating what processor a thread or process should be run on by the scheduler of an operating system. Setting the affinity mask for certain processes running under Windows can be useful as there are several system processes that are restricted to the first CPU / Core... for thread affinity Processor affinity Processor affinity is a modification of the native central queue scheduling algorithm in a symmetric multiprocessing operating system. Each task in the queue has a tag indicating its preferred / kin processor... . Added jemalloc memory allocator. A metadata journaling Journaling file system A journaling file system is a file system that keeps track of the changes that will be made in a journal before committing them to the main file system... for FFS Unix File System The Unix file system is a file system used by many Unix and Unix-like operating systems. It is also called the Berkeley Fast File System, the BSD Fast File System or FFS... , known as WAPBL (Write Ahead Physical Block Logging). Rewritten kernel modules Loadable Kernel Module In computing, a loadable kernel module is an object file that contains code to extend the running kernel, or so-called base kernel, of an operating system... framework, which will replace old LKMs. Use of X.Org X.Org X.Org refers to several things related to the X Window System:* X.Org, the organisation in charge of X standards from 1999 * The X.Org Foundation, a community-based foundation which took over X stewardship in 2004... rather than XFree86 XFree86 XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and is now available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It is developed by the... by default for i386 and amd64 ports, and introduction of drm(4)/DRI for 3d hardware acceleration. |
4.0 | December 19, 2007 | Added support for slab allocator, iSCSI ISCSI In computing, iSCSI , is an abbreviation of Internet Small Computer System Interface, an Internet Protocol -based storage networking standard for linking data storage facilities. By carrying SCSI commands over IP networks, iSCSI is used to facilitate data transfers over intranets and to manage... target, CARP Common Address Redundancy Protocol The Common Address Redundancy Protocol or CARP is a protocol which allows multiple hosts on the same local network to share a set of IP addresses. Its primary purpose is to provide failover redundancy, especially when used with firewalls and routers. In some configurations CARP can also provide... , tmpfs TMPFS tmpfs is a common name for a temporary file storage facility on many Unix-like operating systems. It is intended to appear as a mounted file system, but stored in volatile memory instead of a persistent storage device... , Xen 3, the Kernel Authorization framework, Veriexec and other security extensions, and a Bluetooth Bluetooth Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances from fixed and mobile devices, creating personal area networks with high levels of security... protocol suite. |
3.0 | December 23, 2005 | Support for Xen 2.0 was added. Support for filesystems > 2 terabyte Terabyte The terabyte is a multiple of the unit byte for digital information. The prefix tera means 1012 in the International System of Units , and therefore 1 terabyte is , or 1 trillion bytes, or 1000 gigabytes. 1 terabyte in binary prefixes is 0.9095 tebibytes, or 931.32 gibibytes... s added. Pluggable Authentication Modules Pluggable Authentication Modules Pluggable authentication modules are a mechanism to integrate multiple low-level authentication schemes into a high-level application programming interface . It allows programs that rely on authentication to be written independent of the underlying authentication scheme... added. OpenBSD Packet Filter was integrated as an alternative to IPFilter. UFS directory hash Dirhash Dirhash is a feature of FreeBSD that improves the speed of finding files in a directory. Rather than finding a file in a directory using a linear search algorithm, FreeBSD uses a hash table. The feature is backwards-compatible because the hash table is built in memory when the directory is... support. |
2.0 | December 9, 2004 | Addition of native POSIX threads and SMP support on i386 and other platforms. AMD64 architecture added. Support for UFS2 and SMBFS, addition of kqueue Kqueue Kqueue is a scalable event notification interface introduced in FreeBSD 4.1, also supported in NetBSD, OpenBSD, DragonflyBSD, and Mac OS X. It's the foundation of Apple's Grand Central Dispatch.... . |
1.6 | September 14, 2002 | Unified Buffer Cache (UBC) was introduced, which unifies the filesystem and virtual memory caches of file data. Zero-copy Zero-copy "Zero-copy" describes computer operations in which the CPU does not perform the task of copying data from one memory area to another. This is most often used to save on processing power and memory use when sending files over a network.- Principle :... support for TCP and UDP transmit path. Ten new platforms supported. New implementation of cross-building (build.sh) infrastructure. Added support for multibyte LC_CTYPE locale Locale In computing, locale is a set of parameters that defines the user's language, country and any special variant preferences that the user wants to see in their user interface... s. |
1.5 | December 6, 2000 | IPv6 IPv6 Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4... and IPsec IPsec Internet Protocol Security is a protocol suite for securing Internet Protocol communications by authenticating and encrypting each IP packet of a communication session... were added to the network stack. OpenSSL OpenSSL OpenSSL is an open source implementation of the SSL and TLS protocols. The core library implements the basic cryptographic functions and provides various utility functions... and OpenSSH OpenSSH OpenSSH is a set of computer programs providing encrypted communication sessions over a computer network using the SSH protocol... imported. New implementation of rc.d system start-up mechanism. Start of migration to ELF Executable and Linkable Format In computing, the Executable and Linkable Format is a common standard file format for executables, object code, shared libraries, and core dumps. First published in the System V Application Binary Interface specification, and later in the Tool Interface Standard, it was quickly accepted among... -format binaries. A ktruss utility for kernel tracing was added. Six new platforms supported, including SPARC64 SPARC64 SPARC64 is a microprocessor developed by HAL Computer Systems and fabricated by Fujitsu. It implements the SPARC V9 instruction set architecture , the first microprocessor to do so. SPARC64 was HAL's first microprocessor and was the first in the SPARC64 brand. It operates at 101 and 118 MHz... . Added FFS Unix File System The Unix file system is a file system used by many Unix and Unix-like operating systems. It is also called the Berkeley Fast File System, the BSD Fast File System or FFS... soft updates Soft updates In computer file systems, soft updates is an approach to maintaining disk integrity after a crash or power outage. They are an alternative to journaling file systems.... and support for NTFS NTFS NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7.... . |
1.4 | May 12, 1999 | UVM, a rewritten virtual memory Virtual memory In computing, virtual memory is a memory management technique developed for multitasking kernels. This technique virtualizes a computer architecture's various forms of computer data storage , allowing a program to be designed as though there is only one kind of memory, "virtual" memory, which... subsystem, was introduced. Added RAIDframe, a software RAID RAID RAID is a storage technology that combines multiple disk drive components into a logical unit... implementation, and imported IPFilter IPFilter IPFilter is an open source software package that provides firewall services and network address translation for many UNIX-like operating systems. The author and software maintainer is Darren Reed. IPFilter supports both IPv4 and IPv6 protocols, and is a stateful firewall.IPFilter is delivered... . Completion of the integration of all remaining 4.4BSD Lite-2 kernel improvements. Ports to Power Macintosh Power Macintosh Power Macintosh, later Power Mac, was a line of Apple Macintosh workstation-class personal computers based on various models of PowerPC microprocessors that were developed, marketed, and supported by Apple Inc. from March 1994 until August 2006. The first models were the Power Macintosh 6100,... and NeXTcube NeXTcube The NeXTcube was a high-end workstation computer developed, manufactured and sold by NeXT from 1990 until 1993. It superseded the original NeXT Computer workstation and was housed in a similar cube-shaped magnesium enclosure. The workstation ran the NeXTSTEP operating system.- Hardware :The... /station NeXTstation NeXTstation was a high-end workstation computer developed, manufactured and sold by NeXT from 1990 until 1993. It ran the NeXTSTEP operating system. The NeXTstation was released as a more affordable alternative to the NeXTcube at about US $4,995 or about half the price... systems added. Added full USB support. |
1.3 | March 9, 1998 | XFree86 XFree86 XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and is now available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It is developed by the... source tree was made a supported part of the distribution. Support for ISA Plug and Play ISA Plug and Play The term Legacy Plug and Play, also shortened to PnP, describes a series of specifications and Microsoft Windows features geared towards operating system configuration of devices. The standards were primarily aimed at pre-existing hardware that did not support Plug and Play, most predominately the... , PCMCIA, ATAPI and APM Advanced Power Management Advanced power management is an API developed by Intel and Microsoft and released in 1992 which enables an operating system running an IBM-compatible personal computer to work with the BIOS to achieve power management.Revision 1.2 was the last version of the APM specification, released in 1996.... added. ext2fs and FAT32 filesystems added. The pkgsrc Pkgsrc pkgsrc is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD. Since then it has evolved independently: in 1999, support for Solaris was added, later followed by support for other... packages collection system was introduced. |
1.2 | October 4, 1996 | Support for NFSv3, SCSI SCSI Small Computer System Interface is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, and electrical and optical interfaces. SCSI is most commonly used for hard disks and tape drives, but it... scanner and medium changer devices added. NTP Network Time Protocol The Network Time Protocol is a protocol and software implementation for synchronizing the clocks of computer systems over packet-switched, variable-latency data networks. Originally designed by David L... phase-locked loop Phase-locked loop A phase-locked loop or phase lock loop is a control system that generates an output signal whose phase is related to the phase of an input "reference" signal. It is an electronic circuit consisting of a variable frequency oscillator and a phase detector... added in kernel. Ports for ARM ARM architecture ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced... and Sharp X68k systems added. |
1.1 | November 26, 1995 | Ports for DEC Alpha DEC Alpha Alpha, originally known as Alpha AXP, is a 64-bit reduced instruction set computer instruction set architecture developed by Digital Equipment Corporation , designed to replace the 32-bit VAX complex instruction set computer ISA and its implementations. Alpha was implemented in microprocessors... , Atari TT/Falcon030 and MVME68k systems added. Binary emulation facility added. Generic audio subsystem introduced. |
1.0 | October 26, 1994 | The first multi-platform release, supporting the PC, HP 9000 HP 9000 HP 9000 is the name for a line of workstation and server computer systems produced by the Hewlett-Packard Company . The native operating system for almost all HP 9000 systems is HP-UX, a derivative of Unix. The HP 9000 brand was introduced in 1984 to encompass several existing technical... Series 300, Amiga Amiga The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities... , 68k 68k The Motorola 680x0/m68000/68000 is a family of 32-bit CISC microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations and were the primary competitors of Intel's x86 microprocessors... Macintosh, Sun-4c SPARCstation The SPARCstation, SPARCserver and SPARCcenter product lines were a series of SPARC-based computer workstations and servers in desktop, deskside and rack-based form factor developed and sold by Sun Microsystems... series and the PC532 PC532 The PC532 was a "home-brew" microcomputer design created by George Scolaro and Dave Rand in 1989-90, based around the National Semiconductor NS32532 microprocessor... . Also in this release, the legally encumbered Net/2-derived source code was replaced with equivalent code from 4.4BSD-lite, in accordance with the USL v BSDi lawsuit settlement. Addition of shared libraries and Kerberos Kerberos Kerberos may refer to:* Cerberus, the hound of Hades * Kerberos saga, a science fiction series by Mamoru Oshii* Kerberos , a computer network authentication protocol* Kerberos Dante, a character from Saint Seiya... 5. |
0.9 | August 20, 1993 | Contained many enhancements and bug fixes. This was still a PC-platform-only release, although by this time work was underway to add support for other architectures. Support for loadable kernel modules (LKM). |
0.8 | April 20, 1993 | The first official release, derived from 386BSD 386BSD 386BSD, sometimes called "Jolix", was a free Unix-like operating system based on BSD, first released in 1992. It ran on PC compatible computer systems based on the Intel 80386 microprocessor... 0.1 plus the version 0.2.2 unofficial patchkit, with several programs from the Net/2 release missing from 386BSD re-integrated, and various other improvements. |
Logo
The NetBSD "flag" logo, designed by Grant Bissett, was introduced in 2004 and is an abstraction of their older logo, designed by Shawn Mueller in 1994. Mueller's version was based on the famous World War IIWorld War II
World War II, or the Second World War , was a global conflict lasting from 1939 to 1945, involving most of the world's nations—including all of the great powers—eventually forming two opposing military alliances: the Allies and the Axis...
photograph Raising the Flag on Iwo Jima
Raising the Flag on Iwo Jima
Raising the Flag on Iwo Jima is a historic photograph taken on February 23, 1945, by Joe Rosenthal. It depicts five United States Marines and a U.S. Navy corpsman raising the flag of the United States atop Mount Suribachi during the Battle of Iwo Jima in World War II.The photograph was extremely...
, which some perceived as culturally sensitive and inappropriate for an international project.
The NetBSD Foundation
The NetBSD Foundation is the legal entity that owns the intellectual property and trademarks associated with NetBSD, and on January 22, 2004, became a 501(c)3 tax-exempt non-profit organization. The members of the foundation are developers who have CVS commit access. The NetBSD Foundation has a Board of Directors, elected by the voting of members for two years.Examples of use
NetBSD's clean design, high performance, scalability, and support for many architectures has led to its use in embedded devices and servers, especially in networking applications.A commercial real-time operating system
Real-time operating system
A real-time operating system is an operating system intended to serve real-time application requests.A key characteristic of a RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is jitter...
, QNX
QNX
QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. The product was originally developed by Canadian company, QNX Software Systems, which was later acquired by Canadian BlackBerry-producer Research In Motion.-Description:As a microkernel-based...
, uses a network stack which is based on NetBSD code , and provides various drivers ported from NetBSD.
Force10 Networks
Force10
Force10 Networks , is a United States company which develops and markets 10 Gigabit and 100 Gigabit Ethernet switches for computer networking to corporate, educational, and governmental customers. It has offices in North America, Europe, and the Asia Pacific region.In 2011 Dell announced that they...
uses NetBSD as the underlying operating system that powers FTOS (the Force10 Operating System), which is used in high scalability switch/routers. Force10 also made a donation to the NetBSD Foundation in 2007 to help further research and the open development community.
Wasabi Systems provides a commercial Wasabi Certified BSD product based on NetBSD with proprietary enterprise features and extensions, which are focused on embedded, server and storage applications.
NetBSD was used in NASA
NASA
The National Aeronautics and Space Administration is the agency of the United States government that is responsible for the nation's civilian space program and for aeronautics and aerospace research...
's SAMS-II Project of measuring the microgravity environment on the International Space Station
International Space Station
The International Space Station is a habitable, artificial satellite in low Earth orbit. The ISS follows the Salyut, Almaz, Cosmos, Skylab, and Mir space stations, as the 11th space station launched, not including the Genesis I and II prototypes...
, and for investigations of TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
for use in satellite
Satellite
In the context of spaceflight, a satellite is an object which has been placed into orbit by human endeavour. Such objects are sometimes called artificial satellites to distinguish them from natural satellites such as the Moon....
networks.
In 2004, SUNET
SUNET
SUNET is the Swedish University Computer Network. SUNET provides high-speed Internet access to academic institutions in Sweden. The current incarnation of the network, OptoSunet, provides 40 Gbit/s links between the cities hosting universities. It replaces the older network, GigaSunet, based mainly...
used NetBSD to set the Internet2
Internet2
Internet2 is an advanced not-for-profit US networking consortium led by members from the research and education communities, industry, and government....
Land Speed Record. NetBSD was chosen "due to the scalability of the TCP code".
NetBSD is also used in Apple's Airport Extreme and Time Capsule
Time Capsule (Apple)
The Time Capsule is a wireless network-attached storage device combined with a wireless residential gateway router made by Apple Inc. It is described as a "Backup Appliance", designed to work in tandem with the Time Machine backup utility, introduced in Mac OS X 10.5 "Leopard".The device includes a...
products, instead of their own Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
(which uses FreeBSD's userland) platform.
The operating system of the T-Mobile Sidekick LX 2009 smartphone
Smartphone
A smartphone is a high-end mobile phone built on a mobile computing platform, with more advanced computing ability and connectivity than a contemporary feature phone. The first smartphones were devices that mainly combined the functions of a personal digital assistant and a mobile phone or camera...
is based on NetBSD.
Hosting
Hosting for the project is provided primarily by the Internet Systems ConsortiumInternet Systems Consortium
Internet Systems Consortium, Inc., also known as ISC, is a Delaware-registered, 501 public benefit non-profit corporation dedicated to supporting the infrastructure of the universal connected self-organizing Internet by developing and maintaining core production quality software, protocols, and...
Inc, the Luleå University of Technology
Luleå University of Technology
Luleå University of Technology or Luleå tekniska universitet of Sweden is Scandinavia's northernmost university of technology. It has four campuses, located in Luleå , Kiruna , Skellefteå and Piteå .-History:The university was founded on 1 June 1971 at Porsön in Luleå as...
, Columbia University
Columbia University
Columbia University in the City of New York is a private, Ivy League university in Manhattan, New York City. Columbia is the oldest institution of higher learning in the state of New York, the fifth oldest in the United States, and one of the country's nine Colonial Colleges founded before the...
, and Western Washington University
Western Washington University
Western Washington University is one of six state-funded, four-year universities of higher education in the U.S. state of Washington. It is located in Bellingham and offers bachelor's and master's degrees.-History:...
. Mirrors for the project are spread around the world and provided by volunteers and supporters of the project.
See also
- Comparison of BSD operating systemsComparison of BSD operating systemsThere are a number of Unix-like operating systems based on or descended from the Berkeley Software Distribution series of Unix variants. The three most notable descendants in current use are FreeBSD, OpenBSD, and NetBSD, which are all derived from 386BSD and 4.4BSD-Lite, by various routes...
- Comparison of operating systemsComparison of operating systemsThese tables compare general and technical information for a number of widely used and currently available operating systems.Because of the large number and variety of available Linux distributions, they are all grouped under a single entry; see comparison of Linux distributions for a detailed...
- Comparison of operating system kernels
- Debian GNU/NetBSD
- DragonFly BSDDragonFly BSDDragonFly BSD is a free Unix-like operating system created as a fork of FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and a FreeBSD developer between 1994 and 2003, began work on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on July...
- FreeBSDFreeBSDFreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
- MidnightBSDMidnightBSDMidnightBSD is a free Unix-like, desktop-oriented operating system based on FreeBSD 6.1. It borrows heavily from the NEXTSTEP graphical user interface.- History and development :...
- MirOS BSDMirOS BSDMirOS BSD is a free and open source operating system, which started as a fork of OpenBSD 3.1 in August 2002. It is intended to maintain the security of OpenBSD - from which it frequently synchronises code updates - with better support for European localisation...
- OpenBSDOpenBSDOpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...
- PC-BSDPC-BSDPC-BSD is a Unix-like, desktop-oriented operating system based on FreeBSD. It aims to be easy to install by using a graphical installation program, and easy and ready-to-use immediately by providing KDE SC as the pre-installed graphical user interface. PC-BSD provides official binary nVidia and...
External links
- Official NetBSD blog
- Jibbed a NetBSD based Live CD
- BSD News, Search Engine, Forums and Tutorials
- Binary packages from pkgsrc bulk builds at [ftp://ftp.netbsd.org/pub/NetBSD/packages]
- [irc://irc.freenode.net/netbsd #netbsd] on freenode
- NetBSD shell accountShell accountA shell account is a user account on a remote server which gives access to a shell via a command-line interface protocol such as telnet or ssh....
at Super Dimension Fortress and polarhome - Recent Security Enhancements in NetBSD
- UBC: An Efficient Unified I/O and Memory Caching Subsystem for NetBSD
- An Implementation of Scheduler Activations on the NetBSD Operating System
- An Implementation of User-level Restartable Atomic Sequences on the NetBSD Operating System
- International Space StationInternational Space StationThe International Space Station is a habitable, artificial satellite in low Earth orbit. The ISS follows the Salyut, Almaz, Cosmos, Skylab, and Mir space stations, as the 11th space station launched, not including the Genesis I and II prototypes...
message 1 and message 2 - Internet2 SUNET Internet2 Land Speed Record
- Waving the flag: NetBSD developers speak about version 4.0
- Hubert Feyrer's NetBSD Blog
- What Makes An Operating System "Portable"? by Hubert Feyrer
- Official NetBSD Xen installation "how-to guide"
- Unofficial Xen installation "step-by-step instructions"