A MOSOCI Grail Millenium Project

White Paper

History | Preface | TOC

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.

Preface | TOC


OCI/Spec | C O R E - U P i386

DESIGNER

Lewis A. Sellers (aka Minimalist) lsellers@usit.net

CRITIQUED BY

VALID PROCESSORS

DRAFTS

TOC


(a0.02)


Table of Contents

Legal NoticesWho gets sued and why
HistoryChanges and who made them
PrefaceAbout the CORE i386 and the people that make it

OverviewAn Operating System Overview
CORE __SYSTEM FUNCTIONSWhat are they? What can they do?

TOC


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

Byte      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
primary filesystem
grail fs
DOS 12
DOS 16
DOS 16 extended
WIN95
OS/2 HPFS
7C00h - 7DFFh
7DFE
7DFE  - 7DFFh	AA55h Bios Boot-Signature

THE 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
     b0001

THE 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.