NextBSD
DeveloperJordan Hubbard, Kip Macy
Written inC
OS familyUnix
Working stateAbandoned as of 2019, no visible changes since 2016.
Source modelOpen source
Initial release2015 (2015)
Latest releaseBeta / 2015 (2015)
Repositoryhttps://github.com/NextBSD/NextBSD
Available inEnglish
PlatformsIntel 80386
Kernel typeMonolithic
UserlandNextBSD
Default
user interface
Command-line interface
LicenseBSD licenses
Official websiteweb.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.

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

  • 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

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

References

Bibliography

  • 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)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.