A MOSOCI Grail Millenium Project
White Paper
This document is maintained by the author, Lewis A. Sellers, somewhere in the mountains of East Tennessee, the United States of America. It is an informal technical document for a works in progress project called Grail Millenium, or fully, The Minimal Operating System of Object Class Interfaces Holy Grail for the Millenium. In other words, for a new, easy to use, long-lived operating system.
Copyright Notice
This document and all material therein, unless otherwise stated, is Copyright © 1995, 1996, Lewis A. Sellers. All Rights Reserved. Permission to distribute this document, in part or full, via electronic means (emailed, posted or archived) or printed copy are granted providing that no charges are involved, reasonable attempt is made to use the most current version, and all credits and copyright notices are retained.
Distribution Rights
All requests for other distribution rights, including incorporation in commercial products, such as books, magazine articles, CD-ROMs, and or computer programs should be made to the primary author Lewis Sellers.
Warranty and disclaimer
This document is provided as is without any express or implied warranties. This is a work-in-progress, and as such will contain outdated or as yet uncorrected or substanstiated assumptions. The author, maintainer and/or contributors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.
WWW Home Sites
You can currently find home sites to this project at If you can not reach them, or they seem to be down, do a key word search on AltaVista, Lycos, or the Web Crawler search engines.
Contact Email
The primary author of Grail Millenium should be reachable at lsellers@usit.net.
OCI/Spec | C O R E - U P i386
DESIGNER
Lewis A. Sellers (aka Minimalist) lsellers@usit.net
CRITIQUED BY
VALID PROCESSORS
- Intel 386, 486, Pentium, Pentium Pro
DRAFTS
- 2/9/96 revision 0.00
- 3/7/96 revision 0.01
(a0.02)
Table of Contents
Legal Notices Who gets sued and why History Changes and who made them Preface About the CORE i386 and the people that make it
Overview An Operating System Overview CORE __SYSTEM FUNCTIONS What are they? What can they do?
An Operating System Overview
BY | Lewis Sellers lsellers@usit.net
There are two ways that Grail will start-up. The first is through a boot-up directly into the operating system through the multi-boot program. Secondly, you can use a gateway program to switch from DOS, Windows or OS/2 into the Grail kernel.
0 Empty 8 AIX 75 PC/IX b7 BSDI fs 1 DOS 12-bit FAT 9 AIX bootable 80 Old MINIX b8 BSDI swap 2 XENIX root a OS/2 Boot Manag 81 Linux/MINIX c7 Syrinx 3 XENIX usr 40 Venix 80286 82 Linux swap db CP/M 4 DOS 16-bit 51 Novell? 83 Linux native e1 DOS access 5 Extended 52 Microport 93 Amoeba e3 DOS R/O 6 DOS 16-bit 63 GNU HURD 94 Amoeba BBT f2 DOS secondary 7 OS/2 HPFS 64 Novell a5 BSD/386 ff BBT 59 GRAIL FS (GMFS)When you boot up from a hard drive or ATAPI CD-ROM....
MULTIPLE OPERATING SYSTEMS AT BOOT-UP
There is being designed a type of program called a gateway for OS/2, WIN95 and DOS which allows you to switch in and out these systems as you desire. Grail is meant to be as co-operative to foreign OSes as possible.
Further, Grail comes with a multi-boot program that you can install to your primary hard drive. When you turn your machine on this program is automatically loaded by BIOS and prompts you to select the operating system you wish to use. This is how it might look to you when your machine boots up in text-mode:
Hard Disk Partition Table Entry Layout
primary filesystemByte Field Sample offset Length Value Meaning 00h Byte 80h Boot indicator 00h= Nonbootable 80h= Bootable 01h Byte 01h Starting head 02h Byte 01h bits 0-5 Starting sector bits 6-7 are bits 8&9 for cylinder 03h Byte 00h Starting cylinder (low 8) 04h Byte 04h System ID 00h= Unknown 01h= DOS, 12-bit FAT 04h= DOS, 16-bit FAT 05h= DOS, extended disk,16-bit FAT 05h Byte 04h Ending Head 06h Byte 51h(11) bits 0-5 Ending sector bits 6-7 are bits 8&9 for cylinder 07h Byte E9h(1E9) Ending cylinder (low 8) 08h Dword 00000011 First partition sector 0Ch Dword 0000A2A1 Sectors in partition
grail fs DOS 12 DOS 16 DOS 16 extended WIN95 OS/2 HPFS7C00h - 7DFFh 7DFE 7DFE - 7DFFh AA55h Bios Boot-SignatureTHE BOOT-UP PHASE
G R A I L m i l e n i u m Core-up U.S.English IBM PC Clones The following operating systems have been detected on your machine. Please select which OS you wish to start up in or wait until your default selection is automatically choosen. You may choose your autodefault and delay seconds by pressing 'D' right now. You may auto-detect new operating system by pressing 'A'. You may manually add an operating system by pressing 'M'. [10] 1. Grail Millenium - build 0.01 2. OS/2 - 3.00 3. Microsoft Windows - 95 4. Linux 5. Free-DOS b0001THE OS-UP PHASE
THE CORE-UP PHASE
However you do it, once the kernel is loaded into memory it does a few system tests and sets up some data areas while panning through a textmode screen such as:
MOSOCI GRAIL MILLENIUM 0001 Minimal Operating System of Object Class Interfaces Minimal Hardware for CORE: Yes ------ CPU: Intel 486/DX 100mhz |xxxx| MEMORY: 8 megabytes (60ns) |xxxx| L1 Cache 8kb code/8kb data |xxxx| L2 Cache 256kb |xxxx| CMOS: 128 bytes |xxxx| BUS: PCI |xxxx| |xxxx| Filesystem Object Instances |xxxx| FDC Floppy |xxxx| IDE Disk Drive |xxxx| EIDE ATAPI Disk/CD-ROM |xxxx| SCSI |xxxx| Novell TCP/IP |xxxx| |xxxx| Filespace Devices Present |xxxx| 170mb IDE Conner HD |xxxx| 540mb IDE Maxtor HD |xxxx| 1.2gb SCSI Micropolis HD |xxxx| NuTek 1720B ATAPI CD-ROM |xxxx| Rockwell Zoom 14.4 Modem |xxxx| Novell TCP/IP Card |xxxx| |xxxx| SUPERVISOR Objects |xxxx| CORE TEAM in-house Debugger 0113 |xxxx| CORE TEAM Performance Monitor 0150 |xxxx| |xxxx| Users (3) |xxxx| "Supervisor" |xxxx| METAPHOR: The Natural Landscape |xxxx| VIRTUAL MEMORY: 16 megabytes |xxxx| AUTHORIZATIONS: |xxxx| Passcode |xxxx| Voice Recognition |xxxx| "Lewis Sellers" |xxxx| METAPHOR: The Natural Landscape |xxxx| VIRTUAL MEMORY: 10 megabytes |xxxx| AUTHORIZATIONS |xxxx| Passcode |xxxx| "Michelle Sellers" |xxxx| METAPHOR: The Natural Landscape |xxxx| VIRTUAL MEMORY: 8 megabytes |xxxx| AUTHORIZATIONS |xxxx| Passcode |XXXX| | | | | ------The colored bar to the right fills up as all the tests are being made. The textmode screen is 80x200 which does a smooth scroll through text memory in 80x50 mode. It always used a Green-phosphor/dim-gray color scheme.
After the CPU tests, it does a few others. Then it does the a prelimiary device scan building a list. Then it computes a list of partitions, etc. Now it locates the primary filespace and loads in all critical device objects from the root space of that device. Then it tries again with another device scan an picks up all those that it missed before hand.
Now that Grail has a map of where all the storage medium devices are it looks up the default metaphor in the PNF and loads it!
These few functions that follow are used mostly to determine how the core is handling OCI implimentations. Also gives information about the built-in low-level critical device objects used by MSI. See the FS the OCI for info on these.