NetBSD
Developer | The NetBSD Foundation |
---|---|
OS family | Unix (BSD) |
Working state | Current |
Source model | Open source |
Initial release | 19 April 1993 |
Latest release | 10.0 / 28 March 2024[1] |
Latest preview | 10.99.x[2] / Daily builds |
Repository | |
2-clause BSD license | |
Official website | netbsd |
Tagline | "Of course it runs NetBSD"[3] |
NetBSD is a
The NetBSD project focuses on code clarity, careful design, and portability across many
History
NetBSD was originally derived from the 4.3BSD-Reno release of the Berkeley Software Distribution from the Computer Systems Research Group of the University of California, Berkeley, via their Net/2 source code release and the 386BSD project.[5] 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.[11] 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 benefit the project: one centered on portable, clean, correct code. They aimed to produce a unified, multi-platform, production-quality, BSD-based operating system. The name "NetBSD" was chosen based on the importance and growth of networks such as the Internet at that time, and the distributed, collaborative nature of its development.[12]
The NetBSD source code repository was established on 21 March 1993 and the first official release, NetBSD 0.8, was made on 19 April 1993.[13] 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.[13][14] The first multi-platform release, NetBSD 1.0, was made in October 1994, and being updated with 4.4BSD-Lite sources, it was free of all legally encumbered 4.3BSD Net/2 code.[15] Also in 1994, for disputed reasons, one of the founders, Theo de Raadt, was removed from the project. He later founded a new project, OpenBSD, from a forked version of NetBSD 1.0 near the end of 1995.[16] In 1998, NetBSD 1.3 introduced the pkgsrc packages collection.[17]
Until 2004, NetBSD 1.x releases were made at roughly annual intervals, with minor "patch" releases in between. From release 2.0 onwards, NetBSD uses
Features
Portability
As the project's motto ("Of course it runs NetBSD" ) suggests, NetBSD has been ported to a large number of
NetBSD's portability is aided by the use of
This permits a particular device driver for a PCI card to work without modifications, whether it 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, like ISA, PCI, or PC Card.
This
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.[22]
Commercial ports to embedded platforms were available from and supported by Wasabi Systems, including platforms such as the
Portable build framework
The NetBSD cross-compiling framework (also known as "build.sh"
The pkgsrc packages collection
NetBSD features
pkgsrc supports not only NetBSD, but also several other BSD variants like
Symmetric multiprocessing
NetBSD has supported
Security
NetBSD provides various features in the security area.
Virtualization
The Xen virtual-machine monitor has been supported in NetBSD since release 3.0. The use of Xen requires a special pre-kernel boot environment that loads a Xen-specialized kernel as the "host OS" (Dom0). Any number of "guest OSes" (DomU) virtualized computers, with or without specific Xen/DomU support, can be run in parallel with the appropriate hardware resources.
The need for a third-party boot manager, such as GRUB, was eliminated with NetBSD 5's Xen-compatible boot manager.[34] NetBSD 6 as a Dom0 has been benchmarked comparably to Linux, with better performance than Linux in some tests.[35]
As of NetBSD 9.0, accelerated virtualization is provided through the native hypervisor NVMM (NetBSD Virtual Machine Monitor).[36]
It provides a virtualization API, libnvmm
, that can be leveraged by emulators such as QEMU. A unique property of NVMM is that the kernel never accesses guest VM memory, only creating it.[37]
Intel's Hardware Accelerated Execution Manager (HAXM) provides an alternative solution for acceleration in QEMU for Intel CPUs only, similar to Linux's KVM.[38]
NetBSD 5.0 introduced the rump kernel, an architecture to run drivers in user-space by emulating kernel-space calls. This anykernel architecture allows adding support of NetBSD drivers to other kernel architectures, ranging from exokernels to monolithic kernels.[39]
Storage
NetBSD includes many enterprise features like
The
The
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.[42]
The ZFS filesystem developed by Sun Microsystems was imported into the NetBSD base system in 2009.
The CHFS Flash memory filesystem was imported into NetBSD in November 2011. CHFS is a file system developed at the Department of Software Engineering, University of Szeged, Hungary, and is the first open source Flash-specific file system written for NetBSD.
Compatibility with other operating systems
At the source code level, NetBSD is very nearly entirely compliant with POSIX.1 (IEEE 1003.1-1990) standard and mostly compliant with POSIX.2 (IEEE 1003.2-1992).
NetBSD provides
A variety of "foreign" disk
Kernel scripting
Kernel-space scripting with the
Sensors
NetBSD has featured a native
As of March 2019[update], NetBSD had close to 85 device drivers exporting data through the API of the envsys framework. Since the 2007 revision, serialisation of data between the kernel and userland is done through XML
Uses
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.[47]
A commercial real-time operating system, QNX, uses a network stack based on NetBSD code,[48][49] and provides various drivers ported from NetBSD.[47]
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.[52]
NetBSD was used in NASA's SAMS-II Project of measuring the microgravity environment on the International Space Station,[53][54] and for investigations of TCP for use in satellite networks.[55][56]
In 2004, SUNET used NetBSD to set the Internet2 Land Speed Record. NetBSD was chosen "due to the scalability of the TCP code".[57]
NetBSD is also used in
The operating system of the
The Minix operating system uses a mostly NetBSD userland as well as its pkgsrc packages infrastructure since version 3.2.[63]
Parts of macOS were originally taken from NetBSD, such as some userspace command line tools.[64][65][66]
Licensing
All of the NetBSD kernel and most of the core userland source code is released under the terms of the BSD License (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, which does not apply to NetBSD, 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 20 June 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.[67]
NetBSD also includes the
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.
Legend: | Old version, not maintained | Older version, still maintained | Current stable version | Latest preview version |
---|
Major releases | Release date | Notable features and changes |
---|---|---|
[69] | 10.028 March 2024 |
|
[71][72] | 9.014 February 2020 |
|
[73] | 8.017 July 2018 |
|
[74][75] | 7.08 October 2015 |
|
[76] | 6.017 October 2012 |
|
[78][79][80] | 5.029 April 2009 |
|
4.0 | 19 December 2007 |
|
3.0 | 23 December 2005 |
|
2.0 | 9 December 2004 |
|
1.6 | 14 September 2002 |
|
1.5 | 6 December 2000 |
|
1.4 | 12 May 1999 |
|
1.3 | 9 March 1998 | |
1.2 | 4 October 1996 |
|
1.1 | 26 November 1995 |
|
1.0 | 26 October 1994 |
|
0.9 | 20 August 1993 |
|
0.8 | 20 April 1993 |
Logo
The NetBSD "flag" logo, designed by Grant Bissett, was introduced in 2004 and is an abstraction of their older logo,[95] designed by Shawn Mueller in 1994. Mueller's version was based on the famous World War II photograph Raising the Flag on Iwo Jima.[96]
The NetBSD Foundation
The NetBSD Foundation is the legal entity that owns the intellectual property and trademarks associated with NetBSD,
Hosting
Hosting for the project is provided primarily by Columbia University, and Western Washington University, fronted by a CDN provided by Fastly. Mirrors for the project are spread around the world and provided by volunteers and supporters of the project.
See also
References
- ^ "Announcing NetBSD 10.0 (Mar 28, 2024)".
- ^ Daily Release Engineering Builds
- ^ Delony, David (17 August 2021). "NetBSD Explained: The Unix System That Can Run on Anything". Makeuseof. Retrieved 16 January 2023.
- ISBN 1-56592-582-3.
- ^ a b c "About NetBSD". Retrieved 7 June 2014.
NetBSD is a fork of the 386/BSD branch of the Berkeley Software Distribution (or BSD) operating system.
- ^ "Get to know NetBSD: An operating system that travels". ibm.org.
- ISBN 978-0-7506-8584-9. pp. 291–292.
- ^ "About NetBSD". The NetBSD Foundation, Inc. The NetBSD Project's goals. Retrieved 26 September 2023.
- ^ "NetBSD features list". The NetBSD Foundation, Inc. Archived from the original on 6 August 2011. Retrieved 7 June 2014.
NetBSD focuses on clean design and well architected solutions.
- ISBN 0-672-32720-1. Retrieved 7 June 2014.
Some examples of highly portable operating systems are Minix, NetBSD, and many research systems.
- ^ "The History of the NetBSD Project". netbsd.org. The NetBSD Foundation. Retrieved 29 November 2009.
- ^ "INSTALLATION NOTES for NetBSD 0.8". NetBSD. 20 April 1993. Archived from the original on 17 January 2020. Retrieved 20 October 2020.
- ^ Usenet: [email protected]. Retrieved 12 May 2010.
- ^ "Information about NetBSD 0.8".
- ^ "Information about NetBSD 1.0".
- ^ De Raadt, Theo (29 March 2009). "Archive of the mail conversation leading to Theo de Raadt's departure". Retrieved 15 January 2010.
- ^ "Platforms supported by pkgsrc". netbsd.org. The NetBSD Foundation. Retrieved 10 January 2010.
- ^ "NetBSD release glossary and graphs". The NetBSD Project. 13 January 2010. Retrieved 15 January 2010.
- ^ "About NetBSD/dreamcast". NetBSD Blog. Retrieved 25 February 2024.
- ^ a b McNeill, Jared (21 January 2024). "NetBSD/evbppc 10.99.10 on the Nintendo Wii". YouTube. Retrieved 25 February 2024.
- ^ "Portability and supported hardware platforms". netbsd.org. The NetBSD Foundation. Retrieved 29 November 2009.
- ^ "Technologic Systems Designs NetBSD Controlled Toaster" (Press release). August 2005. Retrieved 11 June 2007.
- ^ The NetBSD Foundation (10 January 2010). "Chapter 31. Crosscompiling NetBSD with build.sh". The NetBSD Guide. Retrieved 15 January 2010.
- ^ "BSD or Linux: Which Unix is better for embedded applications?" (PDF). Wasabi Systems Inc. 2003. Archived from the original (PDF) on 30 December 2006. Retrieved 11 June 2007.
- ^ Klausner, Thomas (3 October 2019). "The pkgsrc-2019Q3 Release". tech-pkg (Mailing list).
- Dillon, Matthew (31 August 2005). "PKGSRC will be officially supported as of the next release". DragonFly users (Mailing list). Archived from the originalon 20 January 2008. Retrieved 15 January 2010.
- ^ "NetBSD 2.0 release notes".
- ^ "Significant changes from NetBSD 4.0 to 5.0". 23 December 2009. Retrieved 15 January 2010.
- ^ "NetBSD security(8) manual page".
- ^ "kauth(9)". NetBSD Manual Pages. 10 August 2009. Retrieved 15 January 2010.
- ^ "NetBSD paxctl(8) manual page".
- ^ "Chapter 19. NetBSD Veriexec subsystem".
- ^ "Chapter 14. The cryptographic device driver (CGD)".
- ^ "boot(8)". NetBSD Manual Pages. 4 September 2009. Retrieved 15 January 2010.
- ^ Matthew, Cherry G.; Monné, Roger Pau (August 2012). "(Free and Net) BSD Xen Roadmap". Retrieved 29 December 2012.
- ^ "NetBSD Virtual Machine Monitor". m00nbsd.net.
- ^ "Re: What is the difference between nvmm-netbsd and kvm-linux?". marc.info.
- ^ "The hardware-assisted virtualization challenge". NetBSD Blog.
- ^ "The Anykernel and Rump Kernels".
- ^ a b "bioctl(8) – RAID management interface". BSD Cross Reference. NetBSD.
- ^ Burge, Simon (2 March 2008). "Patches for journalling support". [email protected] (Mailing list). Retrieved 15 January 2010.
- ^ Hamsik, Adam (29 August 2008). "HEADS UP NetBSD lvm support". [email protected] (Mailing list). Retrieved 15 January 2010.
- ^ "NetBSD Binary Emulation". 13 January 2010. Retrieved 15 January 2010.
- ^ "Scriptable Operating Systems with Lua" (PDF).
- hdl:10012/5234. Document ID: ab71498b6b1a60ff817b29d56997a418.
- ^ "Research carried out using NetBSD". netbsd.org. Retrieved 11 May 2022.
- ^ QNX Software Systems. Retrieved 27 December 2011.
- QNX Software Systems. Retrieved 27 December 2011.
- QNX Software Systems. (registration required)
- ^ "Force10 Networks uses NetBSD to build software scalability into operating system". Dell (Press release). 13 February 2007. Archived from the original on 15 November 2011. Retrieved 27 December 2011.
- ^ "Force10 Networks introduces unified operating system across product portfolio to lower total cost of owning and operating networks". Dell (Press release). 28 January 2008. Archived from the original on 15 November 2011. Retrieved 27 December 2011.
- ^ "Wasabi Systems". Retrieved 16 February 2018.
- ^ Duc, Hiep Nguyen (21 June 2016). "NetBSD Introduction by Siju Oommen George - BSD MAG". BSD MAG. Retrieved 9 November 2017.
- ^ Rivett, Mary (12 April 1997). "Re: NetBSD/i386 and single board computers". port-i386 (Mailing list).
- ^ Duc, Hiep Nguyen (21 June 2016). "NetBSD Introduction by Siju Oommen George - BSD MAG". BSD MAG. Retrieved 9 November 2017.
- ^ Kruse, Hans; Allman, Mark; Griner, Jim & Tran, Diepchi (5 March 1998). "HTTP Page Transfer Rates over Geo-Stationary Satellite Links" (PDF). Archived from the original (PDF) on 20 July 2009. Retrieved 27 December 2011.
- ^ Josefsson, Börje (14 April 2004). "SUNET Internet2 Land Speed Record: 69.073 Pbmps". SUNET. Retrieved 27 December 2011.
- ^ "How to jailbreak an Apple Time Capsule?". superuser.com. Retrieved 27 December 2009.
- ^ Fleishman, Glenn (16 February 2007). "AirPort Extreme: Apple Breaks 90 Mbps". wifinetnews.com. Retrieved 28 December 2009.
- ^ "Myths about FreeBSD". Retrieved 7 June 2014.
The two operating systems do share a lot of code, for example most userland utilities and the C library on OS X are derived from FreeBSD versions.
- ^ "Overview of OS X". Apple Inc. 11 June 2012.
- ^ "Sidekick LX 2009 / Blade Will Run NetBSD". hiptop3.com. 30 January 2009. Archived from the original on 17 March 2009. Retrieved 5 February 2009.
- ^ "Minix Gets a NetBSD Code Infusion". pcworld.com. 29 February 2012. Retrieved 4 July 2012.
- ^ "chmod.c". opensource.apple.com.
- ^ "du.c". opensource.apple.com.
- ^ "mv.c". opensource.apple.com.
- ^ "NetBSD Licensing and Redistribution" (Press release). June 2008. Retrieved 20 June 2008.
- ^ "Distro description". Licensing Section: Free Penguin. Retrieved 7 June 2014.
NetBSD separates those in its base source tree, in order to make removal of code under more restrictive licenses easier.
- ^ "Announcing NetBSD 10.0 (Mar 28, 2024)".
- ^ Husemann, Martin (7 February 2024). "NetBSD 10.0 RC4 available!". NetBSD Blog. Retrieved 25 February 2024.
- ^ "Announcing NetBSD 9.0 (Feb 14, 2020)".
- ^ "NetBSD Blog".
- ^ "Announcing NetBSD 8.0". NetBSD. 17 July 2017.
- ^ "Announcing NetBSD 7.0".
- ^ DistroWatch Weekly, Issue 638, 30 November 2015
- ^ a b "Announcing NetBSD 6.0".
- ^ "aibs – ASUSTeK AI Booster ACPI ATK0110 voltage, temperature and fan sensor".
- ^ a b c "Announcing NetBSD 5.0".
- ^ Distributions [LWN.net]
- ^ DistroWatch Weekly, Issue 386, 3 January 2011
- ^ Sonnenberger, Jörg (19 January 2012). "Status of NetBSD and LLVM". Archived from the original on 9 April 2014. Retrieved 26 March 2015.
- ^ "Announcing NetBSD 4.0".
- ^ "Announcing NetBSD 3.0".
- ^ "Announcing NetBSD 2.0".
- ^ "Announcing NetBSD 1.6".
- ^ OS Review: NetBSD 1.6.2 on SPARC64, OSNews
- ^ "Announcing NetBSD 1.5".
- ^ "NetBSD 1.4 Release Announcement".
- ^ "Information about NetBSD 1.3".
- ^ "Information about NetBSD 1.2".
- ^ "Information about NetBSD 1.1".
- ^ "NetBSD 1.0 release announcement".
- ^ "NetBSD 0.9 available for anon-ftp..."
- ^ "Installation notes for NetBSD 0.8".
- ^ Old NetBSD logo
- ^ "NetBSD logo design competition".
- ^ The NetBSD Foundation, Inc.
- ^ "NetBSD Developers". 7 January 2010. Retrieved 15 January 2010.
- ^ "Bylaws of The NetBSD Foundation, Constitution of The NetBSD Foundation". p. Section 5.4. Retrieved 7 June 2014.
Each Director shall serve for two years
- Negus, Christopher; Caen, Francois (April 2008). BSD UNIX Toolbox: 1000+ Commands for FreeBSD, OpenBSD and NetBSD (First ed.). ISBN 978-0-470-38725-2.
- Lavigne, Dru (24 May 2004). BSD Hacks (First ed.). ISBN 0-596-00679-9.