www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/11/06/18:36:18

Message-ID: <32813B7E.79E2@gbrmpa.gov.au>
Date: Thu, 07 Nov 1996 09:29:34 +0800
From: Leath Muller <leathm AT gbrmpa DOT gov DOT au>
Reply-To: leathm AT gbrmpa DOT gov DOT au
Organization: Great Barrier Reef Marine Park Authority
MIME-Version: 1.0
To: Mark Wodrich <mwodrich AT ct DOT lia DOT net>
CC: djgpp AT delorie DOT com
Subject: Re: Porting real-time, multiprocess, distrib. OS Kernel to djgpp?
References: <1996Nov5 DOT 133017 AT uctvms DOT uct DOT ac DOT za> <327FF2E8 DOT 68B4 AT gbrmpa DOT gov DOT au> <01bbcc19$46d910a0$22901ac4 AT mark-s-pc>

> > On an 8086? Are you sure?

> Yes, I'm sure! ;-)  The system uses the system timer to do task switching,
> and provides access to kernel routines through a software interrupt (much
> like DOS does).  The code is designed to be portable, ie. not rely on
> "fancy" processor modes.  He will be working on a Motorola 68k port as part
> of his Masters degree, so it may be easier to tackle the djgpp port once
> this has been done.

Excellent. It would be easier to write this under a 68000 than a 8086 of
course, but I see no reason why this kernel couldn't be written on top
of csdpmi w/ DJGPP (I had a rummage through the source for r3 of csdpmi
last night... :) 
 
> > object orientated - I don't really get this bit,
> By object-orientated, I mean that it transparently supports C++ methods
> being invoked in response to an event.  Events are just messages which are
> generated by hardware (keyboard,mouse,cards), or processes running on the
> machine (or network!).  The kernel checks who is "registered" for an event,
> and creates a process for any C++ methods required to run in.

Oh, I just couldn't see any difference to this and a normal C task...but
then, I don't know much about C++!
 
> > The fact that this guy wrote this on a 8086 is impressive - how much
> > free ram do you have after you run it? ;)
> The kernel sits on top of DOS, and is pretty small (< 64Kb), so you have
> around 500Kb left in real-mode DOS.

If the kernel is _that_ small, then it should end up pretty close to the
same size using csdpmi for the memory allocation, virtual memory
control,
etc...
 
> Once again, as far as I know all this works on an 8086.  Obviously it was
> not trivial to implement...  If there is more interest I'll ask the author
> to try to explain stuff himself, since I only know second-hand info.

Well, if it's 64k, it would run well on an 8086. Now, if you can just
convince
him to port it to DJGPP... :)
 
> Adios
> Mark.

Leathal.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019