|
data structure: The Second PC Utility: cpfs.exeFirst thing the kernel does is open its root filesystem - so we need a way to write a filesystem onto the hard disk, adjacent to the DOS filesystem, which is what this utility does. 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. Reconciling segmentation to UNIX has never been easy, and with 386BSD its an even greater chore. The issues of supporting X86 segments in a Berkeley UNIX world. 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. Structure of Per-Process Data (u.)The "u." in more detail, handling kernel stack overflows in 386BSD. Process Context DescriptionHardware context switch state description and the part where 386BSD context switching intrudes into the machine independent code semantics. ISA Device Auto ConfigurationTo find controllers and devices, we use tables to instruct device drivers where to probe and attach found peripherals and connect them with low-level drivers and high-level kernel subsystems. Bootstrap OperationHow to bootstrap the system from hardware, loading the kernel program, itself a protected mode executable from secondary / nonvolatile / disk storage. Processor Support -- i386.cWe initialized the processor with initial descriptor and page tables - one needs to run with the tables before activating memory/interrupt kernel functions. What's in the Tool Chest?The tool chest for 386BSD cross support included compiler, assembler, loader, libraries and include files. It did not include an emulation environment. Filesystem CreationWhere do you get the root filesystem, when you need it to make itself? Answer - you make it on another system, in this case one quite different, and then you break the recursion. Filesystem DebuggingNothing ever goes right the first time, so a incremental process of bringing up the filesystem, from standalone utilities to system initialization allows us to debug flaws in filesystem creation, often artifacts of its non-native creation. What's in a Filesystem?What is it that makes up a filesystem? This depends very much on what kind of filesystem we are talking about. |