kids encyclopedia robot

NetBSD facts for kids

Kids Encyclopedia Facts
Quick facts for kids
NetBSD
NetBSD.svg
NetBSD 9.2 xdm screenshot.png
NetBSD 9.2 showing XDM
Company / developer The NetBSD Foundation, Inc.
OS family Unix-like (BSD)
Working state Current
Source model Open source
Initial release 19 April 1993; 32 years ago (1993-04-19)
Latest stable release 10.0 / 28 March 2024; 15 months ago (2024-03-28)
Latest unstable release 10.99.x / Daily builds
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 Void Linux
Influenced by 386BSD
Default user interface Unix shell
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).

It was the very first open-source BSD system released after another project called 386BSD was "forked." To "fork" means to create a new project from an existing one. NetBSD is still being worked on today. You can use it on many different devices. These include servers, desktop computers, handheld gadgets, and even tiny embedded systems.

The NetBSD project focuses on making its code clear and well-designed. It also aims to work on many different types of computers. Its code is open for everyone to see and use.

History

NetBSD started from a version of the Berkeley Software Distribution. This was a project from the University of California, Berkeley. The NetBSD project began because some developers were unhappy with how 386BSD was being made.

Four people, Chris Demetriou, Theo de Raadt, Adam Glass, and Charles Hannum, started the NetBSD project. They wanted a more open way to develop the system. They aimed to create a single, high-quality operating system that would work on many computers. They chose the name "NetBSD" because the Internet was growing fast, and their work was done together online.

The NetBSD code was first put online on March 21, 1993. The first official version, NetBSD 0.8, came out on April 19, 1993. It was based on 386BSD but had many improvements.

The first version that worked on many different computer types was NetBSD 1.0. It came out in October 1994. Around the same time, one of the founders, Theo de Raadt, left the project. He later started a new project called OpenBSD in 1995.

In 1998, NetBSD 1.3 introduced something called the pkgsrc packages collection. This made it easier to add new programs.

Until 2004, new NetBSD versions came out about once a year. Since version 2.0, NetBSD uses a simpler numbering system. Major updates are 3.0, 4.0, and so on. Smaller updates fix problems or add minor features.

NetBSD used to come with a simple graphical interface called twm. In 2020, with version 9.1, they changed it to a more modern one called CTWM.

Features

NetBSD 9.2 boot screenshot
NetBSD starting up on a computer screen
NetBSD 9.2 welcome message as normal user screenshot
NetBSD showing a welcome message after you log in

Portability

NetBSD's motto is "Of course it runs NetBSD." This means it can work on many different computer systems. It runs on everything from large VAX computers to small Pocket PCs. It has even been put on video game consoles like the Sega Dreamcast and the Nintendo Wii. In 2019, NetBSD supported 59 different types of hardware.

NetBSD is easy to move to new systems because of how it's built. Its parts are designed to work with different hardware easily. This means a single piece of code can work on many different computers. For example, a driver for a PCI card will work on different types of computers that have a PCI slot.

This makes NetBSD great for embedded systems. These are small computers built into other devices. In 2005, a company showed off a kitchen toaster that ran NetBSD! This proved how flexible NetBSD is.

Portable Build Framework

NetBSD has a special system called "build.sh." It lets developers create a full NetBSD system for one type of computer using a different, more powerful computer. This is called cross-compiling. It even works if the powerful computer runs a different operating system.

The pkgsrc Packages Collection

NetBSD has a system called pkgsrc. This helps you install and manage extra software. In 2019, pkgsrc had over 20,000 different programs!

With pkgsrc, you can easily install programs like Lumina, KDE, GNOME, or Apache HTTP Server. The system can automatically get the program's code, set it up, build it, and install it. It can also remove programs easily. You can also use pre-made versions of programs instead of building them yourself.

pkgsrc works on NetBSD and many other systems. These include FreeBSD, macOS, Linux, and Solaris.

Symmetric Multiprocessing

NetBSD has supported SMP since 2004. SMP means the operating system can use multiple computer processors at the same time. This helps computers run faster and handle more tasks.

Over time, NetBSD's SMP support has gotten much better. It now uses a more advanced way to manage tasks across different processors.

Security

NetBSD has many features to keep your computer safe. The Kernel Authorization framework helps control what programs can do inside the system.

NetBSD also has features to stop attacks. These include ASLR (which makes it harder for attackers to find important parts of the system) and Stack Smashing Protection.

Verified Executables (Veriexec) is a system that checks if files have been changed. It can make sure that only trusted programs run. For example, it can allow Perl to run only scripts that haven't been tampered with. The Cryptographic Device Driver (CGD) lets you encrypt your disks or partitions. This keeps your data secret.

Virtualization

NetBSD supports Xen, which is a program that lets you run many virtual computers on one physical machine. It's like having several computers inside one. NetBSD can be the main operating system (Dom0) that manages these virtual machines.

Since NetBSD 9.0, it has its own fast virtualization system called NVMM. This makes virtual machines run even better. NVMM works with programs like QEMU to create virtual computers.

NetBSD 5.0 also brought in the rump kernel. This is a way to run parts of the operating system, like drivers, in a safer area outside the main kernel.

Storage

NetBSD includes many features for managing storage. These include iSCSI (for connecting to storage over a network), journaling filesystems (which help prevent data loss), logical volume management (for managing disk space), and the ZFS filesystem.

NetBSD has had a system for managing RAID (a way to combine multiple hard drives) since 2007. The WAPBL journaling filesystem, which helps protect your data, was added in 2008.

The NetBSD Logical Volume Manager helps you manage your disk space more flexibly. The ZFS filesystem, known for its advanced features, was added in 2009. NetBSD also supports CHFS, a file system made for Flash memory.

Compatibility with Other Operating Systems

NetBSD works very well with POSIX standards. This means it follows common rules for how operating systems should work.

NetBSD can also run programs made for other operating systems. This is called "binary compatibility." It means you can run many programs made for Linux or SunOS on NetBSD without problems.

NetBSD supports many different file systems from other operating systems. These include ZFS, FAT, NTFS, Linux ext2fs, and Apple HFS.

Kernel Scripting

NetBSD 7.0 added the ability to use the Lua programming language inside the kernel. This means developers can write small programs in Lua to control parts of the operating system.

Sensors

NetBSD has had a system for monitoring computer hardware since 1999. This system, called `envsys`, lets you see information from various sensors. For example, it can show you temperatures or fan speeds.

Uses

ISS on 20 August 2001
NetBSD was used by NASA to study how TCP works in satellite networks.

NetBSD's simple design, good performance, and ability to work on many computers make it useful. It is often used in small embedded systems and servers, especially for network tasks.

For example, a commercial operating system called QNX uses parts of NetBSD's network code. Dell Force10 uses NetBSD as the base for its operating system in large network switches.

NetBSD was even used by NASA! It helped measure the tiny forces on the International Space Station. It also helped study how TCP works in satellite networks.

In 2004, a group called SUNET used NetBSD to set a speed record for data transfer on the Internet2 network. They chose NetBSD because its TCP code was very good at handling large amounts of data.

NetBSD is also used in Apple's AirPort Extreme and Time Capsule products. The operating system for the T-Mobile Sidekick LX 2009 smartphone is also based on NetBSD.

The Minix operating system uses many parts of NetBSD, including its pkgsrc system. Some command-line tools in macOS also came from NetBSD.

Licensing

Most of NetBSD's code is released under the BSD License. This license is very open. It means anyone can use, change, share, or even sell NetBSD. The only rule is that they must keep the original copyright notice. This makes it easy for companies to build products using NetBSD without sharing their own changes.

This is different from the GPL. The GPL says that if you change software and share it, you must also share your changes.

In 2008, The NetBSD Foundation decided to use a simpler two-clause BSD license. This made it even easier for others to use NetBSD.

NetBSD also includes some tools that use the GPL. But NetBSD keeps these separate. This makes it easier to remove them if needed.

Releases

The table below shows the main versions of NetBSD and some of their important new features.


Legend: Old version, not maintained Older version, still maintained Current stable version Latest preview version Future release
Major releases Release date New features and changes
Current stable version: 10.0 28 March 2024
  • Improved how the system uses memory and multiple processors.
  • Added support for new hardware like Apple M1 and Raspberry Pi 4.
  • Updated graphics drivers for better performance.
  • New security features for AArch64 (64-bit ARM) systems.
  • Better support for Xen virtualization.
  • Improved file system features and security tools.
  • Removed some old network parts.
Older version, yet still maintained: 9.0 14 February 2020
  • Added full support for AArch64 (64-bit ARM) computers.
  • Improved support for ARMv7-A devices.
  • Updated graphics drivers for Intel chips.
  • Added fast virtualization with NVMM.
  • Improved the NPF firewall and ZFS file system.
  • Added new security checks for code.
  • Removed support for old Intel 386 processors.
Old version, no longer maintained: 8.0 17 July 2018
  • Improved the sound system.
  • Updated USB 3 support.
  • Made security features like PaX ASLR active by default.
  • Added ways to build software more reliably.
  • Included fixes for Meltdown and Spectre security issues.
  • Added a UEFI bootloader and support for Raspberry Pi 3.
Old version, no longer maintained: 7.0 8 October 2015
  • Faster graphics support for Intel and Radeon devices.
  • Added Lua scripting inside the kernel.
  • Introduced `blacklistd` to protect against network attacks.
  • Improved the NPF firewall.
  • Added support for many new ARM computer boards.
Old version, no longer maintained: 6.0 17 October 2012
  • Added Logical Volume Manager for flexible disk space.
  • New systems for flash devices and NAND controllers.
  • Introduced NetBSD Packet Filter (NPF), a new firewall.
  • Improved SMP support for Xen and other systems.
  • Better support for MIPS and PowerPC processors.
  • Added support for Cortex-A8 processors and Raspberry Pi.
  • Updated the system to handle dates beyond the year 2038.
Old version, no longer maintained: 5.0 29 April 2009
  • Improved how the system handles multiple tasks at once.
  • Added jemalloc for better memory use.
  • Introduced WAPBL (Write Ahead Physical Block Logging) for safer file systems.
  • Switched to X.Org for graphics on some computers.
  • Added ASLR for better security.
  • Improved the `envsys` system for hardware monitoring.
Old version, no longer maintained: 4.0 19 December 2007
  • Added slab allocator for memory, iSCSI for network storage, and CARP for network reliability.
  • Introduced tmpfs (a fast temporary file system).
  • Added Xen 3 support and new security features like Veriexec.
  • Included Bluetooth support.
Old version, no longer maintained: 3.0 23 December 2005
  • Added support for Xen 2.0.
  • Can now handle very large filesystems (over 2 terabytes).
  • Included Pluggable Authentication Modules for user login.
  • Integrated the OpenBSD Packet Filter as a firewall option.
Old version, no longer maintained: 2.0 9 December 2004
  • Added full POSIX threads and SMP support.
  • Added support for AMD64 computers.
  • Included support for UFS2 and SMBFS file systems.
Old version, no longer maintained: 1.6 14 September 2002
  • Introduced Unified Buffer Cache (UBC) for faster file access.
  • Improved network speed for TCP and UDP.
  • Added support for ten new computer types.
  • Improved the system for building NetBSD.
Old version, no longer maintained: 1.5 6 December 2000
  • Added IPv6 and IPsec for modern networking.
  • Included OpenSSL and OpenSSH for secure communication.
  • Improved the system startup process.
  • Started using ELF-format programs.
  • Added a tool for tracking kernel activity.
  • Supported six new computer types, including sparc64.
Old version, no longer maintained: 1.4 12 May 1999
  • Introduced UVM, a new system for managing virtual memory.
  • Added RAIDframe for software RAID and imported IPFilter for firewalls.
  • Completed integration of improvements from 4.4BSD Lite-2.
  • Added support for Power Macintosh and NeXTcube computers.
  • Included full USB support.
Old version, no longer maintained: 1.3 9 March 1998
  • XFree86 (a graphics system) became a supported part of NetBSD.
  • Added support for ISA Plug and Play, PCMCIA, ATAPI, and APM.
  • Included ext2fs and FAT32 file systems.
  • The pkgsrc system for installing software was introduced.
Old version, no longer maintained: 1.2 4 October 1996
  • Added support for NFSv3 (network file sharing) and SCSI devices.
  • Included NTP for accurate timekeeping.
  • Added support for ARM and Sharp X68k computers.
Old version, no longer maintained: 1.1 26 November 1995
  • Added support for DEC Alpha, Atari TT/Falcon030, and MVME68k systems.
  • Included a way to run programs made for other systems.
  • Introduced a general audio system.
Old version, no longer maintained: 1.0 26 October 1994
  • The first version to support many different computer types.
  • Supported PCs, HP 9000, Amiga, Macintosh, SPARCstation, and PC532.
  • Replaced old code with newer, legally clear code.
  • Added shared libraries and Kerberos 5 for security.
Old version, no longer maintained: 0.9 20 August 1993
  • Had many improvements and bug fixes.
  • Still only for PC computers, but work was starting for other types.
  • Added support for loadable kernel modules (LKM).
Old version, no longer maintained: 0.8 20 April 1993
  • The very first official release of NetBSD.
  • It was based on 386BSD but had many new programs and improvements.

The NetBSD "flag" logo was created in 2004 by Grant Bissett. It's a simpler version of an older logo from 1994. The older logo was designed by Shawn Mueller and was inspired by the famous World War II photo, Raising the Flag on Iwo Jima.

The NetBSD Foundation

The NetBSD Foundation is a legal group that owns the rights to NetBSD. It became a non-profit organization in 2004. The members of the foundation are developers who can make changes to the NetBSD code. They elect a Board of Directors every two years.

Hosting

The NetBSD project's main computer servers are hosted by Columbia University and Western Washington University. A company called Fastly helps deliver NetBSD files quickly around the world. Many volunteers and supporters also provide mirror servers globally.

Commit Guidelines

The NetBSD project has rules for how developers should add changes to its code. These rules help keep the code clean and correct. Here are some of the main guidelines:

  • Only add code you understand well.
  • Make sure any code you add has the correct license.
  • If your changes are big, you need more approval first.
  • Always test your code before adding it.
  • Group related changes together.
  • Each change should fix one problem or add one feature.
  • Don't mix code fixes with simple formatting changes.
  • Clearly explain your changes in the commit log.
  • Give credit to others if you use their code.
  • Don't undo other developers' changes without talking to them first.

In May 2024, a new rule was added. It says that code made by "large language model or similar technology" (like AI) cannot be added without special permission.

See also

Kids robot.svg 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
kids search engine
NetBSD Facts for Kids. Kiddle Encyclopedia.