Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

NetBSD

From Wikipedia, the free encyclopedia
Free and open-source Unix-like operating system

Operating system
NetBSD
NetBSD 10.1 defaultCTWM desktop on a SunUltraSPARC-IIe station
DeveloperThe NetBSD Foundation, Inc.
Written inC
OS familyUnix-like (BSD)
Working stateCurrent
Source modelOpen source
Initial release19 April 1993; 32 years ago (1993-04-19)
Latest release10.1 / 16 December 2024; 13 months ago (2024-12-16)[1]
Repository
Package managerpkgsrc
Supported platformsAlpha,ARM,x86 (IA-32 andx86-64),PA-RISC,68k,MIPS,PowerPC,SH3,SPARC,VAX[2]
Kernel typeMonolithic withdynamically loadable modules,rump kernel
UserlandBSD
InfluencedVoid Linux
Influenced by386BSD
Default
user interface
ash,X11 (CTWM)
License2-clause BSD license
Official websitewww.netbsd.org
Tagline"Of course it runs NetBSD"[3]

NetBSD is afree and open-sourceUnix-likeoperating system based on theBerkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after386BSD wasforked.[4][5] It continues to be actively developed and is available for many platforms, includingservers,desktops,handheld devices,[5] andembedded systems.[6][7]

The NetBSD project focuses on code clarity, careful design, andportability across manycomputer architectures. Itssource code is publicly available andpermissively licensed.[8][9][10]

History

[edit]

NetBSD was originally derived from the 4.3BSD-Reno release of the Berkeley Software Distribution from theComputer Systems Research Group of theUniversity of California, Berkeley, via its History of theNet/2 source code release and the386BSD 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 andgrowth of networks such as theInternet 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 unofficialpatchkit, 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 thepkgsrc 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 usessemantic versioning, and 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 andx.y.z releases containing only security and critical fixes.[18]

NetBSD used to ship withtwm as a preconfigured graphical interface (window manager); in 2020 (version 9.1) this was changed to the more modern and versatileCTWM.[19]

Features

[edit]
NetBSD/amd64 startup in console mode
NetBSD/amd64 console login and welcome message

Portability

[edit]
See also:busdma

As the project's motto ("Of course it runs NetBSD" ) suggests, NetBSD has been ported to a numerous32- and64-bitarchitectures. These range fromVAXminicomputers toPocket PCPDAs. NetBSD has also been ported to severalvideo game consoles such as theSega Dreamcast[20] and theNintendo Wii.[21] As of 2019, NetBSD supports 59 hardware platforms (across 16 differentinstruction sets). The kernel anduserland for these platforms are all built from a central unified source-code tree managed byCVS. Unlike other kernels such asμClinux, the NetBSD kernel requires the presence of anMMU in any given target architecture.

NetBSD's portability is aided by the use ofhardware abstraction layer interfaces for low-level hardware access such asbus input/output orDMA. Using this portability layer,device drivers can be split into "machine-independent" (MI) and "machine-dependent" (MD) components. This makes a single driver easily usable on several platforms by hiding hardware access details, and reduces the work to port it to a new system.[22]

This permits a particular device driver for aPCI card to work without modifications, whether it is in a PCI slot on anIA-32,Alpha,PowerPC,SPARC, or other architecture with a PCI bus. Moreover, a single driver for a specific device can operate via several different buses, such asISA, PCI, orPC Card.

Thisplatform independence aids the development ofembedded systems, particularly since NetBSD 1.6, when the entiretoolchain ofcompilers,assemblers,linkers, and other tools fully supportcross-compiling.

In 2005, as a demonstration of NetBSD's portability and suitability for embedded applications, Technologic Systems, a vendor of embedded systems hardware, designed and demonstrated a NetBSD-powered kitchentoaster.[23]

Commercial ports to embedded platforms were available from and supported by Wasabi Systems, including platforms such as theAMD Geode LX800,FreescalePowerQUICC processors, Marvell Orion,AMCC405 family ofPowerPC processors, and theIntelXScale IOP and IXP series.

Portable build framework

[edit]

The NetBSD cross-compiling framework (also known as "build.sh"[24]) lets a developer build a complete NetBSD system for an architecture from a more powerful system of different architecture (cross-compiling), including on a different operating system (the framework supports mostPOSIX-compliant systems). Several embedded systems using NetBSD have required no additional software development other than toolchain and target rehost.[25]

As of 2017, NetBSD had reached fullyreproducible builds onamd64 andSPARC64.[26] The build.sh-P flag handles reproducible builds automatically.

The pkgsrc packages collection

[edit]
Main article:pkgsrc

NetBSD featurespkgsrc (short for "package source"), a framework for building and managing third-partyapplication software packages. The pkgsrc collection consists of more than 29,000 packages as of September 2025[update].[27] Building and installing packages such asLumina,KDE,GNOME, theApache HTTP Server orPerl is performed through the use of a system ofmakefiles. This can automatically fetch the source code, unpack, patch,configure,build andinstall 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 or dependencies will be installed automatically by the package system, without need for manual intervention.

pkgsrc is across-platform packaging system, for it supports not only NetBSD, but can be used on several otherUnix-like platforms, among whichmacOS,Solaris andLinux are considered primary targets.[28] OtherBSDs,HP-UX,Minix,SCO UNIX (Unixware andOpenServer) andQNX have a number of active pkgsrc users but do not receive active maintenance.

pkgsrc is the default package management system onSmartOS[29] and Minix3.[30] It was also previously adopted as the official package management system forDragonFly BSD,[31] and made available as an alternative packaging framework onMirBSD[32] and QNX.[33]

Symmetric multiprocessing

[edit]

NetBSD has supportedSMP since the NetBSD 2.0 release in 2004,[34] which was initially implemented using thegiant lock approach.

During the development cycle of the NetBSD 5 release, major work was done to improve SMP support; most of the kernel subsystems were modified to use thefine-grained locking approach. Newsynchronization primitives were implemented andscheduler activations was replaced with a1:1 threading model in February 2007.[35][36] A scalable M2 thread scheduler was also implemented,[37] providing separate real-time (RT) and time-sharing (TS) queues, and improving the performance on MP systems. Threadedsoftware interrupts were implemented to improve synchronization. Thevirtual memory system,memory allocator andtrap handling were made MP safe. The file system framework, including theVFS and majorfile systems were modified to be MP safe. As of NetBSD 10.0, the only subsystems running with a giant lock areSATAdevice drivers,interrupt handlers, the autoconf(9) framework and most thenetwork stack, unless theNET_MPSAFE kernel option is enabled.[38]

In reality, starting with release 8.0, various parts of the network stack have been made MP safe already,[39] but NET_MPSAFE is kept disabled by default, because non-MP-safe components that are also unprotected by the giant lock may otherwise crash the kernel when loaded in memory.[40]

The 4.4BSD scheduler still remains the default, but was modified to scale with SMP, merging features from SCHED_M2.[41]In 2017, the scheduler was changed to better distribute load of long-running processes on multiple CPUs, and tunablekern.schedsysctl(3) parameters were introduced.[42] The release of NetBSD 10.0 brought significant performance enhancements, especially on multiprocessor and multicore systems;[43] the scheduler gained major awareness ofNUMA andhyperthreading, and became able to spread the load evenly across different physical CPUs, as well as to scale better on a mixture of slow and fast cores (e.g.ARM big.LITTLE).[44]

Security

[edit]

NetBSD supports a number of features designed to improve systemsecurity.[45] Some are listed below.

The Kernel Authorization framework[46] (or kauth) is a subsystem managing all authorization requests inside the kernel, and used as system-wide security policy. kauth(9) acts as a gatekeeper between kernel's own routines, by checking whether a givencall or a specific operation is allowed within the context, and returnsEPERM if not.[47] Most syscalls issue an authorization request in their correspondinghandler viakauth_authorize_action(). kauth also allows external modules to plug-in the authorization process.

Verified Executables (or Veriexec) is an in-kernel file integrity subsystem in NetBSD. It allows the user to setdigital fingerprints (hashes) of files, and take a number of different actions if files do not match their fingerprints. For example, one can allowPerl to run only scripts that match their fingerprints.[48]

Starting with version 2.0, NetBSD supportsnon-executable mappings on platforms where the hardware allows it.[49] Processstack andheap mappings are non-executable by default. This makes exploiting potentialbuffer overflows harder. NetBSD supportsPROT_EXEC permission viammap() for all platforms where the hardware differentiates execute access from data access, though not necessarily with single-page granularity.[50]

NetBSD implements severalexploit mitigation features, such asASLR (in both userland and kernel[51][52]), restrictedmprotect() (W^X) and Segvguard from thePaX project, andGCCStack Smashing Protection (SSP, or also known as ProPolice, enabled by default since NetBSD 6.0) compiler extensions.

The cryptographic device driver (CGD) provides transparentdisk encryption by acting as alogical device that is layered on top of another block device, such as a physical disk or partition (includingCDs and DVDs) or a vnd(4)pseudo device.[53] It supports theAdiantum cipher, besides AES in CBC/XTS modes.[54]

NPF, introduced with NetBSD 6.0,[55] is alayer 3 packet filter, supportingstateful packet inspection,IPv6,NAT, IP sets, and extensions.[56] It usesBPF as its core engine, and supportsbpfjit. NPF was designed with a focus on high performance, scalability, multi-threading and modularity.

Relevant to security are also BSDsecurelevels,[57] blocklistd(8), a daemon capable of blocking ports on demand to avoidDoS abuse,[58] and the wg(4) interface, which provides a homegrown implementation of theWireGuard protocol.[59]

The NetBSD code is regularly scanned for bugs, and security advisories — containing a pointer to the fix — are published on the official mailing lists.[60]

Memory management

[edit]

NetBSD uses theUVM[61]virtual memory system, developed by Charles D. Cranor at Washington University in 1998, and committed to the NetBSD source tree by Matthew Green, who handled integration issues and wrote theswap subsystem.[62]

The originalMach based4.4BSD system[63] was replaced by UVM in NetBSD 1.4.[64] UVM is designedto reduce the complexity of the 4.4BSDVM system, and offer improved performance for those applications which make heavy use of VM features, such asmemory-mapped files andcopy-on-write memory.[65]

While retaining the same MD/MI layering and mapping structures of the BSD VM,[66] UVM introduces some noticeable changes:

  • Memory objects are allocated and managed in cooperation with their backing data source (typicallyvnodes), reducing the overhead of thevm_object chain management. Thevm_pagestructure describes how the backing store can be accessed. Essentially, this is a pointer to a list of functions which act as bridge between UVM and the external backing store (such as a disk) that provides UVM with its data. UVM's memory object points directly to thepager operations, making the allocation of pager-relateddata structures more efficient.
  • Anonymous pages are grouped in multi-page clusters forpageout. Eachpage's location on swap is assigned, so that the cluster occupies a contiguous chunk of swap and can be paged out in a single largeI/O operation. This enhances paging response time for I/O operations, and allows UVM to recover quicker from page shortages.
  • Memory sharing is supported using three data movement mechanisms:page loanout,page transfer, andmap entry passing.[67] Aprocess may safely let a shared copy-on-write copy of its memory be used either by other processes, the I/O system, or theIPC system. Theunified buffer cache (ubc(9)[68] ), written by Chuck Silvers, allows to use UVM pages tocache vnode data rather than the traditional UNIX buffer cache.[69] This avoids costly data copies, and makes more memory available for caching regular file data.

In 2003, UVM was modified to use a top-down memory management, thus merging the space reserved forheap growth and the area of space reserved formmap(2)'ed allocations.[70] This allows the heap to grow larger, or a process to mmap more or larger objects.

Support for RAMhot-plugging was added in 2016.[71] The uvm_hotplug(9) API replaces the previously exposedvm_physmem static array with ared–black tree backing to keep track of memory segments, allowing the list of physical pages to be dynamically expanded or collapsed.

During the release cycle of NetBSD 10.0, major work was done to optimize the virtual memory system.[72] The page allocator was rewritten to be more efficient and CPU topology aware, adding preliminaryNUMA support. The algorithm used in the memory page lookupcache was switched to a fasterradix tree. Tracking and indexing of clean/dirty pages was improved, speeding upfsync(2) on large files by orders of magnitude.Lock contention was reduced by making the maintentance of page replacement state more concurrent.

Virtualization

[edit]

TheXenvirtual-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-partyboot manager, such asGRUB, was eliminated with NetBSD 5's Xen-compatible boot manager.[73] NetBSD 6 as a Dom0 has beenbenchmarked comparably to Linux, with better performance than Linux in some tests.[74]

As of NetBSD 9.0, accelerated virtualization is provided through the native type-2hypervisor NVMM (NetBSD Virtual Machine Monitor).[75]It provides a virtualization API,libnvmm, that can be leveraged by emulators such asQEMU.[76][77]The kernel NVMM driver comes as a dynamicallyloadable kernel module, made of a generic machine-independent frontend, to which machine-dependent backends can be plugged to implement the core virtualization (currently onlyx86 AMD SVM and Intel VMX are supported).[78] A unique property of NVMM is that the kernel never accesses guest VM memory, only creating it.[79]Intel'sHardware Accelerated Execution Manager (HAXM) provides an alternative solution for acceleration in QEMU for Intel CPUs only, similar to Linux'sKVM.[80]

Rump kernels

[edit]
Main article:rump kernel

NetBSD 5.0 introduced the rump kernel,[81] an architecture to run drivers in user-space by emulating kernel-space calls. A rump kernel can be seen as a lightweight, portable virtualized driver execution environment, characterized by smallmemory footprint and minimizedattack surface.[82]

The core of a rump kernel contains a set of fundamental routines which allow it to access the host platform's resources, such asvirtual memory, threadscheduler andI/O functions. This is called the rampuser(3) hypercall interface.[83] The various kernel subsystems (e.g.TCP/IP stack, filesystems, hardwaredevice drivers), globally referred asdrivers, are layered on top of the hypercall interface, by being linked against a stripped-down version of the NetBSD kernel that can be executed in user mode. Most drivers are optional, and may be included or not depending on the target application and scope.

This "anykernel" design allows adding support of NetBSD drivers to other kernel architectures,[84] ranging fromexokernels tomonolithic kernels.[85] Other possible applications of rump kernels include deploying a task-specificunikernel to provide aPOSIX API for application depending on it, running a self-containeddatabase with minimal footprints,[86] a userspaceWireGuard instance,[87] editing the contents of a file system as unprivileged user, and segregating a web browser to its own TCP/IP stack.[88]

Rump kernels are also used internally by the NetBSD project for running tests on different kernel subsystems, as well as fordebugging purposes.[89]

Storage

[edit]

NetBSD includes many enterprise features likeiSCSI, ajournaling filesystem,logical volume management and theZFS filesystem.

Thebio(4) interface for vendor-agnosticRAID volume management throughbioctl has been available in NetBSD since 2007.[90]Support forsoftware RAID is provided as a port of CMU RAIDframe, available since NetBSD 1.4.[91]The ccd(4) driver provides the capability of combining one or more disks/partitions into one virtual disk, acting as another in-kernel RAID 0 subsystem.[92]

UFS2, an extension to BSDFFS adding 64-bit blockpointers, variable-sized blocks (similar toextents), and extended flag fields, was ported from FreeBSD in 2003[93] and made available since NetBSD 2.0.[94] The fss(4)[95]snapshot driver was introduced the same year,[96] allowing to create a read-only, atomic view of a FFS filesystem at a given point of time; a FFS snapshot works as aspecial device, which can be mounted and used in conjunction with utilities likedump(8) to create and export systembackups.[97]

WAPBL, a FFS filesystem extension providing data journaling, was contributed by Wasabi Systems in 2008.[98] Journaling allows rapid filesystem consistency after an unclean shutdown, and improves write performance by reducing synchronousmetadata writes, especially when creating a large number of inodes.[99] Support forsoft updates on NetBSD FFS(v1/2) was eventually removed in favor of WAPBL.[100]

Starting with release 10.0, FFSv2 also supportsextended file attributes andACLs[101] as well asdata TRIM.[102]

TheZFS filesystem developed bySun Microsystems was imported into the NetBSD base system in 2009.[103] In 2018, the ZFS codebase was updated and rebased onFreeBSD's implementation.[104] ZFS was finally marked safe for daily use in NetBSD 9.0.[105] As of 10.0 release, NetBSD ZFS stack is comparable to that of FreeBSD 12 (or below), with ZFS filesystem version "5.3", zpool version "5000" (some feature flags are not supported).[106][107] Native ZFS encryption is noticeably missing, though a zpool may be created within a cgd(4) encrypted disk.[108]Initial support for ZFSroot is available, but neither integrated in the installer nor in the bootloader.[109]

The NetBSD Logical Volume Manager is based on a BSD reimplementation of a device-mapper driver and a port of the LinuxLogical Volume Manager tools. It was mostly written during theGoogle Summer of Code 2008.[110]

TheCHFSFlash 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.

ThePUFFS framework, introduced in NetBSD 5.0,[111] is a kernel subsystem designed for running filesystems in userspace, and provides FUSE kernel level API compatibility in conjunction with the perfused(8) userland daemon.

Atmpfs implementation for NetBSD using conventional in-memory data structures, was first developed by Julio M. Merino Vidal in 2005 as aGSoC project,[112] and merged the same year in the NetBSD source tree.[113]

Compatibility with other operating systems

[edit]

At the source code level, NetBSD is very nearly entirely compliant withPOSIX.1 (IEEE 1003.1-1990) standard and mostly compliant with POSIX.2 (IEEE 1003.2-1992).

NetBSD providessystem call-level binary compatibility on the appropriate processor architectures with its previous releases, but also with several otherUNIX-derived and UNIX-like operating systems, includingLinux, and other 4.3BSD derivatives likeSunOS 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.[114] Initial support for aHaiku binary compat layer was published on the netbsd-user mailing list.[115]

A variety of "foreign" diskfilesystem formats are also supported in NetBSD, includingZFS,FAT,NTFS, Linuxext2fs,AppleHFS andOS XUFS,RISC OS FileCore/ADFS,AmigaOSFast File System,IRIXEFS,Version 7 Unix File System, and many more throughPUFFS.

WINE can be installed on NetBSD throughpkgsrc.[116] Kernel support forUSER_LTD — required forWoW64 — was contributed by Maxime Villard in 2017,[117] allowingWin32 applications to be executed onamd64.[118] The amd64 port of wine for NetBSD was completed by Naveen Narayanan as part ofGSoC 2019.[119]

Kernel scripting

[edit]

Kernel-space scripting with theLua programming language was added in NetBSD 7.0.[120] The Lua language (i.e., its interpreter and standard libraries) was initially ported by Lourival Vieira Neto to the NetBSD kernel duringGSoC 2010 and has undergone several improvements since then.[121] The Lua (userspace) Test Suite was ported to NetBSD kernel Lua during GSoC 2015.[122]

There are two main differences between user and kernel space Lua: kernel Lua does not supportfloating-point numbers; as such, only Lua integers are available.[123] It also does not have full support to user space libraries that rely on the operating system (e.g.,io andos). A sample implementation ofI/O (file systems andsockets) bindings for kernel Lua was developed by Guilherme Salazar.[124]

Possible applications of the Lua kernel interpreter include embedding extensions for theNPF packet fiter,[125][126] and building an in-kernel application sandbox based on kauth(9), with sandbox policies provided as Lua scripts.[127]

Kernel debugging

[edit]

NetBSD provides a minimalistkernel debugger — DDB(4) — which is invoked by default whenever the kernel would otherwise panic.[128] DDB allows to inspect processes and threads, investigatedeadlocks, get astack trace, and generate a kernelcrash dump for later analysis.[129]

Strict consistency check is enabled by building the kernel with optionDIAGNOSTIC. This will cause the kernel to panic if corruption of internal data structures is detected (e.g. kernel NULL pointer dereference).[130]

NetBSD also supports a variety of in-kernel bug detection facilities,[131] includingcode sanitizers (undefined behavior, address, thread, memory sanitizers),[132][133] a kernelmemory disclosure detection system (KLEAK)[134] and a kernel diagnostic subsystem named heartbeat(9).[135]

LKMs

[edit]

Loadable kernel modules have been supported on NetBSD since 0.9. The original lkm(4) interface[136] written by Terry Lambert was replaced by the new modules(7) subsystem,[137] which supports dependency handling between modules, and loading of kernel modules on demand.[138]

New modules can only be loaded when securelevel is less than or equal to zero, or if the kernel was built with options INSECURE, due to security concerns regarding the lack of memory protection between modules and the rest of the kernel.

Every kernel module is required to define its metadata through the C macroMODULE(class, name, required) and to implement aMODNAME_modcmd function, which the kernel calls to report important module-related events, like when the module loads or unloads.[139]

Init

[edit]

NetBSD uses a BSD styleinit.

Support for using aninitial ramdisk is available but not enabled by default,[140] except for specific configurations (e.g. rootencryption).[141]

The rc.d(8) framework, designed by Luke Mewburn[142] for NetBSD 1.5,[143] provides a fully modular service management system, using individualshell scripts for controlling services, similar to whatSystem V does, but withoutrunlevels.[144] When/etc/rc/ is invoked by init(8), it executes scripts located in the/etc/rc.d directory. The order in which scripts are executed is determined by the rcorder(8) utility, based on the requirements stated in the dependency tags found within each script.[145]

Sensors

[edit]
Main article:envsys

NetBSD has featured a nativehardware monitoring framework since 1999/2000. In 2003, it served as the inspiration behind theOpenBSD's sysctlhw.sensors framework when some NetBSD drivers were being ported to OpenBSD.[146]

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, serialization of data between the kernel and userland is done through XMLproperty lists with the help of NetBSD'sproplib(3).

Sound subsystem

[edit]

The NetBSD audio(4)[147] kernel API, modelled afterSunOS sound stack (SADA),[148] provides at the same time a uniform programming interface layer above different underlying audio hardware drivers, and backend for different sound libraries (SDL,PortAudio, Mozilla cubeb) to use.

Applications may interact with the/dev/audiodevice node directly, using a series ofioctls specified in thesys/audioio.h header file. Audio device information may be queried with theAUDIO_GETDEV ioctl. Playing and recording sound implies opening/dev/audio forread() /write() operations and passing anaudio_infostruct to the kernel. This results in reducedaudio latency and CPU usage compared to using additional abstraction layers (other sound libraries and/orsound servers).[149]

The audio stack was reworked in NetBSD 8.0 to provide an in-kernel softwaremixing engine, with support for virtual channels;[150] this allows more than one process to play or record audio at the same time.

A compatibility mode for theOSS API is provided by thesoundcard.h header file and thelibossaudio library,[151] which internally operate using the native Sun-like audio interface.

NetBSD includes built-inMIDI support through the machine-independent midi(4)[152] system.

Uses

[edit]
NetBSD was used inNASA'sSAMS-II Project of measuring the microgravity environment on theInternational Space Station, and for investigations ofTCP for use insatellite networks.[153]

NetBSD's clean design, high performance,scalability, and support for many architectures has led to its use inembedded devices andservers,[154] especially innetworking applications.[155] NetBSD may also be used as aback-end stack for web-facing servers,[156] given its reliability over time,[157] and a tendency to avoid the introduction of backward-incompatible changes.[158]

NetBSD has earned popularity amongretrocomputing enthusiasts,[159] due to its light weight and support for a wide range of hardware architectures.[160] NetBSD is used to revive vintage hardware, ranging from DECVAXen, to CommodoreAmiga and IBM PCs.[161][162][163]

A commercialreal-time operating system,QNX, uses a network stack based on NetBSD code,[164][165] and provides various drivers ported from NetBSD.[155]

Dell Force10 uses NetBSD as the underlying operating system that powers FTOS (the Force10 Operating System), which is used in high scalability switch/routers.[166] Force10 also made a donation to the NetBSD Foundation in 2007 to help further research and the open development community.[167]

NetBSD was used inNASA'sSAMS-II Project of measuring the microgravity environment on theInternational Space Station,[168][169] and for investigations ofTCP for use insatellite networks.[170][171]

IBM used NetBSD as base for theirIBM Thin Client Manager (TCM), powering the N2200e and N2800e models of the NetVistathin client family.[172]

In 2004,SUNET used NetBSD to set theInternet2 Land Speed Record. NetBSD was chosen "due to the scalability of the TCP code".[173]

NetBSD is also used inApple'sAirPort Extreme andTime Capsule products,[174][175] instead of Apple's ownOS X (of which most Unix-level userland code is derived from FreeBSD code but some is derived from NetBSD code[176][177]).

Several companies are known to use NetBSD internally:

  • Wasabi Systems[178] provides a commercial "Wasabi Certified BSD" product based on NetBSD[179] with proprietary enterprise features and extensions, which are focused on embedded, server and storage applications. Wasabi has a long history of cooperation with the NetBSD project, including the development ofWAPBL[180] andPCI storage devicespowered by NetBSD.[181]
  • Precedence Technologies[182] offersthin-client software (ThinIT) and accompanying hardware based on NetBSD.[183]
  • Internet Initiative Japan, Inc. (IIJ) sellsCPErouters commercialized as "SEIL",[184] which run a modified version of NetBSD at their core, and operate through a proprietary network management system (SMF) also based on NetBSD.[185] The SEIL/X4 has 2xGE ports (WAN,DMZ), 4x GEL2 switch ports, 2xUSB 2.0 ports, and reaches a throughput of 2Gbps, andVPN rate of up to 2 Gbit/s.[186]
  • Moritz Systems, an EU-based IT company specialized in embedded systems,IoT,edge computing andquality audits, also bases its products on NetBSD.[187]
  • TDI Security,[188] a US company specialized incybersecurity, offers portableSAN andVPN solutions (named "pocketSAN" and "pocketVPN" respectively), designed to be run from a USB thumb-drive or an embedded device, and built upon a minimalist deployment of NetBSD installed onflash memory ("polyBSD").[189]

The operating system of theT-Mobile Sidekick LX 2009smartphone is based on NetBSD.[190]

TheMinix operating system uses a mostly NetBSD userland as well as itspkgsrc packages infrastructure since version 3.2.[191]

Parts ofmacOS were originally taken from NetBSD, such as some userspace command line tools.[192][193][194]

Bionic, theC standard library found inAndroid, incorporates code from NetBSD libc.[195]

TheNPF packet filter has been used in commercial products such as Outscale[196] and BisonRouter.[197]

NetBSD's owncurses implementation[198] is used by Sabotage Linux.[199]

Rump kernels have been integrated in other operating systems to provide additional functionality:

TheSDF Public Access Unix System, anon-profit public accessUNIXshell provider with the aim to provide remotely accessible computing facilities, uses NetBSD to power its infrastructure.[204] With a network of eight 64-bit enterprise class servers running NetBSD, and realising a combined processing power of over 21.1GFLOPS (2018),[205] the SDF.org cluster is considered the largest NetBSD installation in the world, factually working as a testbed for future NetBSD releases.[206]

NetBSD is used for thePlayStation Portable's communication features.[207]

Licensing

[edit]

All of the NetBSD kernel and most of the core userland source code is released under the terms of theBSD 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, theGPL, 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.[208]

NetBSD also includes theGNU development tools and other packages, which are covered by the GPL and other open source licenses. As with otherBSD projects, NetBSD separates those in its base source tree to make it easier to remove code that is under more restrictive licenses.[209] 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

[edit]

The following table lists major NetBSD releases and their notable features in reverse chronological order. Minor and patch releases are not included.

Legend:
Unsupported
Supported
Latest version
Preview version
Future version
Major releasesRelease dateNotable features and changes
Latest version:10.0[43]28 March 2024
Supported: 9.0[105][211]14 February 2020
  • Support forAArch64 (64-bit ARMv8-A) machines, includingSBSA/SBBR,big.LITTLE, compatibility with 32-bit binaries, and up to 256 CPUs
  • Enhanced support forARMv7-A, includingUEFI bootloader, big.LITTLE, kernel mode setting forAllwinner and other SoCs, anddevice tree support
  • UpdatedDirect Rendering Manager (DRM) to Linux 4.4, support for Intel graphics up to and includingKaby Lake
  • Hardware accelerated virtualization forQEMU via NVMM (NetBSD Virtual Machine Monitor)
  • Improvements in theNPF firewall, updatedZFS, new and reworked drivers
  • Support for various new kernel and userland code sanitizers, and kernelASLR. Audited network stack.
  • Removal of various old and unmaintained components, such asIntel 386 andISDN support
Unsupported: 8.0[39]17 July 2018
  • Audio system reworked with an in-kernel mixer
  • USB stack reworked with support forUSB 3 host controllers and data rates
  • PaXASLR enabled by default on supported architectures
  • Hardened memory layout with fewer writable pages andPaX MPROTECT (W^X) enforced by default on supported architectures
  • Support forreproducible builds, and userland built withposition-independent code by default
  • Meltdown andSpectre vulnerability mitigations for Intel and AMD CPUs
  • Added aUEFI bootloader,NVMe driver,nouveau driver for Nvidia GPUs, support for more ARM boards including theRaspberry Pi 3
Unsupported: 7.0[212][213]8 October 2015
Unsupported: 6.0[214]17 October 2012
Unsupported: 5.0[216][217][218]29 April 2009
Unsupported: 4.019 December 2007
Unsupported: 3.023 December 2005
Unsupported: 2.09 December 2004
Unsupported: 1.614 September 2002
  • Unified Buffer Cache (UBC) was introduced, which unifies the filesystem and virtual memory caches of file data.
  • Zero-copy support for TCP and UDP transmit path.
  • Ten new platforms supported.
  • New implementation of cross-building (build.sh) infrastructure.
  • Added support for multibyte LC_CTYPElocales.[223][224]
Unsupported: 1.56 December 2000
Unsupported: 1.412 May 1999
Unsupported: 1.39 March 1998
Unsupported: 1.24 October 1996
Unsupported: 1.126 November 1995
Unsupported: 1.026 October 1994
Unsupported: 0.920 August 1993
  • Contained many enhancements and bug fixes.
  • This was still aPC-platform-only release, although by this time, work was underway to add support for other architectures.
  • Support forloadable kernel modules (LKM).[229]
Unsupported: 0.820 April 1993
  • The first official release, derived from386BSD 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.[230]

Logo

[edit]

The NetBSD "flag" logo, designed by Grant Bissett, was introduced in 2004 and is an abstraction of the older logo,[231] which was designed by Shawn Mueller in 1994. Mueller's version was based on the famousWorld War II photographRaising the Flag on Iwo Jima.[232]

The NetBSD Foundation

[edit]

The NetBSD Foundation is the legal entity that owns the intellectual property and trademarks associated with NetBSD,[233] and on 22 January 2004, became a501(c)(3) tax-exempt non-profit organization. The members of the foundation are developers who have CVS commit access.[234] The NetBSD Foundation has a Board of Directors, elected by the voting of members for two years.[235]

Hosting

[edit]

Hosting for the project is provided primarily byColumbia University, andWestern Washington University, fronted by aCDN provided byFastly. Mirrors for the project are spread around the world and provided by volunteers and supporters of the project.

See also

[edit]

References

[edit]
  1. ^"Announcing NetBSD 10.1 (Dec 16, 2024)".
  2. ^"Platforms supported by NetBSD".NetBSD.Archived from the original on 8 October 2025. Retrieved6 December 2025.
  3. ^Delony, David (17 August 2021)."NetBSD Explained: The Unix System That Can Run on Anything".Makeuseof.Archived from the original on 24 January 2023. Retrieved16 January 2023.
  4. ^"Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable".Open Sources: Voices from the Open Source Revolution.O'Reilly Media. January 1999.ISBN 1-56592-582-3.
  5. ^abc"About NetBSD".Archived from the original on 5 April 2013. Retrieved7 June 2014.NetBSD is a fork of the 386/BSD branch of the Berkeley Software Distribution (or BSD) operating system.
  6. ^"Get to know NetBSD: An operating system that travels". ibm.org.Archived from the original on 1 May 2008. Retrieved28 November 2009.
  7. ^Ganssle, Jack G; Noergaard, Tammy; Eady, Fred; Edwards, Lewin; Katz, David J (14 September 2007).Embedded Hardware. Newnes.ISBN 978-0-7506-8584-9. pp. 291–292.
  8. ^"About NetBSD". The NetBSD Foundation, Inc. The NetBSD Project's goals. Retrieved26 September 2023.
  9. ^"NetBSD features list". The NetBSD Foundation, Inc. Archived fromthe original on 6 August 2011. Retrieved7 June 2014.NetBSD focuses on clean design and well architected solutions.
  10. ^Love, Robert (2005)."Chapter 19".Linux Kernel development (2. ed.). Sams Publishing.ISBN 0-672-32720-1. Retrieved7 June 2014.Some examples of highly portable operating systems are Minix, NetBSD, and many research systems.
  11. ^"The History of the NetBSD Project".netbsd.org. The NetBSD Foundation.Archived from the original on 6 August 2011. Retrieved29 November 2009.
  12. ^"INSTALLATION NOTES for NetBSD 0.8".NetBSD. 20 April 1993. Archived fromthe original on 17 January 2020. Retrieved20 October 2020.
  13. ^abChris G. Demetriou (19 April 1993)."So you say you want an interim release of 386bsd?".Newsgroupcomp.os.386bsd.announce.Archived from the original on 17 January 2020. Retrieved12 May 2010.
  14. ^"Information about NetBSD 0.8".Archived from the original on 29 June 2018. Retrieved4 November 2017.
  15. ^"Information about NetBSD 1.0".Archived from the original on 3 November 2019. Retrieved4 November 2017.
  16. ^De Raadt, Theo (29 March 2009)."Archive of the mail conversation leading to Theo de Raadt's departure".Archived from the original on 1 November 2008. Retrieved15 January 2010.
  17. ^"Platforms supported by pkgsrc".netbsd.org. The NetBSD Foundation.Archived from the original on 22 June 2018. Retrieved10 January 2010.
  18. ^"NetBSD release glossary and graphs". The NetBSD Project. 13 January 2010.Archived from the original on 19 July 2011. Retrieved15 January 2010.
  19. ^Plura, Michael (26 October 2020)."NetBSD 9.1 mit mehr ZFS und "neuem" Fenstermanager CTWM".heise online (in German).Archived from the original on 18 April 2024. Retrieved30 May 2024.
  20. ^"About NetBSD/dreamcast".NetBSD Blog.Archived from the original on 24 February 2024. Retrieved25 February 2024.
  21. ^abMcNeill, Jared (21 January 2024)."NetBSD/evbppc 10.99.10 on the Nintendo Wii".YouTube.Archived from the original on 25 February 2024. Retrieved25 February 2024.
  22. ^"Portability and supported hardware platforms".netbsd.org. The NetBSD Foundation.Archived from the original on 22 December 2021. Retrieved29 November 2009.
  23. ^"Technologic Systems Designs NetBSD Controlled Toaster" (Press release). Technologic Systems. August 2005.Archived from the original on 19 October 2011. Retrieved11 June 2007.
  24. ^The NetBSD Foundation (10 January 2010)."Chapter 31. Crosscompiling NetBSD with build.sh".The NetBSD Guide.Archived from the original on 6 August 2011. Retrieved15 January 2010.
  25. ^"BSD or Linux: Which Unix is better for embedded applications?"(PDF). Wasabi Systems Inc. 2003. Archived fromthe original(PDF) on 30 December 2006. Retrieved11 June 2007.
  26. ^Zoulas, Christos (20 February 2017)."NetBSD fully reproducible builds".NetBSD Blog. Retrieved15 January 2010.
  27. ^Siegert, Benn (25 September 2025)."pkgsrc-2025Q3 released" (Mailing list). Retrieved1 October 2025.
  28. ^"pkgsrc bootstrap README".pkgsrc sources (anonhg). 21 April 2024.Archived from the original on 11 February 2025. Retrieved11 February 2025.
  29. ^"MNX Packages Documentation - Home". MNX Clound.Archived from the original on 18 February 2025. Retrieved11 February 2025.
  30. ^"Pkgsrc Guide".MINIX 3 wiki. 10 July 2021.Archived from the original on 13 March 2025. Retrieved11 February 2025.
  31. ^Dillon, Matthew (31 August 2005)."PKGSRC will be officially supported as of the next release".DragonFly users (Mailing list). Archived fromthe original on 20 January 2008. Retrieved15 January 2010.
  32. ^Siegert, Benny."pkgsrc on MirBSD"(PDF).FOSDEM 2012. Retrieved11 February 2025.
  33. ^"QNX Community pkgsrc Project". Digital.ai Teamforge. 13 September 2007.Archived from the original on 11 February 2025. Retrieved11 February 2025.
  34. ^"NetBSD 2.0 release notes".Archived from the original on 7 October 2024. Retrieved5 October 2024.
  35. ^"Significant changes from NetBSD 4.0 to 5.0". 23 December 2009.Archived from the original on 6 August 2011. Retrieved15 January 2010.
  36. ^Rasiukevicius, Mindaugas (4 May 2009)."Thread scheduling and related interfaces in NetBSD 5.0"(PDF).Archived(PDF) from the original on 20 May 2009. Retrieved15 January 2010.
  37. ^Rasiukevicius, Mindaugas (4 October 2007)."Implementation of SCHED_M2 scheduler".tech-kern (Mailing list).Archived from the original on 13 March 2025. Retrieved9 February 2025.
  38. ^"KERNEL_LOCK(9)".NetBSD Manual Pages. 13 February 2022.Archived from the original on 13 March 2025. Retrieved15 February 2025.
  39. ^ab"Announcing NetBSD 8.0".NetBSD. 17 July 2017.Archived from the original on 21 July 2018. Retrieved21 July 2018.
  40. ^"doc/TODO.smpnet".NetBSD sources (anonhg). 12 August 2024.Archived from the original on 13 March 2025. Retrieved15 February 2025.
  41. ^"Scheduling in NetBSD – Part 1". 10 May 2020.Archived from the original on 9 February 2025. Retrieved9 February 2025.
  42. ^Hubert Feyrer (1 September 2017)."Documenting NetBSD's scheduler tweaks".hubertf's NetBSD Blog.Archived from the original on 9 February 2025. Retrieved9 February 2025.
  43. ^ab"Announcing NetBSD 10.0 (Mar 28, 2024)".Archived from the original on 4 January 2024. Retrieved4 January 2024.
  44. ^Doran, Andrew (9 January 2020)."Many small tweaks to the SMT awareness in the scheduler".source-changes (Mailing list).Archived from the original on 13 March 2025. Retrieved9 February 2025.
  45. ^"security(7)".NetBSD Manual Pages.Archived from the original on 12 February 2025. Retrieved9 February 2025.
  46. ^"kauth(9)".NetBSD Manual Pages. 10 August 2009.Archived from the original on 20 September 2020. Retrieved15 January 2010.
  47. ^Anthony Martinez, Thomas Bowen."Toasterkit - A NetBSD Rootkit"(PDF).DEF CON 2016.Archived(PDF) from the original on 13 March 2025. Retrieved15 February 2025.
  48. ^"Chapter 19. NetBSD Veriexec subsystem".NetBSD Guide.Archived from the original on 27 July 2011. Retrieved5 October 2024.
  49. ^Silvers, Chuck (24 August 2003)."Add support for non-executable mappings".source-changes (Mailing list).Archived from the original on 13 March 2025. Retrieved9 February 2025.
  50. ^"mmap(2)".NetBSD Manual Pages.Archived from the original on 6 March 2025. Retrieved17 February 2025.
  51. ^"paxctl(8)".NetBSD Manual Pages.Archived from the original on 11 February 2025. Retrieved9 February 2025.
  52. ^Villard, Maxime (20 November 2017)."The strongest KASLR, ever?".NetBSD Blog.Archived from the original on 15 February 2025. Retrieved15 February 2025.
  53. ^"Chapter 14. The cryptographic device driver (CGD)".NetBSD guide.Archived from the original on 6 August 2011. Retrieved5 October 2024.
  54. ^"cgd(4)".NetBSD Manual Pages. 27 September 2024.Archived from the original on 31 December 2024. Retrieved16 February 2025.
  55. ^Rasiukevicius, Mindaugas (17 October 2012)."Introducing NPF in NetBSD 6.0".tech-net (Mailing list).Archived from the original on 25 January 2025. Retrieved9 February 2025.
  56. ^"NPF documentation".Archived from the original on 11 April 2024. Retrieved9 February 2025.
  57. ^"Securelevel security model".NetBSD Manual Pages. 18 May 2019.Archived from the original on 26 January 2025. Retrieved16 February 2025.
  58. ^"Blacklistd by Christos Zoulas".NYCBUG 2015. BSDTV.Archived from the original on 13 March 2025. Retrieved16 February 2015.
  59. ^Taylor R Campbell (20 August 2020)."Wireguard in NetBSD".current-users (Mailing list).Archived from the original on 13 March 2025. Retrieved26 February 2025.
  60. ^"Security and NetBSD". NetBSD.org.Archived from the original on 12 February 2025. Retrieved9 February 2025.
  61. ^"UVM, the new Virtual Memory system".NetBSD Docs.Archived from the original on 16 August 2024. Retrieved24 February 2025.
  62. ^Green, Matthew (4 February 1998)."UVM: initial import of the new virtual memory system".source-changes (Mailing list).Archived from the original on 13 March 2025. Retrieved24 February 2025.
  63. ^Marshall Kirk McKusick (30 April 1996)."BSD Memory-Management Design Decisions".The Design and Implementation of the 4.4BSD Operating System.Archived from the original on 14 February 2025. Retrieved24 February 2025.
  64. ^ab"NetBSD 1.4 Release Announcement".Archived from the original on 13 April 2011. Retrieved5 October 2024.
  65. ^Charles D. Cranor (June 1999)."The UVM Virtual Memory System"(PDF).Proceedings of the USENIX Annual Technical Conference. Retrieved24 February 2025.
  66. ^Simon Pratt (2 February 2016)."BSD Virtual Memory".blog.pr4tt.com.Archived from the original on 20 April 2024. Retrieved24 February 2025.
  67. ^Charles D. Cranor (June 1999)."Zero-Copy Data Movement Mechanisms for UVM"(PDF).Archived(PDF) from the original on 15 November 2022. Retrieved24 February 2025.
  68. ^"ubc(9)".NetBSD Manual Pages. 12 May 2018.Archived from the original on 18 February 2025. Retrieved16 February 2025.
  69. ^Rahul Singh (25 January 2012)."The Buffer Cache".Archived from the original on 13 March 2025. Retrieved24 February 2025.
  70. ^Andrew Brown (20 February 2003)."HEADS-UP: top down vm available for use on i386 platform, for development on others".current-users (Mailing list).Archived from the original on 13 March 2025. Retrieved25 February 2025.
  71. ^Cherry G. Mathew (29 December 2016)."uvm_hotplug(9) port masters' FAQ".tech-kern (Mailing list). Retrieved25 February 2025.
  72. ^"Significant changes from NetBSD 9.0 to 10.0". NetBSD.org. 6 October 2024.Archived from the original on 26 January 2025. Retrieved26 February 2025.
  73. ^"boot(8)".NetBSD Manual Pages. 4 September 2009.Archived from the original on 17 July 2013. Retrieved15 January 2010.
  74. ^Matthew, Cherry G.; Monné, Roger Pau (August 2012)."(Free and Net) BSD Xen Roadmap".Archived from the original on 12 May 2013. Retrieved29 December 2012.
  75. ^"NetBSD Virtual Machine Monitor".m00nbsd.net.
  76. ^Maxime Villard (9 April 2019)."From zero to NVMM".NetBSD Blog.Archived from the original on 18 February 2025. Retrieved15 February 2025.
  77. ^"Chapter 30. Using virtualization: QEMU and NVMM".NetBSD Guide. Retrieved15 February 2025.
  78. ^"nvmm(4)".NetBSD Manual Pages. 30 July 2023.Archived from the original on 18 February 2025. Retrieved16 February 2025.
  79. ^Villard, Maxime (6 March 2020)."Re: What is the difference between nvmm-netbsd and kvm-linux?".netbsd-users (Mailing list).Archived from the original on 13 March 2025. Retrieved15 February 2025.
  80. ^Kamil Rytarowski (30 January 2019)."The hardware-assisted virtualization challenge".NetBSD Blog.Archived from the original on 11 February 2025. Retrieved15 February 2025.
  81. ^"Rump Kernels website".Archived from the original on 11 August 2024. Retrieved15 February 2025.
  82. ^Antii Kantee, Justin Cormack (October 2014)."Rump Kernels: No OS? No Problem!"(PDF). USENIX.Archived(PDF) from the original on 24 August 2017. Retrieved15 February 2025.
  83. ^"rampuser(3)".NetBSD Manual Pages.Archived from the original on 12 October 2024. Retrieved15 February 2025.
  84. ^Kantee, Antti (23 April 2013)."A Rump Kernel Hypervisor for the Linux Kernel".NetBSD Blog. Retrieved15 February 2025.
  85. ^"The Anykernel and Rump Kernels".NetBSD docs. 28 March 2022.Archived from the original on 22 December 2012. Retrieved15 February 2025.
  86. ^"Rumprun Github repository".GitHub. 11 May 2020.Archived from the original on 15 February 2025. Retrieved15 February 2025.
  87. ^"wg-userspace(8)".NetBSD Manual Pages. 20 August 2020.Archived from the original on 13 March 2025. Retrieved26 February 2025.
  88. ^Kantee, Antti."Tutorial On Rump Kernel Servers and Clients".NetBSD docs.Archived from the original on 22 December 2012. Retrieved29 December 2012.
  89. ^Justin Cormack."The rump kernel: A tool for driver development and a toolkit for applications"(PDF).AsiaBSDCon 2015. Retrieved10 April 2025.
  90. ^ab"bioctl(8) – RAID management interface".BSD Cross Reference. NetBSD.
  91. ^"Chapter 16. NetBSD RAIDframe".NetBSD Guide.Archived from the original on 20 February 2025. Retrieved8 February 2025.
  92. ^"Chapter 15. Concatenated Disk Device (CCD) configuration".NetBSD Guide. 8 January 2023.Archived from the original on 11 February 2025. Retrieved8 February 2025.
  93. ^Frank van der Linden (4 February 2003)."initial UFS2 support committed".current-users (Mailing list). Retrieved15 February 2025.
  94. ^"Chapter 2: New features in NetBSD 2.0".NetBSD Guide (old).Archived from the original on 13 March 2025. Retrieved14 February 2025.
  95. ^"fss(4)".NetBSD Manual Pages.Archived from the original on 18 February 2025. Retrieved8 February 2025.
  96. ^Juergen Hannken-Illjes (10 December 2003)."File system snapshot driver committed".current-users (Mailing list).Archived from the original on 18 February 2025. Retrieved15 February 2025.
  97. ^Paolo Vincenzo Olivo (16 March 2022)."Full system backups with FFS snapshots and dump(8)".RetroBSD Net.Archived from the original on 13 March 2025. Retrieved15 February 2025.
  98. ^Burge, Simon (2 March 2008)."Patches for journalling support".tech-kern (Mailing list). Retrieved15 January 2010.
  99. ^Jörg Sonnenberger."Journaling FFS with WAPBL"(PDF).BSDCan 2009. NetBSD Gallery.Archived(PDF) from the original on 13 March 2025. Retrieved15 February 2025.
  100. ^Adam Hamsik (23 February 2009)."Soft dependencies removed". NetBSD.Archived from the original on 13 March 2025. Retrieved16 February 2025.
  101. ^"acls and extended attributes on ffs".NetBSD wiki. 8 January 2023.Archived from the original on 11 February 2025. Retrieved8 February 2025.
  102. ^"blkdiscard(8)".NetBSD Manual Pages.Archived from the original on 18 February 2025. Retrieved8 February 2025.
  103. ^Adam Hamsik (7 August 2009)."[HEADS UP] zfs import".current-users (Mailing list).Archived from the original on 13 March 2025. Retrieved15 February 2025.
  104. ^Silvers, Chuck (28 May 2018)."Merge a new version of the CDDL dtrace and ZFS code".source-changes (Mailing list).Archived from the original on 13 March 2025. Retrieved15 February 2025.
  105. ^ab"Announcing NetBSD 9.0 (Feb 14, 2020)".Archived from the original on 29 May 2020. Retrieved4 December 2019.
  106. ^Sławomir W. Wojtczak (25 March 2022)."ZFS Compatibility". vermaden wordpress. Retrieved14 February 2025.
  107. ^Paolo Vincenzo Olivo (16 March 2022)."Creating ZFS pools on NetBSD".RetroBSD Net.Archived from the original on 13 March 2025. Retrieved15 February 2025.
  108. ^Ruben Shade (24 May 2020)."Encrypted ZFS on NetBSD 9.0, for a FreeBSD guy". Rubernerd.Archived from the original on 14 March 2025. Retrieved15 February 2025.
  109. ^"Root on ZFS".NetBSD wiki. 27 November 2024.Archived from the original on 11 February 2025. Retrieved8 February 2025.
  110. ^Hamsik, Adam (29 August 2008)."HEADS UP NetBSD lvm support".tech-kern (Mailing list).Archived from the original on 19 July 2011. Retrieved15 January 2010.
  111. ^"Filesystems in userspace: puffs, refuse, FUSE, and more",NetBSD docs,archived from the original on 24 November 2024, retrieved9 February 2025
  112. ^Merino, Julio (24 February 2021)."tmpfs for NetBSD - Efficient memory file system".Archived from the original on 11 February 2025. Retrieved8 February 2025.
  113. ^Merino, Julio (9 October 2005)."HEADS UP: tmpfs added".tech-kern (Mailing list). Retrieved9 February 2025.
  114. ^"NetBSD Binary Emulation". 13 January 2010.Archived from the original on 6 August 2011. Retrieved15 January 2010.
  115. ^"First bits of a Haiku compatibility layer".netbsd-users (Mailing list). 27 November 2023.Archived from the original on 1 February 2025. Retrieved12 February 2025.
  116. ^"Wine on the Pkgsrc package collection". pkgsrc.se.Archived from the original on 19 December 2024. Retrieved12 February 2025.
  117. ^Villard, Maxime (5 February 2017)."amd64: USER_LDT (and wine)".tech-kern (Mailing list).Archived from the original on 25 January 2025. Retrieved12 February 2025.
  118. ^Alarie, Nia (1 September 2020)."Running Wine in a 32-bit sandbox on 64-bit NetBSD".Archived from the original on 18 February 2025. Retrieved12 February 2025.
  119. ^"Porting wine to amd64 on NetBSD, third evaluation report".NetBSD Blog. 21 August 2019.Archived from the original on 18 February 2025. Retrieved12 February 2025.
  120. ^Lourival Vieira Neto (20 October 2014)."Scriptable Operating Systems with Lua"(PDF).DLS '14.Archived(PDF) from the original on 18 February 2025. Retrieved14 February 2025.
  121. ^Lourival Vieira Neto (October 2015)."Lua on NetBSD: Scripting Operating Systems with Lua"(PDF).BSDCon Brazil.Archived(PDF) from the original on 18 March 2025. Retrieved14 February 2025.
  122. ^Guilherme Salazar (2 June 2016)."NetBSD kernel Lua test suite".GitHub.Archived from the original on 17 March 2025. Retrieved14 February 2025.
  123. ^Paolo Vincenzo Olivo (15 March 2022)."Testing the Lua kernel interpreter". Retrieved14 February 2025.
  124. ^Guilherme Salazar (6 May 2018)."Kernel Lua I/O Bindings".GitHub. Retrieved14 February 2025.
  125. ^Lourival Vieira Neto (26 September 2014)."NPF Scripting with Lua"(PDF).EuroBSDcon 2014.Archived(PDF) from the original on 18 February 2025. Retrieved14 February 2025.
  126. ^Charlotte Koch (12 February 2018)."Lua interface to libnpf".GitHub.Archived from the original on 13 March 2025. Retrieved14 February 2025.
  127. ^Stephen Herwig."secmodel_sandbox: An application sandbox for NetBSD"(PDF).BSDCan 2017.Archived(PDF) from the original on 18 February 2025. Retrieved14 February 2025.
  128. ^"ddb -- in-kernel debugger".NetBSD Manual Pages. 29 June 2024. Retrieved10 February 2025.
  129. ^"Kernel Panic Procedures".NetBSD Tutorials. 4 May 2019.Archived from the original on 11 October 2024. Retrieved10 February 2025.
  130. ^"options -- Miscellaneous kernel configuration options".NetBSD Manual Pages. 12 May 2024. Retrieved10 February 2025.
  131. ^"Evolution of kernel fuzzers in NetBSD"(PDF). Siddharth Muralee - Team bi0s. Retrieved9 February 2025.
  132. ^"NetBSD Kernel Sanitizers".NetBSD Manual Pages.Archived from the original on 13 March 2025. Retrieved9 February 2025.
  133. ^Kamil Rytarowski (2 September 2019)."sanitizers".NetBSD wiki. Retrieved9 February 2025.
  134. ^"KLEAK: Practical Kernel Memory Disclosure Detection"(PDF). Thomas Barabosch - Maxime Villard. December 2018.Archived(PDF) from the original on 14 March 2025. Retrieved9 February 2025.
  135. ^Taylor R Campbell (7 July 2023)."Call for testing: New kernel heartbeat(9) checks".current-users (Mailing list). Retrieved9 February 2025.
  136. ^Meurer, Benedikt (15 January 2007)."Introduction to NetBSD loadable kernel modules".Archived from the original on 13 July 2024. Retrieved9 February 2025.
  137. ^"modules(7)".NetBSD Manual Pages.
  138. ^Feyrer, Hubert (27 September 2009)."Looking at the new kernel modules in NetBSD-current".Archived from the original on 13 March 2025. Retrieved9 February 2025.
  139. ^Sachidanand, Saurav (2 February 2017)."Writing a NetBSD kernel module". Retrieved9 February 2025.
  140. ^Benny Siegert (26 November 2023)."Building a NetBSD ramdisk kernel".benzblog.Archived from the original on 14 March 2025. Retrieved26 February 2025.
  141. ^"Root Filesystem Encryption".NetBSD Wiki. 15 January 2025.Archived from the original on 13 March 2025. Retrieved26 February 2025.
  142. ^Luke Mewburn."The Design and Implementation of the NetBSD rc.d system"(PDF).USENIX 2001.Archived(PDF) from the original on 13 March 2025. Retrieved26 February 2025.
  143. ^ab"Announcing NetBSD 1.5".Archived from the original on 6 August 2011. Retrieved5 October 2024.
  144. ^"Chapter 7. The rc.d System".NetBSD Guide.Archived from the original on 13 March 2025. Retrieved26 February 2025.
  145. ^Andrew Smallshaw (7 December 2009)."Unix and Linux startup scripts, Part 2".Archived from the original on 18 December 2009. Retrieved26 February 2025.
  146. ^Constantine A. Murenin (21 May 2010). "6. Evolution of the Framework; 7.1. NetBSD envsys / sysmon".OpenBSD Hardware Sensors – Environmental Monitoring and Fan Control (MMath thesis).University of Waterloo: UWSpace.hdl:10012/5234. Document ID: ab71498b6b1a60ff817b29d56997a418.
  147. ^"audio(4)".NetBSD Manual Pages.
  148. ^Augustsson, Lennart (19 October 1997)."audio(4): Update for SunOS compatibility".source-changes (Mailing list).Archived from the original on 13 March 2025. Retrieved24 February 2025.
  149. ^Alarie, Nia."NetBSD audio – an application perspective".pkgsrcCon 2019.Archived from the original on 11 February 2025. Retrieved9 February 2025.
  150. ^Sloss, Nathanial (7 May 2018)."NetBSD Audio specification 2018".tech-kern (Mailing list).Archived from the original on 13 March 2025. Retrieved9 February 2025.
  151. ^"ossaudio(3)".NetBSD Manual Pages.Archived from the original on 11 February 2025. Retrieved9 February 2025.
  152. ^"midi(4)".NetBSD Manual Pages.Archived from the original on 13 March 2025. Retrieved9 February 2025.
  153. ^"Research carried out using NetBSD".netbsd.org. Retrieved11 May 2022.
  154. ^Wasabi Systems Inc."Embedding the NetBSD Operating System"(PDF). Retrieved8 February 2025.
  155. ^ab"Foundry27: Project Networking – Driver wiki page".QNX Software Systems.Archived from the original on 16 July 2011. Retrieved27 December 2011.
  156. ^Stefano Marinelli (27 August 2023)."That Old NetBSD Server, Running Since 2010".IT Notes. Retrieved16 February 2025.
  157. ^André Machado (4 November 2024)."NetBSD: The Portable, Lightweight, and Robust Unix-Like OS". Retrieved7 September 2025.
  158. ^Ruben Shade (11 February 2023)."Boring tech is mature, not old".Archived from the original on 16 February 2025. Retrieved16 February 2025.
  159. ^The Register (10 August 2022)."NetBSD 9.3: A 2022 OS that can run on late-1980s hardware". Retrieved8 February 2025.
  160. ^Sevan Janiyan (4 February 2018)."NetBSD - A modern operating system for your retro battlestation".FOSDEM 2018. Retrieved14 April 2025.
  161. ^Jacopo Maltagliati (19 March 2021)."Booting NetBSD/VAX 1.5.3 from network on a MicroVAX 3300". Retrieved14 April 2025.
  162. ^Luke S. (16 December 2024)."Running NetBSD on IBM ThinkPad 380Z". Retrieved14 April 2025.
  163. ^Sander van der Burg (18 February 2025)."Running NetBSD on my Amiga 4000". Retrieved14 April 2025.
  164. ^"Third Party Open Source License Terms Guide".QNX Software Systems.Archived from the original on 16 July 2023. Retrieved27 December 2011.
  165. ^"Core Networking 6.4: Neutrino's Next Gen Networking Stack and Foundry27".QNX Software Systems. Archived fromthe original on 16 July 2011. Retrieved15 January 2010. (registration required)
  166. ^"Force10 Networks uses NetBSD to build software scalability into operating system".Dell (Press release). 13 February 2007. Archived fromthe original on 15 November 2011. Retrieved27 December 2011.
  167. ^"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 fromthe original on 15 November 2011. Retrieved27 December 2011.
  168. ^Duc, Hiep Nguyen (21 June 2016)."NetBSD Introduction by Siju Oommen George - BSD MAG".BSD MAG. Archived from the original on 10 November 2017. Retrieved9 November 2017.
  169. ^Rivett, Mary (12 April 1997)."Re: NetBSD/i386 and single board computers".port-i386 (Mailing list).Archived from the original on 6 March 2005. Retrieved31 March 2005.
  170. ^Duc, Hiep Nguyen (21 June 2016)."NetBSD Introduction by Siju Oommen George - BSD MAG".BSD MAG. Archived from the original on 10 November 2017. Retrieved9 November 2017.
  171. ^Kruse, Hans; Allman, Mark; Griner, Jim & Tran, Diepchi (5 March 1998)."HTTP Page Transfer Rates over Geo-Stationary Satellite Links"(PDF). Archived fromthe original(PDF) on 20 July 2009. Retrieved27 December 2011.
  172. ^"The IBM NetVista Thin Client Famil"(PDF). IBM PSG, Nordic. July 2000.
  173. ^Josefsson, Börje (14 April 2004)."SUNET Internet2 Land Speed Record: 69.073 Pbmps".SUNET. Archived fromthe original on 1 January 2006. Retrieved27 December 2011.
  174. ^"How to jailbreak an Apple Time Capsule?".superuser.com.Archived from the original on 21 September 2023. Retrieved27 December 2009.
  175. ^Fleishman, Glenn (16 February 2007)."AirPort Extreme: Apple Breaks 90 Mbps".wifinetnews.com.Archived from the original on 6 February 2010. Retrieved28 December 2009.
  176. ^"Myths about FreeBSD".Archived from the original on 14 July 2014. Retrieved7 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.
  177. ^"Overview of OS X".Apple Inc. 11 June 2012.Archived from the original on 4 March 2016. Retrieved29 July 2015.
  178. ^"Wasabi Systems".Archived from the original on 8 October 2023. Retrieved16 February 2018.
  179. ^"Wasabi Certified® BSD". Data Storage Connection.Archived from the original on 13 March 2025. Retrieved14 February 2025.
  180. ^Federico Biancuzzi (18 May 2008)."NetBSD WAPBL".O'Reilly Media. Archived fromthe original on 7 January 2010. Retrieved24 March 2019.
  181. ^Jason R. Thorpe, Allen K. Briggs (21 August 2003)."The WHBA Project: Experiences "deeply embedding" NetBSD".BSDCON'03. USENIX Website.Archived from the original on 11 August 2024. Retrieved14 February 2025.
  182. ^"Precedence Technologies".Archived from the original on 19 January 2025. Retrieved14 February 2025.
  183. ^Borrill, Stephen (9 May 2009)."Building products with NetBSD - thin-clients"(PDF).BSDCan 2009. Retrieved14 February 2025.
  184. ^"SEIL website". Retrieved11 February 2025.
  185. ^Masanobu SAITOH, Hiroki SUENAGA (March 2014)."Developing CPE Routers based on NetBSD: Fifteen Years of SEIL"(PDF).AsiaBSDCon 2014.Archived(PDF) from the original on 10 October 2024. Retrieved14 February 2025.
  186. ^"SEIL/X4 press release". IIJ. 28 March 2019.Archived from the original on 13 March 2025. Retrieved11 February 2025.
  187. ^"Moritz Systems".Archived from the original on 12 February 2025. Retrieved11 February 2025.
  188. ^"TDI: Cybersecure the World".Archived from the original on 3 February 2025. Retrieved14 February 2025.
  189. ^"NetBSD on embedded devices - turning USB thumb-drives into VPNs". TDI Security.Archived from the original on 13 March 2025. Retrieved14 February 2025.
  190. ^"Sidekick LX 2009 / Blade Will Run NetBSD".hiptop3.com. 30 January 2009. Archived fromthe original on 17 March 2009. Retrieved5 February 2009.
  191. ^"Minix Gets a NetBSD Code Infusion".pcworld.com. 29 February 2012.Archived from the original on 27 September 2021. Retrieved4 July 2012.
  192. ^"chmod.c".opensource.apple.com.Archived from the original on 27 September 2021. Retrieved5 February 2021.
  193. ^"du.c".opensource.apple.com.Archived from the original on 27 September 2021. Retrieved5 February 2021.
  194. ^"mv.c".opensource.apple.com.Archived from the original on 27 September 2021. Retrieved5 February 2021.
  195. ^Hughes, Elliot (25 July 2012)."getting Android's bionic C library back in sync with upstream".tech-userlevel (Mailing list).Archived from the original on 12 February 2025. Retrieved11 February 2025.
  196. ^"Packetgraph is a library aiming to give the user a tool to build networks graph easily".Outscale Github Repository. 23 March 2023. Retrieved11 February 2025.
  197. ^"BisonRouter is a software packet router based on DPDK an NPF libraries".TheRouter Github Repository. 29 January 2025. Retrieved11 February 2025.
  198. ^"curses in NetBSD".NetBSD wiki. 6 August 2020.Archived from the original on 16 February 2025. Retrieved11 February 2025.
  199. ^"netbsd-libcurses portable edition".Sabotage Linux Github repository. 16 January 2024.Archived from the original on 16 February 2025. Retrieved11 February 2025.
  200. ^"Release notes for the Genode OS Framework 14.02: NetBSD file systems using rump kernels". Genode. 28 February 2017.Archived from the original on 4 March 2025. Retrieved15 February 2025.
  201. ^"Release notes for the Genode OS Framework 17.02: Rump-kernel-based file systems as VFS plugin". Genode. 28 February 2014.Archived from the original on 7 March 2025. Retrieved15 February 2025.
  202. ^"rump on GNU HURD".Hurd wiki. darnassus.sceen.net. 21 October 2024.Archived from the original on 18 February 2025. Retrieved15 February 2025.
  203. ^"Overview - NRK Documentation".NRkernel Website.Archived from the original on 13 March 2025. Retrieved15 February 2025.
  204. ^"What SDF looks like TODAY". SDF.org. December 2021.Archived from the original on 29 January 2025. Retrieved14 February 2025.
  205. ^"WHAT IS SDF? (QUICK SUMMARY)". SDF.org. 22 September 2018. Retrieved14 February 2025.
  206. ^Sevan Janiyan (22 September 2018)."What's in store for NetBSD 9.0"(PDF).EuroBSDcon 2018. NetBSD Gallery.Archived(PDF) from the original on 5 March 2025. Retrieved14 February 2025.SDF is a NetBSD development site
  207. ^"PlayStation Portable Instruction Manual"(PDF). p. 42.
  208. ^"NetBSD Licensing and Redistribution" (Press release). June 2008. Retrieved20 June 2008.
  209. ^"Distro description".Free Penguin. Licensing Section. 25 March 2013.Archived from the original on 14 July 2014. Retrieved7 June 2014.NetBSD separates those in its base source tree, in order to make removal of code under more restrictive licenses easier.
  210. ^Husemann, Martin (7 February 2024)."NetBSD 10.0 RC4 available!".NetBSD Blog.Archived from the original on 25 February 2024. Retrieved25 February 2024.
  211. ^"NetBSD Blog".Archived from the original on 15 February 2020. Retrieved15 February 2020.
  212. ^"Announcing NetBSD 7.0".Archived from the original on 9 October 2015. Retrieved5 October 2024.
  213. ^"DistroWatch Weekly, Issue 638, 30 November 2015".Archived from the original on 22 June 2018. Retrieved27 May 2018.
  214. ^ab"Announcing NetBSD 6.0".Archived from the original on 15 January 2016. Retrieved5 October 2024.
  215. ^"aibs – ASUSTeK AI Booster ACPI ATK0110 voltage, temperature and fan sensor".
  216. ^abc"Announcing NetBSD 5.0".Archived from the original on 17 July 2011. Retrieved5 October 2024.
  217. ^"Distributions [LWN.net]".Archived from the original on 27 May 2018. Retrieved27 May 2018.
  218. ^"DistroWatch Weekly, Issue 386, 3 January 2011".Archived from the original on 22 June 2018. Retrieved27 May 2018.
  219. ^Sonnenberger, Jörg (19 January 2012)."Status of NetBSD and LLVM". Archived fromthe original on 9 April 2014. Retrieved26 March 2015.
  220. ^"Announcing NetBSD 4.0".Archived from the original on 18 July 2011. Retrieved5 October 2024.
  221. ^"Announcing NetBSD 3.0".Archived from the original on 6 August 2011. Retrieved5 October 2024.
  222. ^"Announcing NetBSD 2.0".Archived from the original on 6 August 2011. Retrieved5 October 2024.
  223. ^"Announcing NetBSD 1.6".Archived from the original on 6 August 2011. Retrieved5 October 2024.
  224. ^OS Review: NetBSD 1.6.2 on SPARC64Archived 22 June 2018 at theWayback Machine,OSNews
  225. ^"Information about NetBSD 1.3".Archived from the original on 7 June 2011. Retrieved5 October 2024.
  226. ^"Information about NetBSD 1.2".Archived from the original on 7 June 2011. Retrieved5 October 2024.
  227. ^"Information about NetBSD 1.1".Archived from the original on 7 June 2011. Retrieved5 October 2024.
  228. ^"NetBSD 1.0 release announcement".Archived from the original on 7 June 2011. Retrieved5 October 2024.
  229. ^"NetBSD 0.9 available for anon-ftp..."Archived from the original on 22 September 2021. Retrieved8 October 2021.
  230. ^"Installation notes for NetBSD 0.8".Archived from the original on 17 January 2020. Retrieved12 May 2010.
  231. ^Old NetBSD logo
  232. ^"NetBSD logo design competition".Archived from the original on 23 July 2014. Retrieved19 April 2006.
  233. ^The NetBSD Foundation, Inc.
  234. ^"NetBSD Developers". 7 January 2010.Archived from the original on 19 July 2011. Retrieved15 January 2010.
  235. ^"Bylaws of The NetBSD Foundation, Constitution of The NetBSD Foundation". p. Section 5.4.Archived from the original on 26 June 2014. Retrieved7 June 2014.Each Director shall serve for two years

External links

[edit]
Wikimedia Commons has media related toNetBSD.
Wikiquote has quotations related toNetBSD.
TheNetBSD Project
Operating system
Related projects
Notable subsystems
File systems andstorage
Firewalls andnetworking
People
Derivatives
Active
Discontinued
Companies
Other topics
Operating
systems
BSD
Linux
System V
Other
Compatibility
layers
Retrieved from "https://en.wikipedia.org/w/index.php?title=NetBSD&oldid=1337045090"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp