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