In Unix -based computer operating systems , init (short for initialization ) is the first process started during booting of the operating system. Init is a daemon process that continues running until the system is shut down. It is the direct or indirect ancestor of all other processes and automatically adopts all orphaned processes . Init is started by the kernel during the booting process; a kernel panic will occur if the kernel is unable to start it, or it should die for any reason. Init is typically assigned process identifier 1.
47-572: [REDACTED] Look up init in Wiktionary, the free dictionary. Init or INIT may refer to: init , the first process started during boot of a Unix system INIT (Mac OS) , a system-extension mechanism in Apple Macintosh operating system prior to OS X INIT II , an intranasal insulin clinical trial Init Records , an American record label International IT College of Sweden INIT SE ,
94-560: A German technology company in the public transport industry See also [ edit ] Initialization (disambiguation) Topics referred to by the same term [REDACTED] This disambiguation page lists articles associated with the title INIT . If an internal link led you here, you may wish to change the link to point directly to the intended article. Retrieved from " https://en.wikipedia.org/w/index.php?title=INIT&oldid=1249777734 " Category : Disambiguation pages Hidden categories: Short description
141-490: A Xen-specialized kernel as the "host OS" (Dom0). Any number of "guest OSes" (DomU) virtualized computers, with or without specific Xen/DomU support, can be run in parallel with the appropriate hardware resources. The need for a third-party boot manager, such as GRUB, was eliminated with NetBSD 5's Xen-compatible boot manager. NetBSD 6 as a Dom0 has been benchmarked comparably to Linux, with better performance than Linux in some tests. As of NetBSD 9.0, accelerated virtualization
188-525: A central unified source-code tree managed by CVS . Currently, unlike other kernels such as μClinux , the NetBSD kernel requires the presence of an MMU in any given target architecture. NetBSD's portability is aided by the use of hardware abstraction layer interfaces for low-level hardware access such as bus input/output or DMA . Using this portability layer, device drivers can be split into "machine-independent" and "machine-dependent" components. This makes
235-473: A framework for building and managing third-party application software packages. The pkgsrc collection consists of more than 20,000 packages as of October 2019 . Building and installing packages such as Lumina , KDE , GNOME , the Apache HTTP Server or Perl is performed through the use of a system of makefiles . This can automatically fetch the source code, unpack, patch, configure, build and install
282-456: A given system. On Linux distributions defaulting to runlevel 5 in the table on the right, runlevel 5 invokes a multiuser graphical environment running the X Window System , usually with a display manager like GDM or KDM . However, the Solaris and illumos operating systems typically reserve runlevel 5 to shut down and automatically power off the machine. On most systems, all users can check
329-421: A machine, characterized by the processes and daemons running in each of them. In general, there are seven runlevels, out of which three runlevels are considered "standard", as they are essential to the operation of a system: Aside from these standard ones, Unix and Unix-like systems treat runlevels somewhat differently. The common denominator, the /etc/inittab file, defines what each configured runlevel does in
376-436: A number of different actions if files do not match their fingerprints. For example, one can allow Perl to run only scripts that match their fingerprints. The cryptographic device driver (CGD) allows using disks or partitions (including CDs and DVDs) for encrypted storage. The Xen virtual-machine monitor has been supported in NetBSD since release 3.0. The use of Xen requires a special pre-kernel boot environment that loads
423-487: A single driver easily usable on several platforms by hiding hardware access details, and reduces the work to port it to a new system. This permits a particular device driver for a PCI card to work without modifications, whether it is in a PCI slot on an IA-32 , Alpha , PowerPC , SPARC , or other architecture with a PCI bus. Also, a single driver for a specific device can operate via several different buses, like ISA , PCI, or PC Card . This platform independence aids
470-459: A site-specific /etc/rc.local file that is run in a sub-shell near the end of the boot sequence. A fully modular system was introduced with NetBSD 1.5 and ported to FreeBSD 5.0 and successors. This system executes scripts in the /etc/rc.d directory. Unlike System V's script ordering, which is derived from the filename of each script, this system uses explicit dependency tags placed within each script. The order in which scripts are executed
517-423: A system from runlevel 3 to 4 might only start the local X server. Going back to runlevel 3, it would be stopped again. Traditionally, one of the major drawbacks of init is that it starts tasks serially, waiting for each to finish loading before moving on to the next. When startup processes end up Input/output (I/O) blocked, this can result in long delays during boot. Speeding up I/O, e.g. by using SSDs, may shorten
SECTION 10
#1732858734820564-461: Is derived from FreeBSD code but some is derived from NetBSD code ). The operating system of the T-Mobile Sidekick LX 2009 smartphone is based on NetBSD. The Minix operating system uses a mostly NetBSD userland as well as its pkgsrc packages infrastructure since version 3.2. Parts of macOS were originally taken from NetBSD, such as some userspace command line tools. All of
611-442: Is determined by the rcorder utility based on the requirements stated in these tags. When compared to its predecessors, AT&T's UNIX System III introduced a new style of system startup configuration, which survived (with modifications) into UNIX System V and is therefore called the "SysV-style init". At any moment, a running System V is in one of the predetermined number of states, called runlevels . At least one runlevel
658-740: Is different from Wikidata All article disambiguation pages All disambiguation pages Init In Unix systems such as System III and System V , the design of init has diverged from the functionality provided by the init in Research Unix and its BSD derivatives. Up until the early 2010s, most Linux distributions employed a traditional init that was somewhat compatible with System V, while some distributions such as Slackware use BSD-style startup scripts, and others still such as Gentoo have their own customized versions. Since then, several additional init implementations have been created, attempting to address design limitations in
705-589: Is possible without having to make modifications to the source code public. In contrast, the GPL , which does not apply to NetBSD, stipulates that changes to source code of a product must be released to the product recipient when products derived from those changes are released. On 20 June 2008, the NetBSD Foundation announced a transition to the two clause BSD license, citing concerns with UCB support of clause 3 and industry applicability of clause 4. NetBSD also includes
752-508: Is provided through the native hypervisor NVMM (NetBSD Virtual Machine Monitor). It provides a virtualization API, libnvmm , that can be leveraged by emulators such as QEMU . A unique property of NVMM is that the kernel never accesses guest VM memory, only creating it. Intel's Hardware Accelerated Execution Manager (HAXM) provides an alternative solution for acceleration in QEMU for Intel CPUs only, similar to Linux's KVM . NetBSD 5.0 introduced
799-445: Is simple and easy to edit manually. However, new software added to the system may require changes to existing files that risk producing an unbootable system. BSD init was, prior to 4.3BSD, the same as Research UNIX's init; in 4.3BSD , it added support for running a windowing system such as X on graphical terminals under the control of /etc/ttys . To remove the requirement to edit /etc/rc , BSD variants have long supported
846-506: Is the normal operating state of the system; typically, other runlevels represent single-user mode (used for repairing a faulty system), system shutdown, and various other states. Switching from one runlevel to another causes a per-runlevel set of scripts to be run, which typically mount filesystems, start or stop daemons , start or stop the X Window System , shutdown the machine, etc. The runlevels in System ;V describe certain states of
893-773: The AMD Geode LX800, Freescale PowerQUICC processors, Marvell Orion, AMCC 405 family of PowerPC processors, and the Intel XScale IOP and IXP series. The NetBSD cross-compiling framework (also known as "build.sh" ) 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 most POSIX -compliant systems). Several embedded systems using NetBSD have required no additional software development other than toolchain and target rehost. NetBSD features pkgsrc (short for "package source"),
940-713: The GNU development tools and other packages, which are covered by the GPL and other open source licenses. As with other BSD projects, NetBSD separates those in its base source tree to make it easier to remove code that is under more restrictive licenses. As for packages, the installed software licenses may be controlled by modifying the list of allowed licenses in the pkgsrc configuration file ( mk.conf ). The following table lists major NetBSD releases and their notable features in reverse chronological order. Minor and patch releases are not included. The NetBSD "flag" logo, designed by Grant Bissett,
987-526: The Lua programming language was added in NetBSD 7.0. The Lua language (i.e., its interpreter and standard libraries) was initially ported to the NetBSD kernel during Google Summer of Code 2010 and has undergone several improvements since then. There are two main differences between user and kernel space Lua: kernel Lua does not support floating-point numbers ; as such, only Lua integers are available. It also does not have full support to user space libraries that rely on
SECTION 20
#17328587348201034-480: The VFS and major file systems were modified to be MP safe. Since April 2008 the only subsystems running with a giant lock are the network protocols and most device drivers . NetBSD provides various features in the security area. The Kernel Authorization framework (or Kauth) is a subsystem managing all authorization requests inside the kernel, and used as system-wide security policy. It allows external modules to plug-in
1081-612: The rump kernel , an architecture to run drivers in user-space by emulating kernel-space calls. This anykernel architecture allows adding support of NetBSD drivers to other kernel architectures, ranging from exokernels to monolithic kernels . NetBSD includes many enterprise features like iSCSI , a journaling filesystem , logical volume management and the ZFS filesystem. The bio(4) interface for vendor-agnostic RAID volume management through bioctl has been available in NetBSD since 2007. The WAPBL journaling filesystem, an extension of
1128-604: The BSD FFS filesystem, was contributed by Wasabi Systems in 2008. The NetBSD Logical Volume Manager is based on a BSD reimplementation of a device-mapper driver and a port of the Linux Logical Volume Manager tools. It was mostly written during the Google Summer of Code 2008. The ZFS filesystem developed by Sun Microsystems was imported into the NetBSD base system in 2009. The CHFS Flash memory filesystem
1175-484: The NetBSD kernel and most of the core userland source code is released under the terms of the BSD License (two, three, and four-clause variants). This essentially allows everyone to use, modify, redistribute or sell it as they wish, as long as they do not remove the copyright notice and license text (the four-clause variants also include terms relating to publicity material). Thus, the development of products based on NetBSD
1222-465: The NetBSD project, Chris Demetriou, Theo de Raadt , Adam Glass, and Charles Hannum, felt that a more open development model would benefit the project: one centered on portable, clean, correct code. They aimed to produce a unified, multi-platform, production-quality, BSD-based operating system. The name "NetBSD" was chosen based on the importance and growth of networks such as the Internet at that time, and
1269-698: The appropriate processor architectures with its previous releases, but also with several other UNIX -derived and UNIX-like operating systems, including Linux , and other 4.3BSD derivatives like SunOS 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. A variety of "foreign" disk filesystem formats are also supported in NetBSD, including ZFS , FAT , NTFS , Linux ext2fs , Apple HFS and OS X UFS , RISC OS FileCore/ADFS, AmigaOS Fast File System , IRIX EFS , Version 7 Unix File System , and many more through PUFFS . Kernel-space scripting with
1316-495: The authorization process. NetBSD also incorporates exploit mitigation features, ASLR , KASLR, restricted mprotect() and Segvguard from the PaX project, and GCC Stack Smashing Protection (SSP, or also known as ProPolice, enabled by default since NetBSD 6.0) compiler extensions. Verified Executables (or Veriexec) is an in-kernel file integrity subsystem in NetBSD. It allows the user to set digital fingerprints (hashes) of files, and take
1363-442: The current runlevel with either the runlevel or who -r command. The root user typically changes the current runlevel by running the telinit or init commands. The /etc/inittab file sets the default runlevel with the :initdefault: entry. On Unix systems, changing the runlevel is achieved by starting only the missing services (as each level defines only those that are started / stopped). For example, changing
1410-486: The delays but it does not address the root cause. Various efforts have been made to replace the traditional init daemons to address this and other design problems, including: As of February 2019 , systemd has been adopted by most major Linux distributions. NetBSD NetBSD is a free and open-source Unix-like operating system based on the Berkeley Software Distribution (BSD). It
1457-527: The development of embedded systems , particularly since NetBSD 1.6, when the entire toolchain of compilers , assemblers , linkers , and other tools fully support cross-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 kitchen toaster . Commercial ports to embedded platforms were available from and supported by Wasabi Systems, including platforms such as
INIT - Misplaced Pages Continue
1504-484: The distributed, collaborative nature of its development. 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. This was derived from 386BSD 0.1 plus the version 0.2.2 unofficial patchkit, with several programs from the Net/2 release missing from 386BSD re-integrated, and various other improvements. The first multi-platform release, NetBSD 1.0,
1551-462: The kernel and userland is done through XML property lists with the help of NetBSD's proplib(3) . NetBSD's clean design, high performance, scalability, and support for many architectures has led to its use in embedded devices and servers, especially in networking applications. A commercial real-time operating system , QNX , uses a network stack based on NetBSD code, and provides various drivers ported from NetBSD. Dell Force10 uses NetBSD as
1598-402: 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 and x.y.z releases containing only security and critical fixes. NetBSD used to ship with twm as a preconfigured graphical interface ( window manager ); in 2020 (version 9.1) this was changed to the more modern and versatile CTWM . As
1645-541: The operating system (e.g., io and os ). NetBSD has featured a native hardware monitoring framework since 1999/2000. In 2003, it served as the inspiration behind the OpenBSD 's sysctl hw.sensors framework when some NetBSD drivers were being ported to OpenBSD. As of March 2019 , NetBSD had close to 85 device drivers exporting data through the API of the envsys framework. Since the 2007 revision, serialization of data between
1692-498: 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/dependencies will be installed automatically by the package system, without need for manual intervention. pkgsrc supports not only NetBSD, but also several other BSD variants like FreeBSD and Darwin / macOS , and other Unix-like operating systems such as Linux , Solaris , IRIX , and others, as well as Interix . pkgsrc
1739-584: The project's motto ( "Of course it runs NetBSD" ) suggests, NetBSD has been ported to a large number of 32- and 64-bit architectures . These range from VAX minicomputers to Pocket PC PDAs . NetBSD has also been ported to several video game consoles such as the Sega Dreamcast and the Nintendo Wii . As of 2019, NetBSD supports 59 hardware platforms (across 16 different instruction sets ). The kernel and userland for these platforms are all built from
1786-473: The traditional versions. These include launchd , the Service Management Facility , systemd , Runit and OpenRC . Research Unix init runs the initialization shell script located at /etc/rc , then launches getty on terminals under the control of /etc/ttys . There are no runlevels; the /etc/rc file determines what programs are run by init. The advantage of this system is that it
1833-535: The underlying operating system that powers FTOS (the Force10 Operating System), which is used in high scalability switch/routers. Force10 also made a donation to the NetBSD Foundation in 2007 to help further research and the open development community. Wasabi Systems provides a commercial Wasabi Certified BSD product based on NetBSD with proprietary enterprise features and extensions, which are focused on embedded, server and storage applications. NetBSD
1880-560: 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. At the source code level, NetBSD is very nearly entirely compliant with POSIX .1 (IEEE 1003.1-1990) standard and mostly compliant with POSIX.2 (IEEE 1003.2-1992). NetBSD provides system call -level binary compatibility on
1927-471: Was introduced in 2004 and is an abstraction of the older logo, which was designed by Shawn Mueller in 1994. Mueller's version was based on the famous World War II photograph Raising the Flag on Iwo Jima . The NetBSD Foundation is the legal entity that owns the intellectual property and trademarks associated with NetBSD, and on 22 January 2004, became a 501(c)3 tax-exempt non-profit organization. The members of
INIT - Misplaced Pages Continue
1974-708: 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. 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. In 1998, NetBSD 1.3 introduced the pkgsrc packages collection. Until 2004, NetBSD 1.x releases were made at roughly annual intervals, with minor "patch" releases in between. From release 2.0 onwards, NetBSD uses semantic versioning , and each major NetBSD release corresponds to an incremented major version number, i.e.
2021-617: Was originally derived from the 4.3BSD-Reno release of the Berkeley Software Distribution from the Computer Systems Research Group of the University of California, Berkeley , via its Net/2 source code release and the 386BSD project. 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. The four founders of
2068-482: Was previously adopted as the official package management system for DragonFly BSD . NetBSD has supported SMP since the NetBSD 2.0 release in 2004, which was initially implemented using the giant 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 the fine-grained locking approach. New synchronization primitives were implemented and scheduler activations
2115-453: Was replaced with a 1:1 threading model in February 2007. A scalable M2 thread scheduler was implemented, though the old 4.4BSD scheduler still remains the default but was modified to scale with SMP. Threaded software interrupts were implemented to improve synchronization. The virtual memory system, memory allocator and trap handling were made MP safe. The file system framework, including
2162-435: Was the first open-source BSD descendant officially released after 386BSD was forked . It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems . The NetBSD project focuses on code clarity, careful design, and portability across many computer architectures . Its source code is publicly available and permissively licensed . NetBSD
2209-752: Was used in NASA 's SAMS-II Project of measuring the microgravity environment on the International Space Station , and for investigations of TCP for use in satellite networks. In 2004, SUNET used NetBSD to set the Internet2 Land Speed Record. NetBSD was chosen "due to the scalability of the TCP code". NetBSD is also used in Apple's AirPort Extreme and Time Capsule products, instead of Apple's own OS X (of which most Unix-level userland code
#819180