Recent from talks
Nothing was collected or created yet.
386BSD
View on WikipediaThis article includes a list of general references, but it lacks sufficient corresponding inline citations. (June 2021) |
| 386BSD | |
|---|---|
386BSD Release 0.1 installer ("Tiny 386BSD") | |
| Developer | William Jolitz Lynne Jolitz |
| OS family | Unix-like |
| Working state | Historical |
| Source model | Open source |
| Initial release | 0.0[1] March 12, 1992 |
| Latest release | 2.0 / August 2016 |
| Repository | |
| Supported platforms | x86 |
| License | BSD license |
| Succeeded by | FreeBSD, NetBSD |
| Official website | 386bsd |
386BSD (also known as "Jolix"[2]) is a Unix-like operating system[3] that was developed by couple Lynne and William "Bill" Jolitz.[4] Released as free and open source in 1992, it was the first fully operational Unix built to run on IBM PC-compatible systems based on the Intel 80386 ("i386") microprocessor, and the first Unix-like system on affordable home-class hardware to be freely distributed.[5] Its innovations included role-based security, ring buffers, self-ordered configuration and modular kernel design.
Development began in 1989 while the Jolitzes were at the University of California, Berkeley's Computer Systems Research Group (CSRG), intended to be a port of BSD to 386-based personal computers. They then contributed the project to the university with some of the work ending up in BSD's Net/2, distributed in 1991.[6] However, when the CSRG scrapped the project and ruled that his work was "university proprietary", Jolitz rewrote the code from scratch,[7] based on the incomplete free code from Net/2.[6] Jolitz also claims that 386BSD was the base of Berkeley Software Design (BSDi)'s commercial BSD/386.[7]
386BSD was short-lived as disagreements between Jolitz and a group of users regarding its future direction led to the users forking it into the FreeBSD project as well as the separate NetBSD, both of which continue to this day; 386BSD's version 1.0 was released in 1994, after which work on it had ceased.[8] Eventually, Linux would take off as the most popular complete free Unix clone for PCs,[9] partly due to the slow progress of 386BSD and the then-ongoing lawsuit surrounding BSD.[10]
History and releases
[edit]386BSD was written mainly by Berkeley alumni Lynne Jolitz and William Jolitz. William had considerable experience with prior BSD releases while at the University of California, Berkeley (2.8 and 2.9BSD) and both contributed code developed at Symmetric Computer Systems during the 1980s, to Berkeley. William worked at Berkeley on porting 4.3BSD-Reno and later 4.3BSD Net/2 to the Intel 80386 for the university. 4.3BSD Net/2 was an incomplete non-operational release, with portions withheld by the University of California as encumbered (i.e. subject to an AT&T UNIX source code license). 386BSD does not contain any original Unix code.[11]
The port began in 1989 and the first, incomplete traces of the port can be found in 4.3BSD Net/2 of 1991. The port was made possible as Keith Bostic, partly influenced by Richard Stallman,[12] had started to remove proprietary AT&T out of BSD in 1988.[13] The port was first released to the public in March 1992 (version 0.0[1]) - based on portions of the 4.3BSD Net/2 release coupled with additional code (see "Missing Pieces I and II", Dr. Dobb's Journal, May–June 1992) - and in a much more usable version on July 14, 1992 (version 0.1[14]).
386BSD proved popular, with it receiving 250,000 downloads from the FTP server it was hosted on.[15] It was helped partly by the porting process with code being extensively documented in a 17-part series written by Lynne and William in Dr. Dobb's Journal beginning in January 1991.[16]
In late 1994, a finished version 386BSD Release 1.0 was distributed by Dr. Dobb's Journal on CD-ROM only due to the immense size (600 MB) of the release (the "386BSD Reference CD-ROM") and was a best-selling CDROM for three years (1994–1997). 386BSD Release 1.0 contained a completely new kernel design and implementation, and began the process to incorporate recommendations made by earlier Berkeley designers that had never been attempted in BSD.[17][18]
On August 5, 2016, an update was pushed to the 386BSD GitHub repository by developer Ben Jolitz, named version 2.0.[19][20] According to the official website, Release 2.0 "built upon the modular framework to create self-healing components."[21] However, as of March 16, 2017[update], almost all of the documentation remains the same as version 1.0, and a changelog was not available.
FreeBSD and NetBSD
[edit]After the release of 386BSD 0.1,[14] a group of users began collecting bug fixes and enhancements, releasing them as an unofficial patchkit. Due to differences of opinion between the Jolitzes and the patchkit maintainers over the future direction and release schedule of 386BSD,[22] the maintainers of the patchkit founded the FreeBSD project in 1993 to continue their work.[23] Around the same time, the NetBSD project was founded by a different group of 386BSD users, with the aim of unifying 386BSD with other strands of BSD development into one multi-platform system. Both projects continue to this day.
The FreeBSD website at the time claimed that 386BSD suffered from "neglect". However, the 386BSD site claimed that this is not true:[11]
This whole "FreeBSD roots" is completely fictitious, and invented to cover the wholesale theft of the 386BSD user base.
Unix and BSD lawsuit
[edit]Due to a lawsuit (UNIX System Laboratories, Inc. v. Berkeley Software Design, Inc.), some potentially so-called encumbered source was agreed to have been distributed within the Berkeley Software Distribution Net/2 from the University of California, and a subsequent release (1993, 4.4BSD-Lite) was made by the university to correct this issue. However, 386BSD, Dr. Dobb's Journal, and the Jolitzes were never parties to these or subsequent lawsuits or settlements arising from this dispute with the University of California, and continued to publish and work on the 386BSD code base before, during, and after these lawsuits without limitation. There has never been any legal filings or claims from the university, USL, or other responsible parties with respect to 386BSD. Finally, no code developed for 386BSD done by William Jolitz and Lynne Jolitz was at issue in any of these lawsuits.
Copyright and use of the code
[edit]All rights with respect to 386BSD and JOLIX are now held exclusively by William and Lynne Jolitz.[dubious – discuss] 386BSD public releases ended in 1997 since code is now available from the many 386BSD-derived operating systems today, along with several derivatives thereof (such as FreeBSD, NetBSD and OpenBSD). Portions of 386BSD may be found in other open systems such as OpenSolaris.
Relationship with BSD/386
[edit]386BSD is often confused with BSD/386 which was a different project developed by BSDi, a Berkeley spinout, starting in 1991. BSD/386 used the same 386BSD code contributed to the University of California on 4.3BSD NET/2. Although Jolitz worked briefly for UUNET (which later spun out BSDi) in 1991, the work he did for them diverged from that contributed to the University of California and did not appear in 386BSD. Instead, William Jolitz gave regular code updates to Donn Seeley of BSDi for packaging and testing, and returned all materials when William left the company following fundamental disagreements on company direction and goals.
Further reading
[edit]- Jolitz, William F. and Jolitz, Lynne Greer: Porting UNIX to the 386: A Practical Approach, 17-part series in Dr. Dobb's Journal, January 1991 – July 1992:[24][25]
- Jan/1991: DDJ "Designing a Software Specification"
- Feb/1991: DDJ "Three Initial PC Utilities"
- Mar/1991: DDJ "The Standalone System"
- Apr/1991: DDJ "Language Tools Cross-Support"
- May/1991: DDJ "The Initial Root Filesystem"
- Jun/1991: DDJ "Research and the Commercial Sector: Where Does BSD Fit In?"
- Jul/1991: DDJ "A Stripped-Down Kernel"
- Aug/1991: DDJ "The Basic Kernel"
- Sep/1991: DDJ "Multiprogramming and Multiprocessing, Part I"
- Oct/1991: DDJ "Multiprogramming and Multiprocessing, Part II"
- Nov/1991: DDJ "Device Autoconfiguration"
- Feb/1992: DDJ "UNIX Device Drivers, Part I"
- Mar/1992: DDJ "UNIX Device Drivers, Part II"
- Apr/1992: DDJ "UNIX Device Drivers, Part III"
- May/1992: DDJ "Missing Pieces, Part I"
- Jun/1992: DDJ "Missing Pieces, Part II"
- Jul/1992: DDJ "The Final Step: Running Light with 386BSD"
- Jolitz, William F. and Jolitz, Lynne Greer: Operating System Source Code Secrets Vol 1 The Basic Kernel, 1996, ISBN 1-57398-026-9
- Jolitz, William F. and Jolitz, Lynne Greer: Operating System Source Code Secrets Vol 2 Virtual Memory, 2000, ISBN 1-57398-027-7
References
[edit]- ^ a b "386BSD 0.0 Release Notes".
- ^ "386BSD". Free On-line Dictionary of Computing. 2006-06-08. Retrieved 2009-11-17.
- ^ "Index of /pub/386BSD/386bsd-0.0/floppies". 188.44.42.58. Retrieved 2024-12-06.
- ^ Chalmers, Rachel (2000-05-17). "The unknown hackers". Salon. Retrieved 2023-11-24.
- ^ Bentson, Randolph. "The Humble Beginnings of Linux". dl.acm.org. Retrieved 2023-11-24.
- ^ a b "Jolitz: The Road Not Taken". www.tech-insider.org. Retrieved 2024-12-06.
- ^ a b "Unix Labs' Berkeley Software Design Suit Finds Berkeley University in Disarray". www.tech-insider.org. Retrieved 2024-12-05.
- ^ "History of Unix, BSD, GNU, and Linux - CrystalLabs — Davor Ocelic's Blog". crystallabs.io. Retrieved 2024-11-22.
- ^ Lunduke, Bryan (2023-04-16). "The very first interview about Linux with Linus Torvalds - Oct 28, 1992". The Lunduke Journal of Technology. Retrieved 2024-11-22.
- ^ Leonard, Andrew (2000-05-16). "BSD Unix: Power to the people, from the code". Salon. Retrieved 2024-12-05.
- ^ a b "History of Linux". pld.cs.luc.edu. Retrieved 2024-11-22.
- ^ Sam Williams, "Free as in Freedom", March 2002, O'Reilly chapter 9 Archived 2022-06-13 at the Wayback Machine
- ^ Eric S. Raymond. 2003. Origins and History of Unix, 1969-1995 Archived 2015-06-10 at the Wayback Machine The Art of Unix Programming. Chapter 2. History.
- ^ a b "386BSD 0.1 Release Notes".
- ^ "History of FreeBSD – Part 2: BSDi and USL Lawsuits". Klara Inc. 2020-10-20. Retrieved 2023-11-24.
- ^ "386BSD". www.386bsd.org. Retrieved 2023-11-24.
- ^ "The Fun with 386BSD". 2018-05-23. Archived from the original on 23 May 2018. Retrieved 2025-04-13.
- ^ Jolitz, Lynne Greer; Jolitz, William Frederick (1996). Source code secrets: the basic kernel. Operating system source code secrets. San Jose, Calif: Peer-to-Peer Communications. p. 487. ISBN 978-1-57398-026-5.
- ^ "After 22 Years, 386BSD Gets An Update - Slashdot". bsd.slashdot.org. 9 October 2016. Retrieved 2017-03-14.
- ^ "386bsd/386bsd". GitHub. Retrieved 2017-03-14.
- ^ "386BSD Official website". Retrieved 2021-03-13.
- ^ "386BSD FAQ". William Jolitz, Lynne Jolitz. 2014-01-13. Archived from the original on 2014-01-13. Retrieved 13 January 2014.
- ^ About the FreeBSD Project
- ^ "DDJ articles for 386BSD".
- ^ "Porting Unix to the 386".
External links
[edit]This article's use of external links may not follow Wikipedia's policies or guidelines. (October 2025) |
- Official website
- William Jolitz's 386bsd Notebook
- Jolix.com
- Porting UNIX to the 386: A Practical Approach
- Memories of 386BSD releases by Lynne Jolitz
- The unknown hackers - Salon.com
- 386BSD Design Notes Professional Video Series
- Frequently asked questions of 386BSD - active Q/A by authors
- "Remarks and papers on USL v UC Berkeley by Dennis M. Ritchie". Archived from the original on February 5, 2015. Retrieved September 12, 2005.
- Raising Top Quality Rabble; article mentioning 386BSD
- Archived comment on "Raising Top Quality Rabble" with remarks on the history of 386BSD by Lynne Jolitz
- Remarks on the history of 386BSD by Greg Lehey
- More information on the various releases of 386BSD
- Browsable 386BSD kernel sources Archived 2022-06-06 at the Wayback Machine
386BSD
View on GrokipediaDevelopment
Origins and Creators
386BSD's development was initiated in the summer of 1989 by William "Bill" Jolitz and his wife Lynne Greer Jolitz, both alumni of the University of California, Berkeley, in response to the growing demand for a Unix-like operating system on affordable Intel 80386-based personal computers.[6] At the time, Unix systems were largely confined to expensive workstations or mainframes, limiting access for individual developers and small organizations. The Jolitzes aimed to port the Berkeley Software Distribution (BSD) to the x86 architecture, leveraging their expertise to create a freely distributable system that could run on standard PC hardware.[7] Bill Jolitz had previously contributed significantly to BSD development, serving as the principal architect for versions 2.8 and 2.9 at Berkeley, and leading the GENIX project at National Semiconductor, which produced the first virtual-memory Unix system on a microprocessor.[7] In early 1991, he joined Berkeley Software Design, Inc. (BSDI) to work on a commercial x86 port of BSD, but departed later that year—after 11 months of employment ending November 30, 1991—to independently pursue an open-source release free from proprietary constraints.[8] Lynne Jolitz, who had held marketing roles including vice president at Symmetric Computer Systems and founded the market research firm TeleMuse, collaborated closely with Bill, providing insights into user needs and co-authoring the development efforts.[7] The project's motivations centered on democratizing access to Unix-like systems, extending beyond proprietary vendors and academic institutions to empower a broader community of programmers and researchers on low-cost hardware.[6] This vision was inspired by the 1991 BSD Net/2 release, which provided a codebase stripped of AT&T proprietary code, enabling open distribution.[6] Early development spanned 1989–1990, with initial prototypes emerging by 1991, documented through a series of articles in Dr. Dobb's Journal that outlined the porting process.[6] Bill Jolitz passed away on March 2, 2022, at age 65 from sarcoma; his death was announced on April 8, 2022, via the Unix Heritage Society mailing list.[9]Technical Architecture
386BSD represents a port of the Berkeley Software Distribution Networking Release 2 (Net/2), originally developed for the VAX architecture, to the Intel 80386 (i386) microprocessor, enabling Unix-like functionality on PC-compatible systems.[10] This adaptation leveraged the 80386's protected mode to support 32-bit operations, providing a flat memory model that mapped the entire 4 GB address space linearly without heavy reliance on segmentation for compatibility with existing tools and object files.[11] Paging was implemented using 4 KB pages in a two-level scheme, with page directory entries (PDEs) and page table entries (PTEs) to manage up to 4 MB per page table, facilitating efficient virtual-to-physical address translation via the processor's 32-entry translation lookaside buffer (TLB).[12] Segmentation features were minimized, using a single code and data segment aliased across registers to simulate a VAX-like environment while exploiting the 80386's capabilities for improved performance over 16-bit systems.[10] The kernel emphasized modularity to separate microprocessor-specific code from system hardware abstractions, allowing potential support for diverse buses like ISA, EISA, or MCA.[11] Central to process management is theproc structure, which encapsulates per-process data in a compact ~1 KB user area (u.), augmented by a separate kernel stack page and a process control block (PCB) that includes the task state segment (TSS) for hardware-assisted context switching.[12] Virtual memory handling integrates the Mach subsystem with a 386-specific physical map (pmap) module, supporting demand-paged allocation across a 4 GB per-process space (with kernel reserved at 0xFE000000, up to 32 MB), copy-on-write, and shared kernel page tables to optimize memory usage.[10] Device drivers were tailored for PC hardware, particularly the ISA bus, using auto-configuration probes at boot via isa_device structures to detect and initialize peripherals such as floppy drives, hard disks (ESDI/IDE), and Ethernet controllers like the Novell NE2000.[11]
Key innovations include efficient 32-bit addressing in protected mode, which enabled seamless handling of large address spaces and faster operations compared to segmented 16-bit modes, alongside a fully integrated TCP/IP networking stack from Net/2 supporting protocols like SLIP and socket interfaces for Internet connectivity.[12] The userland comprises a complete suite of BSD utilities, including the C shell, compilers, and the Fast File System (FFS) adapted for x86 without built-in MS-DOS file system compatibility in initial implementations, ensuring a pure Unix environment on minimal hardware like a single-floppy setup.[10] While designed with theoretical portability in mind through architecture-independent components like the Mach VM layer, 386BSD remained primarily focused on the i386 platform, targeting standard PC configurations such as those with 1 MB RAM and basic peripherals.[11]
