NetBSD is a freely available
open sourceThe 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 DistributionBerkeley 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)
UnixUnix 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 systemAn 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
386BSD386BSD, 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 licenseBSD 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 GroupThe 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, BerkeleyThe University of California, Berkeley , is a teaching and research university established in 1868 and located in Berkeley, California, USA...
, via their Net/2
source codeIn 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
386BSD386BSD, 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 RaadtTheo 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
InternetThe 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,
OpenBSDOpenBSD 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
pkgsrcpkgsrc 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-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-bit64-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...
architecturesIn 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
VAXVAX 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 PCA 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...
PDAsA 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 distributionA 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
CVSThe 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
MMUA 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
DMADirect 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 driverIn 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
PCIConventional 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-32IA-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...
,
AlphaAlpha, 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...
,
PowerPCPowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
,
SPARCSPARC 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
ISAIndustry 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 cardIn 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,
LinuxLinux 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
compilerA 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-compilingA 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
toasterThe 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
PowerQUICCPowerQUICC 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,
AMCCApplied 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
XScaleThe 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 , 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 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 softwareApplication 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
KDEKDE 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...
,
GNOMEGNOME 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 serverThe 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
PerlPerl 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-likeA 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
LinuxLinux 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
FreeBSDFreeBSD 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...
,
SolarisSolaris 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....
,
DarwinDarwin 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 XMac 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...
,
IRIXIRIX 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...
,
InterixInterix 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.
pkgsrcpkgsrc 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 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...
.
Symmetric multiprocessing
NetBSD has had support for
SMPIn 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 lockIn 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 primitivesIn 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 activationsScheduler 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 interruptsIn 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 memoryIn 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 allocatorSlab 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 handlingIn 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
VFSA 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 systemA 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 driverIn 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 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
GCCThe 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 ProtectionBuffer 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 ExecutablesVeriexec 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
PerlPerl 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 monitorIn 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
VirtualBoxOracle 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
QEMUQEMU 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
iSCSIIn 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 managementIn 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
ZFSIn 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 ManagerLogical Volume Manager may refer to:*Logical Volume Manager *Logical Volume Manager...
tools. It was mostly written during the
Google Summer of CodeThe 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
ZFSIn 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 MicrosystemsSun 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 , 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 callIn 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
LinuxLinux 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
FreeBSDFreeBSD 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
DarwinDarwin 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....
,
SolarisSolaris 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
SunOSSunOS 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
FATFile 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...
,
NTFSNTFS 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 XMac 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...
UFSThe 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 OSRISC 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,
AmigaOSAmigaOS 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 SystemThe 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...
,
IRIXIRIX 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
FUSEFilesystem 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 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
GPLThe 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
GNUGNU 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 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 preemptionKernel 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 setsAn 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 affinityProcessor 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 journalingA 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 FFSThe 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 modulesIn 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.OrgX.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 XFree86XFree86 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 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, CARPThe 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... , tmpfstmpfs 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 BluetoothBluetooth 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 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 ModulesPluggable 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 hashDirhash 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 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" 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 localeIn 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 Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4... and IPsecInternet 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. OpenSSLOpenSSL 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 OpenSSHOpenSSH 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 ELFIn 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 SPARC64SPARC64 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 FFSThe 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 updatesIn 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 NTFSNTFS 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 memoryIn 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 RAIDRAID is a storage technology that combines multiple disk drive components into a logical unit... implementation, and imported IPFilterIPFilter 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 MacintoshPower 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 NeXTcubeThe 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... /stationNeXTstation 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 |
XFree86XFree86 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 PlayThe 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 APMAdvanced 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 pkgsrcpkgsrc 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 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. NTPThe 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 loopA 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 ARMARM 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 AlphaAlpha, 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 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, AmigaThe 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... , 68kThe 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-4cThe 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 PC532The 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 KerberosKerberos 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, 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, 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 JimaRaising 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 systemA 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...
,
QNXQNX 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 NetworksForce10 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
NASAThe 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 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...
, and for investigations of
TCPThe 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
satelliteIn 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,
SUNETSUNET 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
Internet2Internet2 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 CapsuleThe 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 XMac 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
smartphoneA 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, 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 TechnologyLuleå 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 UniversityColumbia 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 UniversityWestern 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 systems
There 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 systems
These 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 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...
- 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...
- MidnightBSD
MidnightBSD 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 BSD
MirOS 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...
- 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...
- PC-BSD
PC-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