NextBSD

Last updated
NextBSD
NextBSD logo.png
Developer Jordan Hubbard, Kip Macy
Written in C
OS family Unix
Working stateAbandoned as of 2019, no visible changes since 2016.
Source modelOpen source
Initial release2015;6 years ago (2015)
Latest release Beta / 2015;6 years ago (2015)
Repository https://github.com/NextBSD/NextBSD
Available in English
Platforms Intel 80386
Kernel type Monolithic
Userland NextBSD
Default
user interface
Command-line interface
License BSD licenses
Official website web.archive.org/web/20161215232355/http://nextbsd.org/

NextBSD was an operating system initially based on the trunk version of FreeBSD as of August 2015. It is a fork of FreeBSD which implements new features developed on branches but not yet implemented in FreeBSD. As of 2019 the website seems defunct, and the later commits on GitHub date from October 2019. The Wayback Machine captures of the website after 2016-12-15 are domain squatter pages and as of 2021-03-17 the site is redirecting to a fake "Apple Support" page.

Contents

Features

The basic features of launchd , notifyd, asld, and libdispatch work.

These can be installed by cloning the NextBSD repository from GitHub, building GENERIC or MACHTEST kernels, installing a new world on an existing 10.x or CURRENT system, and then following the instructions in the README.

Launchd will start the initial jobs that are part of the repo now.

Planned Features

The project refers to an installer as the first planned milestone on their website.

Future plans include convert to rc and tying notifyd in to potential consumers.

History

NeXTBSD was announced by Jordan Hubbard and Kip Macy in August 2015 at the Bay Area FreeBSD Users Group (BAFUG).

Relationship to FreeBSD

NeXTBSD is based on the FreeBSD-CURRENT kernel while adding in Mach IPC, Libdispatch, notifyd, asld, launchd, and other components derived from Darwin, Apple's open-source code for macOS.

Technology

Basic Architecture

Mach Kernel Abstractions

Tasks

The units of resource ownership; each task consists of a virtual address space, a port right namespace, and one or more threads. (Implemented as an extension to a process.)

Threads

The units of CPU execution within a task. Simple extension to kthreads.

Address space

In conjunction with memory managers, Mach implements the notion of a sparse virtual address space and shared memory. (No modifications)

Memory objects

The internal units of memory management. Memory objects include named entries and regions; they are representations of potentially persistent data that may be mapped into address spaces. (Unsupported)

Ports

Secure, simplex communication channels, accessible only via send and receive capabilities (known as port rights).

IPC

Message queues, remote procedure calls, notifications, semaphores, and lock sets. (Mach semaphores and lock sets are not supported).

Time

Clocks, timers, and waiting - (rudimentary shims).

Standards adherence

Current BSD operating system variants support many of the common IEEE, ANSI, ISO, and POSIX standards, while retaining most of the traditional BSD behavior. Like AT&T Unix, the BSD kernel is monolithic, meaning that device drivers in the kernel run in privileged mode, as part of the core of the operating system.

A selection of significant Unix versions and Unix-like operating systems that descend from BSD includes:

See also

Related Research Articles

GNU Hurd Operating system kernel designed as a replacement for Unix

GNU Hurd is the multiserver microkernel written as part of GNU. It has been under development since 1990 by the GNU Project of the Free Software Foundation, designed as a replacement for the Unix kernel, and released as free software under the GNU General Public License. When the Linux kernel proved to be a viable solution, development of GNU Hurd slowed, at times having slipped intermittently between stasis and renewed activity and interest.

Mach is a kernel developed at Carnegie Mellon University by Richard Rashid and Avie Tevanian and derived originally from 4.3BSD to support operating system research, primarily distributed and parallel computing. Mach is often mentioned as one of the earliest examples of a microkernel. However, not all versions of Mach are microkernels. Mach's derivatives are the basis of the operating system kernel in GNU Hurd and of Apple's XNU kernel used in macOS, iOS, iPadOS, tvOS, and watchOS.

NeXTSTEP Operating system from NeXT Computer

NeXTSTEP is a discontinued object-oriented, multitasking operating system based on the Mach kernel and the UNIX-derived BSD. It was developed by NeXT Computer in the late 1980s and early 1990s and was initially used for its range of proprietary workstation computers such as the NeXTcube. It was later ported to several other computer architectures.

Darwin is an open-source Unix-like operating system first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, BSD, Mach, and other free software projects code, as well as code developed by Apple.

The Unix file system (UFS) is a file system supported by many Unix and Unix-like operating systems. It is a distant descendant of the original filesystem used by Version 7 Unix.

OSF/1 is a variant of the Unix operating system developed by the Open Software Foundation during the late 1980s and early 1990s. OSF/1 is one of the first operating systems to have used the Mach kernel developed at Carnegie Mellon University, and is probably best known as the native Unix operating system for DEC Alpha architecture systems.

DragonFly BSD Operating system

DragonFly BSD is a free and open-source Unix-like operating system forked from FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and FreeBSD developer between 1994 and 2003, began working on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on 16 July 2003.

XNU

XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which is the basis for the Apple TV Software, iOS, iPadOS, watchOS, and tvOS OSes. XNU is an abbreviation of X is Not Unix.

Keith Bostic American software engineer

Keith Bostic is an American software engineer and one of the key people in the history of Berkeley Software Distribution UNIX and open-source software.

UNIX/32V was an early version of the Unix operating system from Bell Laboratories, released in June 1979. 32V was a direct port of the Seventh Edition Unix to the DEC VAX architecture.

launchd is an init and operating system service management daemon created by Apple Inc. as part of macOS to replace its BSD-style init and SystemStarter. There have been efforts to port launchd to FreeBSD and derived systems.

Robert Watson (computer scientist)

Robert Nicholas Maxwell Watson is a FreeBSD developer, and founder of the TrustedBSD Project. He is currently employed as a University Lecturer in Systems, Security, and Architecture in the Security Research Group at the University of Cambridge Computer Laboratory.

A hybrid kernel is an operating system kernel architecture that attempts to combine aspects and benefits of microkernel and monolithic kernel architectures used in computer operating systems.

FreeBSD Free Unix-like operating system

FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular open-source BSD operating system, accounting for more than three-quarters of all installed simply, permissively licensed BSD systems.

Marshall Kirk McKusick American computer scientist

Marshall Kirk McKusick is a computer scientist, known for his extensive work on BSD UNIX, from the 1980s to FreeBSD in the present day. He was president of the USENIX Association from 1990 to 1992 and again from 2002 to 2004, and still serves on the board. He is on the editorial board of ACM Queue Magazine. He is known to friends and colleagues as "Kirk".

The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley. The term "BSD" commonly refers to its descendants, including FreeBSD, OpenBSD, NetBSD, and DragonFly BSD.

ptrace is a system call found in Unix and several Unix-like operating systems. By using ptrace one process can control another, enabling the controller to inspect and manipulate the internal state of its target. ptrace is used by debuggers and other code-analysis tools, mostly as aids to software development.

Kqueue is a scalable event notification interface introduced in FreeBSD 4.1 on July 2000, also supported in NetBSD, OpenBSD, DragonFly BSD, and macOS. Kqueue was originally authored in 2000 by Jonathan Lemon, then involved with the FreeBSD Core Team. Kqueue makes it possible for software like nginx to solve the c10k problem.

Michael J. (Mike) Karels is an American Software Engineer and one of the key people in history of BSD UNIX.

The History of the Berkeley Software Distribution begins in the 1970s.

References

Bibliography