[mod.computers.68k] OS-9 questions

jejones@mcrware.UUCP.UUCP (02/18/87)

To answer Bill Stoltz's questions:
 
>If every process is position independent then is every process limited
>to 64K bytes?  In order to be position independent you have to use
>PC relative code.  PC relative, from what I have been able to find,
>is +-32K bytes.  Obviously, programs can be greater than 64k but all
>references must be within 32k.  How does OS9 handle this?

You're right about the limitations of PC-relative addressing on all
but the 68020.  The OS-9 assembler has a construct called "the remote
vsect" that allows access to >64K bytes of data; the catch is that
it can't be initialized.  The C compiler has an additional storage
class, "remote," that does what you'd expect.  I don't know in detail
how it's done.
 
>What does OS9 use to try to protect other processes or kernel memory
>from the currently running process, without the use of an MMU?

There is a version of OS-9/68000 that supports a piece of hardware that
doesn't map memory but does control access to it, so that processes can
only get to the memory they're supposed to have access to.  Aside from
that, it doesn't go out of its way to protect processes from one another.
 
>Where can I get more information on OS9?  (General Overview and
>some internal workings like we have discussed here)?

There are several places: first, from the horse's mouth (Microware Systems
Corporation, 1866 NW 114th, Des Moines IA 50322, 515-224-1929); second,
from *68 Micro Journal*, whose address I don't have access to at the
moment, but I will send to the list in a separate message; third, *The
Complete RAINBOW Guide to OS-9*, available at your local Radio Shack.
Caveat about the latter: it mainly covers OS-9/6809, though many of the
concepts carry over from the 6809 to the 68000 version.  Also, I'd disagree
with some of the historical items in the book.

		James Jones