NetBSD

from Wikipedia, the free encyclopedia
NetBSD
logo
"Of course it runs NetBSD"
developer The NetBSD Foundation
License (s) BSD license
First publ. 1993
Current  version 9.0 of February 15, 2020
(194 days ago)
ancestry Before version 1.0:
UNIX
↳ 4.3BSD
↳ 386BSD
↳ NetBSD

Since version 1.0:
4.4BSD
↳ NetBSD

Architecture (s) 57 systems with Alpha , ARM , PA-RISC , m68k , MIPS , PowerPC , SuperH , SPARC , AMD64 , VAX or x86 processor
www.NetBSD.org

NetBSD is a Unix derivative and belongs to the family of BSD - operating systems . It is distributed under the free BSD license .

overview

As the first spin-off from 386BSD , NetBSD was the second BSD variant in 1993 to be published as an open source operating system. It is still actively developed today and can be used on almost any computer due to its good portability .

NetBSD has since been ported to 57 hardware platforms, including 32-bit and 64-bit systems with support for one or more processors. Conceived as a universal operating system for a wide range of applications, NetBSD can be used on different hardware: on servers , workstations , desktop PCs , notebooks , PDAs and on embedded systems . Support for current interfaces , storage systems , network protocols and file systems is already integrated. The extensive package system pkgsrc is available for application programs. In addition, virtual machines with NetBSD on Xen are possible.

history

Like FreeBSD, NetBSD is based on 386BSD and 4.4BSD-lite. The project came about because some of the 386BSD developers were dissatisfied with the slow pace and the direction that further development was going to take. The four founders of the NetBSD project, Chris Demetriou, Theo de Raadt , Adam Glass and Charles Hannum, decided to take a different path with a more open development model and with a focus on portable, clean and correct source code. Because the Internet played the most important role in the joint development and distribution of the project, Theo de Raadt suggested the name "NetBSD".

The source code of NetBSD was available on March 21, 1993, and NetBSD 0.8 was the first official release in April 1993. NetBSD 0.9 then contained many improvements and corrections, but was still limited to the PC platform. NetBSD 1.0 from October 1994 was finally the first release for different hardware architectures: HP 9000 Series 300, Amiga , 68k Macintosh, Sun-4c series and PC532 were added as supported hardware platforms .

In 1994 one of the founders, Theo de Raadt, was excluded from the project. In October 1995 he started the OpenBSD project, which was supposed to be based on NetBSD 1.0.

The NetBSD 1.x versions continued to be released annually, with smaller "patch" versions being released in between. With NetBSD 1.3, the NetBSD package manager pkgsrc was introduced in 1998 . In 1999, NetBSD 1.4 appeared with full support for 16 different hardware platforms. Additional hardware support was already available in the source code.

In December 2004 NetBSD 2.0 was published: For the first time multiprocessor systems were supported (SMP). Another important innovation of NetBSD 2.0 was the introduction of a native threads implementation for all platforms. In addition, a new numbering scheme was introduced with this release: Since then, major releases have been counted in the first digit (NetBSD 2.0, 3.0 etc.) and no longer in the second (NetBSD 1.5, 1.6) as before.

In June 2008, the NetBSD Foundation changed its four-clause BSD license to a two-clause BSD license. This improves compatibility with GPL-licensed software, and eliminates the need to indicate in products that use NetBSD Foundation code that it contains NetBSD Foundation software.

In April 2009, NetBSD 5 was released, which brought an improved threading model with it. From now on, X.Org is the standard window system , and in addition to improved hardware support, the kernel module framework has also been revised. In March 2011 it was announced that a three-part system for prioritizing and maintaining the individual platforms was being pursued.

NetBSD 6 introduced npf, a packet filter that is optimized for the operation of multi-core systems. In addition, a new Kernel Module Framework was introduced, which is now activated by default. Xen 2 was also removed in favor of Xen 3.1 and the Logical Volume Manager is now part of the base system.

The DRM / KMS code from Linux 3.15 has been integrated into NetBSD 7 (published on October 8, 2015), which enables better support for Intel and Radeon graphics cards. Various boards with ARM processors (e.g. Raspberry Pi 2, BeagleBoard ) are now supported. NetBSD 7 receives an intrusion detection system with blacklistd . Since this version there is also the "service" program known from other operating systems, with which daemons can be started and stopped and their status can be queried.

On July 17, 2018, NetBSD 8 was released. Significant innovations in the kernel are support for USB 3.0, measures against the CPU bugs Specter and Meltdown and Address Space Layout Randomization (ASLR). In addition, NetBSD now supports booting via EFI .

features

NetBSD is a Unix-like operating system in which the individual components of the user land are optimally coordinated with the capabilities of the kernel. This is achieved because the kernel and (almost) the entire user land come from a single source. Great importance is attached to the fact that the system behaves in the same way on all architectures.

construction

For users, applications and programmers, NetBSD offers a POSIX- compatible interface with which many applications from other Unix systems, such as Linux and other BSD systems, can run on NetBSD.

NetBSD consists of a small basic set with the most important programs. Additional applications can be installed with the help of the package management, depending on the purpose of the computer. This often means that a relatively large number of packages have to be installed later. In return, however, you get a system on which nothing “unnecessary” is installed. A running operating system without a graphical user interface can be implemented with the standard distribution in less than 300 MB.

The package system used is pkgsrc , the “NetBSD Packages Collection”. This offers the choice of installing precompiled binary packages or compiling programs yourself. Pkgsrc has also been ported to various other operating systems, including FreeBSD , DragonFly BSD , Solaris, and GNU / Linux .

Same behavior on every hardware

NetBSD is a successor to the BSD Unix developed at the University of Berkeley in California. When the BSD project was discontinued after the release of 4.4BSD-Lite2 in 1995, it supported various hardware platforms, including IBM-compatible PCs , but also workstations from Hewlett-Packard , Sun Microsystems and Digital . The NetBSD project is committed to maintaining portability and expanding multi-platform capabilities.

Therefore NetBSD now supports not only many "old" computer architectures, but also runs on modern devices with desktop, server and embedded hardware, such as AMD Opteron - CPU , PowerPC , MIPS and ARM / XScale and Xen-based on virtualized hardware. The list of supported hardware platforms underlines the motto of the NetBSD developers: "Of course it runs NetBSD" ("Of course it runs NetBSD on it").

Support for all of these platforms is based on a single source tree. This is organized into machine-dependent and machine-independent parts. The machine-dependent part contains the parts that are specific to a computer architecture and that establish the connection between the hardware and the independent parts.

This division, together with the central management of the source texts, is the reason why newly developed solutions are immediately available on all platforms: the time-consuming backporting of new functions is no longer necessary. New functions and bug fixes in the machine-independent code are immediately available on all supported architectures.

This also applies to the development of new device drivers. A PCI card therefore works on IA-32 , DEC Alpha , PowerPC, Sun SPARC and other architectures with PCI support. An Ethernet chip, which is included on various PCI, ISA and USB devices, only requires a single driver, which is then connected via various bus attachments.

This platform independence simplifies development. For Linux, the device driver code has to be specially adapted for each new architecture. NetBSD, on the other hand, can be ported to new hardware architectures more quickly: For example, developers needed less than six weeks to port NetBSD to the SuperH processor, while Linux took twelve weeks. Porting NetBSD to the AMD64 architecture took a month, and Linux took six months.

To underline the good portability of NetBSD and to show how well it is suitable for embedded applications, the NetBSD toaster was presented in 2005 by the company Technologic Systems. This made a project a reality that had previously made the rounds as a running gag in the NetBSD scene for years : “NetBSD would even run on a toaster”.

The Cross compiling of the kernel and userland for slow platforms can be completely outsourced to 1.6 faster computers a different architecture since the release of NetBSD.

Functions

Virtualization

Xen is a permanent feature of NetBSD from version 3.0 . QEMU and VirtualBox can be installed later via pkgsrc .

Rump kernels

NetBSD 5.0 ​​introduced rump kernels , a system that allows drivers to run in userspace . With this technique it is also possible to use drivers developed for NetBSD under other systems with different kernels.

Storage

NetBSD used as the file system FFS with journaling , also known as WAPBL. This was a donation from Wasabi Systems. As part of a GSoC -Project also one was Logical Volume Manager developed the compatible of AIX originating Logical Volume Manager is why the same tools can be used.

With NetBSD 6, the CHFS flash memory file system, developed by the Department of Software Engineering, University of Sciences Szeged , was introduced. An experimental port from ZFS has also been integrated.

License

The kernel and a large part of the base consist of BSDL code. In contrast to FreeBSD and OpenBSD, the GCC is also used in higher versions, which is under GPLv3. One reason for this is the wide support for exotic hardware.

Distributions and derivatives

NetBSD distributions

  • BlackBSD: Live CD ; specialized in safety tools; Fluxbox;
  • g4u : hard drive live CD
  • Jibbed : Live CD;
  • OS108: desktop operating system based on NetBSD;

NetBSD derivatives

  • OpenBSD : largest offshoot of NetBSD;
  • Debian GNU / NetBSD : a combination of Debian and the NetBSD kernel; Discontinued in 2002;
  • EdgeBSD : NetBSD offshoot with the primary goal of being more modern in some aspects than NetBSD itself;
  • Force10 Networks FTOS: Operating system for switches / routers of the Force10 TeraScale E series;
  • Gentoo / NetBSD : a combination of Gentoo and the NetBSD kernel;
  • PolyBSD / pocketSAN: basic system for the construction of embedded systems;
  • SEOS: operating system of the SmartEdge router series from Ericsson;

See also

literature

  • freeX: NetBSD 1.6 Installation · Configuration · Administration . C&L Computer- und Literaturverlag, Böblingen 2003, ISBN 3-936546-00-2 .

Web links

Commons : NetBSD  - collection of pictures, videos and audio files

swell

  1. blog.netbsd.org .
  2. NetBSD 1.6 Install · Configure · Administer. 2003, p. 22.
  3. New numbering scheme
  4. ^ The NetBSD Project. (PDF) Retrieved February 9, 2014 .
  5. NetBSD toaster
  6. NetBSD 1.6 Install · Configure · Administer. 2003, p. 775.