/joh'liks/ n.,adj. 386BSD

Porting Unix to the 386: A Practical Approach



William & Lynne Jolitz


Started open source UNIX.

Appeared in part as a 17 article magazine series in 1991-1992.

Documented the "how, what, why, who, when" of porting BSD to the 386.

Done while BSD was becoming "open source".





Porting Unix to the 386: A Practical Approach - idt

idt:

Porting Unix to the 386: Three Initial PC Utilities

The second article in the "PORTING UNIX TO THE 386" series discussed the utilities we had to build to test the port on an actual 80386 PC.
By far, the most popular article.

Entering Protected Mode

After loading the kernel program, we enter protected mode to start up the 386BSD kernel, itself a protected mode program like its own applications.

Porting Unix to the 386: Designing the Software Specification

This, the first article, is the first published mention of 386BSD. By this time, the project had been operational for 18 months, and William Jolitz was at Berkeley working on the Net/2 release.
In this installment, we discussed the beginning of our project and the initial framework that guided our efforts, in particular, the development of the 386BSD specification.

Porting Unix to the 386: The Standalone System

This article, last of the original three done altogether in 1990, on getting the critical pieces functioning independantly that we needed to do the port. Once these we obtained, the kernel was inevitable.

Processor Support -- i386.c

We initialized the processor with initial descriptor and page tables - one needs to run with the tables before activating memory/interrupt kernel functions.

Trap Handling

We coded stub routines to connect trap handlers to descriptor table entry points, wiring the kernel to receive processor traps.

Interrupt Handling

We coded specialized trap handlers for interrupt traps, as these were initimate with the systems interrupt control hardware, not part of the processor.

System Call Handling

System calls were handled by a call gate, a 386 peculiar mechanism which allowed for ring crossing into supervisor mode using a special segment descriptor call. We simulated user mode to test prior to running in the kernel.

GCC Support Calls to Replace GNULIB

We used GCC but not GNULIB, so we had to roll our own support code as needed.

Berkeley Copyright License

386BSD is a Berkeley system, its authors were from Berkeley, and it is under a Berkeley license.

A Brief Review of the Root

A breakdown of the various uses of the root filesystems, and the considerations for each as we prove out the operation of the system step by step.

Porting Unix to the 386: Research and the Commercial Sector

Understanding the boundary between research and development with BSD, and where a balance between commercial efforts can be struck.





Copyright 2006 TeleMuse Partners, William Jolitz and Lynne Jolitz