NetBSD facts for kids
![]() |
|
![]() NetBSD 10.1 default CTWM desktop on a Sun UltraSPARC-IIe station
|
|
Company / developer | The NetBSD Foundation, Inc. |
---|---|
Programmed in | C |
OS family | Unix-like (BSD) |
Working state | Current |
Source model | Open source |
Initial release | 19 April 1993 |
Latest stable release | 10.1 / 16 December 2024 |
Package manager | pkgsrc |
Supported platforms | Alpha, ARM, x86 (IA-32 and x86-64), PA-RISC, 68k, MIPS, PowerPC, SH3, SPARC, RISC-V, VAX |
Kernel type | Monolithic with dynamically loadable modules, rump kernel |
Userland | BSD |
Influenced by | 386BSD |
Default user interface | ash, X11 (CTWM) |
License | 2-clause BSD license |
NetBSD is a special kind of operating system that is free to use and change. It's like the main program that makes your computer work. NetBSD is based on something called Berkeley Software Distribution (BSD), which is a family of operating systems similar to Unix.
It was one of the first open-source BSD systems released. This means its code is available for anyone to see and improve. NetBSD is still being actively developed today. You can use it on many different devices, from big servers to regular desktops, and even small handheld gadgets or specialized devices.
The people who work on NetBSD really care about making the code clear, well-designed, and able to run on many different types of computers. Their motto is: "Of course it runs NetBSD!"
Contents
- History of NetBSD
- Cool Features of NetBSD
- Runs on Many Devices
- Easy to Build Software
- The pkgsrc Software Collection
- Using Multiple Processors
- Keeping Your Computer Safe
- How NetBSD Manages Memory
- Virtualization Fun
- Rump Kernels: Tiny Operating Systems
- Storing Your Data
- Works with Other Operating Systems
- Kernel Scripting with Lua
- Finding Bugs (Debugging)
- Loadable Kernel Modules (LKMs)
- How NetBSD Starts Up
- Sensors and Monitoring
- Sound System
- How NetBSD is Used
- How NetBSD is Licensed
- NetBSD Releases
- NetBSD Logo
- The NetBSD Foundation
- Where NetBSD is Hosted
- See also
History of NetBSD
NetBSD started from an older system called 386BSD and parts of the Berkeley Software Distribution. Some developers working on 386BSD felt that its progress was too slow. They wanted a more open way to develop the operating system.
Four founders – Chris Demetriou, Theo de Raadt, Adam Glass, and Charles Hannum – decided to create a new project. Their goal was to build a unified, high-quality, BSD-based operating system that could run on many different computer types. They chose the name "NetBSD" because of how important the Internet and computer networks were becoming.
The NetBSD project officially began on March 21, 1993. The very first version, NetBSD 0.8, was released on April 19, 1993. It included improvements and missing parts from the older 386BSD.
In October 1994, NetBSD 1.0 was released. This was a big step because it was the first version that could run on multiple types of computers. Around that time, one of the founders, Theo de Raadt, left the project. He later started his own project called OpenBSD in 1995, using a version of NetBSD 1.0 as a starting point.
In 1998, NetBSD 1.3 introduced something called pkgsrc. This is a system for easily installing and managing other software programs.
Before 2004, new NetBSD versions came out about once a year. After version 2.0, they started using a different numbering system. Major updates now get a new main number (like 3.0, 4.0, and so on). Smaller updates are called "stable" releases, and tiny updates with only security fixes are also released.
NetBSD used to come with a simple graphical interface called twm. In 2020, with version 9.1, they switched to a more modern one called CTWM.
Cool Features of NetBSD
Runs on Many Devices
NetBSD is famous for being able to run on a huge variety of computers. This is called "portability." It can run on old VAX computers, small Pocket PC devices, and even video game consoles like the Sega Dreamcast and Nintendo Wii. As of 2019, NetBSD supports 59 different types of hardware!
This amazing flexibility is partly because NetBSD uses special layers that help it talk to different hardware parts. This means that a single piece of code, like a device driver for a PCI card, can work on many different computer types without needing big changes.
This makes NetBSD great for embedded systems, which are computers built into other devices. For example, in 2005, a company showed off a kitchen toaster that ran NetBSD!
Easy to Build Software
NetBSD has a special system that helps developers build a complete NetBSD system for one type of computer, even if they are working on a different type of computer. This is called "cross-compiling." It's very useful for creating software for embedded devices.
The pkgsrc Software Collection
NetBSD uses a system called pkgsrc to help you install and manage other software. Think of it like a giant app store for your computer, but for more technical programs. As of October 2019, pkgsrc has over 20,000 different software packages!
You can use pkgsrc to automatically download, build, and install programs like KDE or GNOME (which are desktop environments), the Apache HTTP Server (for websites), or Perl (a programming language). It also makes sure that any other programs needed for your chosen software are installed too.
What's really cool is that pkgsrc works not just on NetBSD, but also on other Unix-like systems like macOS, Solaris, and Linux.
Using Multiple Processors
NetBSD has been able to use multiple computer processors (or "cores") at the same time since 2004. This is called SMP. This means it can spread out tasks across different parts of the computer, making things run faster.
Over the years, NetBSD developers have made many improvements to how it handles multiple processors. This helps it run very smoothly and efficiently on modern computers with many cores. The latest versions are even better at using all the power of your computer, especially on systems with different types of cores, like those found in some phones and tablets.
Keeping Your Computer Safe
NetBSD has many features to help keep your computer secure.
- Kernel Authorization (kauth): This is like a security guard inside the operating system. It checks if a program is allowed to do certain things before it does them.
- Verified Executables (Veriexec): This feature lets you "fingerprint" files. If a file doesn't match its fingerprint, NetBSD can stop it from running. This helps prevent harmful programs from taking over.
- Non-executable Memory: NetBSD can mark certain parts of the computer's memory as "non-executable." This makes it much harder for bad programs to trick your computer into running harmful code.
- Exploit Protection: NetBSD includes features like ASLR (which shuffles memory around to make attacks harder) and Stack Smashing Protection (which helps prevent a common type of attack called a "buffer overflow").
- Disk Encryption (CGD): This allows you to encrypt your entire disk, keeping your data safe even if someone gets access to your computer.
- Firewall (NPF): NPF is a powerful firewall that helps protect your computer from unwanted network traffic. It can block suspicious connections and keep your computer safe from attacks.
- WireGuard VPN: NetBSD also supports WireGuard, a modern and secure way to create a VPN, which helps keep your internet connection private.
The NetBSD team regularly checks their code for problems and publishes security updates to fix any issues.
How NetBSD Manages Memory
NetBSD uses a system called UVM to manage your computer's virtual memory. This system helps the computer use its memory efficiently, especially when dealing with many programs at once. UVM was designed to be simpler and faster than older memory management systems.
It helps programs share memory safely and quickly. It also makes sure that when your computer needs to save information to the hard drive (called "swapping"), it does so in a very efficient way.
Newer versions of NetBSD have made the memory system even better, especially for computers with many processors.
Virtualization Fun
NetBSD can also be used with Xen, which is a virtual machine monitor. This means you can run several "virtual computers" on one physical computer. Each virtual computer can run its own operating system, like NetBSD or Linux.
Since NetBSD 9.0, it also has its own built-in virtualization system called NVMM (NetBSD Virtual Machine Monitor). This makes it even easier and faster to run virtual machines, especially with programs like QEMU.
Rump Kernels: Tiny Operating Systems
NetBSD 5.0 introduced a cool idea called "rump kernels." Imagine taking just a small part of the NetBSD operating system, like a device driver, and running it by itself in a special, lightweight environment. That's a rump kernel!
These tiny kernels are very small and use little memory. They can be used for many things, like:
- Adding NetBSD features to other operating systems.
- Creating very small, specialized programs that only do one job.
- Running parts of the system in a safer, isolated way.
- Testing different parts of the NetBSD system.
Storing Your Data
NetBSD includes many advanced features for storing data.
- RAID: It supports different ways to combine multiple disks into one larger, faster, or more reliable storage system.
- UFS2 and Snapshots: NetBSD uses an advanced file system called UFS2. It also has a "snapshot" feature that lets you take a quick picture of your file system at a certain moment. This is great for making backups.
- WAPBL (Journaling): This feature helps your file system recover quickly if your computer suddenly turns off. It also makes writing files faster.
- ZFS: NetBSD also supports ZFS, a very powerful and advanced file system known for its data protection and management features.
- Logical Volume Manager (LVM): This lets you manage your disk space more flexibly, combining different parts of disks into larger "logical volumes."
- CHFS: This is a special file system designed for flash memory devices, like those found in USB drives or solid-state drives.
Works with Other Operating Systems
NetBSD is very good at following standard rules for operating systems, like POSIX. This means many programs designed for Unix-like systems will work on NetBSD.
It can also run programs made for other operating systems, like Linux or older versions of SunOS. This is called "binary compatibility." You can even install WINE through pkgsrc to run some Win32 programs!
NetBSD also understands many different disk formats from other operating systems, like NTFS (from Windows) and HFS (from Apple).
Kernel Scripting with Lua
Since NetBSD 7.0, you can use the Lua programming language to write small scripts that run directly inside the NetBSD kernel. This is a very advanced feature that allows for powerful and flexible ways to extend the operating system. For example, it can be used to create special rules for the NPF firewall.
Finding Bugs (Debugging)
NetBSD has tools to help developers find and fix problems (bugs) in the system. It has a built-in kernel debugger called DDB that can help investigate crashes. It also has various tools to detect memory errors and other issues.
Loadable Kernel Modules (LKMs)
NetBSD supports Loadable Kernel Modules (LKMs). These are like small programs that can be added to the running operating system without needing to restart the whole computer. This is useful for adding new device drivers or features.
How NetBSD Starts Up
NetBSD uses a traditional BSD-style system to start up. It has a flexible system called `rc.d` that uses individual scripts to control different services when the computer boots up. This is similar to how some other Unix systems work.
Sensors and Monitoring
NetBSD has a built-in system called `envsys` that allows it to monitor hardware sensors. This means it can read information from things like temperature sensors in your computer. This data can be used by other programs to keep an eye on your system's health.
Sound System
NetBSD has a sound system that lets programs play and record audio. It's designed to be simple and efficient, allowing applications to interact directly with your sound hardware. This helps reduce delays and uses less of your computer's power. It can also mix sounds from different programs at the same time.
How NetBSD is Used

NetBSD's clear design, good performance, and ability to run on many different computers make it popular for embedded devices and servers, especially for things that involve networking. It's also known for being very stable and reliable.
Here are some examples of where NetBSD has been used:
- A commercial real-time operating system called QNX uses parts of NetBSD's network code.
- Dell Force10 uses NetBSD as the base for its operating system in high-performance network switches and routers.
- NASA used NetBSD in a project on the International Space Station to measure microgravity. It was also used for research on TCP for satellite networks.
- In 2004, SUNET used NetBSD to achieve a very fast internet speed record, choosing it because of how well its TCP code could handle large amounts of data.
- Apple's AirPort Extreme and Time Capsule products use NetBSD as their core operating system.
- Many companies use NetBSD internally for their products, including those focused on embedded systems, network routers, and cybersecurity solutions.
- The operating system for the T-Mobile Sidekick LX 2009 smartphone was based on NetBSD.
- The Minix operating system uses many parts of NetBSD, including its `pkgsrc` system.
- Parts of macOS and Android's C standard library originally came from NetBSD.
- The NPF firewall from NetBSD is used in commercial products.
- NetBSD is popular among people who enjoy retrocomputing because it's lightweight and supports many older computer architectures. You can use it to bring old computers like DEC VAXen or Commodore Amigas back to life!
- Rump kernels (the tiny operating system parts) from NetBSD are used in other operating systems like Genode and GNU Hurd to add new features.
- The SDF Public Access Unix System, a non-profit organization that provides computing services, uses NetBSD to power its large network of servers. It's considered the biggest NetBSD installation in the world!
How NetBSD is Licensed
Most of NetBSD's code is released under the BSD License. This is a very flexible license. It means that anyone can use, change, share, or even sell NetBSD, as long as they keep the original copyright notice. This makes it easy for companies to build products based on NetBSD without having to share their own changes.
In 2008, The NetBSD Foundation decided to use a simpler version of the BSD license (the two-clause BSD license).
NetBSD also includes some tools from the GNU project, which are covered by the GPL. The NetBSD project keeps these separate so that it's clear which parts have different licenses.
NetBSD Releases
Here are some of the major releases of NetBSD and some of their most important new features:
Major releases | Release date | Cool New Features |
---|---|---|
10.0 | 28 March 2024 |
|
9.0 | 14 February 2020 |
|
8.0 | 17 July 2018 |
|
7.0 | 8 October 2015 |
|
6.0 | 17 October 2012 |
|
5.0 | 29 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 |
|
NetBSD Logo
The NetBSD "flag" logo, which looks like a waving flag, was created in 2004 by Grant Bissett. It's a simpler version of an older logo designed by Shawn Mueller in 1994. Mueller's original design was inspired by the famous World War II photograph of soldiers raising a flag.
The NetBSD Foundation
The NetBSD Foundation is a non-profit organization that legally owns the NetBSD project's name and ideas. It was officially recognized as a non-profit in 2004. The members of the foundation are developers who actively contribute to NetBSD. They elect a Board of Directors every two years to guide the project.
Where NetBSD is Hosted
The NetBSD project's main homes for its files and development are at Columbia University and Western Washington University. They also use a CDN from Fastly to help deliver files quickly around the world. Many volunteers and supporters also provide "mirrors" (copies of the files) in different countries.
See also
In Spanish: NetBSD para niños
- Berkeley Software Distribution
- BSD licenses
- Comparison of BSD operating systems
- List of BSD operating systems
- Lumina (desktop environment)
- Comparison of operating systems
- Comparison of operating system kernels