NextBSD
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Developer | Jordan Hubbard, Kip Macy |
---|---|
Written in | C |
OS family | Unix |
Working state | Abandoned as of 2019, no visible changes since 2016. |
Source model | Open source |
Initial release | 2015 |
Latest release | Beta / 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 |
NextBSD was an operating system initially based on the trunk version of FreeBSD as of August 2015. It was a fork of FreeBSD which implemented new features developed on branches, but not yet implemented in FreeBSD. As of 2019, the website is defunct, with the last commits on GitHub dating to October 2019. The Wayback Machine captures of the website after December 15, 2017 are domain squatter pages, and as of March 17, 2021, the site is redirects to a fake "Apple Support" page.
Features
[edit]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
[edit]The project refers to an installer as the first planned milestone on their website.
Future plans included convert to rc and tying notifyd in to potential consumers.
History
[edit]NeXTBSD was announced by Jordan Hubbard and Kip Macy in August 2015 at the Bay Area FreeBSD Users Group (BAFUG).
Relationship to FreeBSD
[edit]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
[edit]Basic Architecture
[edit]- 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
Mach Kernel Abstractions
[edit]This section provides insufficient context for those unfamiliar with the subject.(December 2015) |
Tasks
[edit]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
[edit]The units of CPU execution within a task. Simple extension to kthreads.
Address space
[edit]In conjunction with memory managers, Mach implements the notion of a sparse virtual address space and shared memory. (No modifications)
Memory objects
[edit]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
[edit]Secure, simplex communication channels, accessible only via send and receive capabilities (known as port rights).
IPC
[edit]Message queues, remote procedure calls, notifications, semaphores, and lock sets. (Mach semaphores and lock sets are not supported).
Time
[edit]Clocks, timers, and waiting - (rudimentary shims).
Standards adherence
[edit]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[citation needed]
- NeXT NEXTSTEP and OPENSTEP, based on the Mach kernel and 4BSD; the ancestor of Mac OS X (macOS)
See also
[edit]- FreeBSD
- macOS
- Darwin
- BSD Daemon
- BSD licenses
- Comparison of BSD operating systems
- List of BSD operating systems
References
[edit]- NextBSD website - Archive.Org capture of 2016-12-15
- PDF Slide Presentation of the NextBSD basic architecture
- Article about NextBSD y by Michael Larabel in Phoronix magazine
- NextBSD GitHub source repository
Bibliography
[edit]- Marshall K. McKusick, Keith Bostic, Michael J. Karels, John S. Quartermain, The Design and Implementation of the 4.4BSD Operating System (Addison Wesley, 1996; ISBN 978-0-201-54979-9)
- Marshall K. McKusick, George V. Neville-Neil, The Design and Implementation of the FreeBSD Operating System (Addison Wesley, August 2, 2004; ISBN 978-0-201-70245-3)
- Samuel J. Leffler, Marshall K. McKusick, Michael J. Karels, John S. Quarterman, The Design and Implementation of the 4.3BSD UNIX Operating System (Addison Wesley, November 1989; ISBN 978-0-201-06196-3)
- McKusick, Marshall Kirk (1999). "Twenty Years of Berkeley Unix – From AT&T-Owned to Freely Redistributable". In DiBona, Chris; Ockman, Sam; Stone, Mark (eds.). Open Sources: Voices from the Revolution. O'Reilly. ISBN 978-1-56592-582-3.
- Peter H. Salus, The Daemon, the GNU & The Penguin (Reed Media Services, September 1, 2008; ISBN 978-0-9790342-3-7)
- Peter H. Salus, A Quarter Century of UNIX (Addison Wesley, June 1, 1994; ISBN 978-0-201-54777-1)
- Peter H. Salus, Casting the Net (Addison-Wesley, March 1995; ISBN 978-0-201-87674-1)
External links
[edit]- FreeBSD GitHub source repository
- A timeline of BSD and Research UNIX
- UNIX History – History of UNIX and BSD using diagrams
- The Design and Implementation of the 4.4BSD Operating System
- The Unix Tree: Source code and manuals for old versions of Unix
- EuroBSDCon, an annual event in Europe in September, October or November, founded in 2001
- BSDCan, a conference in Ottawa, Ontario, Canada, held annually in May since 2004, in June since 2015
- AsiaBSDCon, a conference in Tokyo, held annually in March of each year, since 2007
- mdoc.su — short manual page URLs for FreeBSD, OpenBSD, NetBSD and DragonFly BSD, a web-service written in nginx
- BXR.SU — Super User's BSD Cross Reference, a userland and kernel source code search engine based on OpenGrok and nginx