NextBSD
Operating system

NextBSD is a fork of the FreeBSD operating system. 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.
01Features
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.
02Planned 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.
03History
NeXTBSD was announced by Jordan Hubbard and Kip Macy in August 2015 at the Bay Area FreeBSD Users Group (BAFUG).
04Relationship to FreeBSD
05Technology
Basic Architecture
- FreeBSD-current kernel + Mach IPC
- Common Object Runtime (create/delete/retain/release)
- Libdispatch / ASL / Libnotify
- launchd
- launchctl
- json config files
- legacy rc system
- cooperating daemons
- launchctl
06Mach 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:
- FreeBSD, an open source general purpose operating system.
- NeXT NEXTSTEP and OPENSTEP, based on the Mach kernel and 4BSD; the ancestor of Mac OS X (macOS)
- Apple Inc.'s Darwin, the core of macOS and iOS; built on the XNU kernel (part Mach, part FreeBSD, part Apple-derived code) and a userland much of which comes from FreeBSD
- NeXT NEXTSTEP and OPENSTEP, based on the Mach kernel and 4BSD; the ancestor of Mac OS X (macOS)
Sources and credits
This article is adapted from the Wikipedia article “NextBSD”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Images, from Wikimedia Commons:
- NextBSD logo.png by NextBSD, Public domain
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.