|
context switch: Porting Unix to the 386: Designing the Software SpecificationThis, 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. 386BSD ignored as much as possible the segmentation hardware of the x86, preferring to use a "flat" address space. Per-Process Data StructuresA UNIX legacy, the "u." or per-process data structure, which held the kernel-related data of a process, was present on 386BSD prior to February 1991. Process Context DescriptionHardware context switch state description and the part where 386BSD context switching intrudes into the machine independent code semantics. Microprocessor and System Specification IssuesSupport the processor, and support the ISA bus peripherals are the objectives for the first parts of 386BSD. Porting Unix to the 386: The Standalone SystemThis 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. Prevaricating with the Standalone SystemWe didn't just load and debug the kernel; we chose to prove portions first. That way we learned the dependances first, and could try alternatives seperately. Later we used the same means to revise them later. Initial Task State LoadHere's an oddity we had in the initial port. We first avoided the 386 TSS context switch because it was slow. With the 486 and later, it wasn't so we used it. But we needed at lead one to transit rings. |