Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Aug 1998 13:36:31 +1000 (EST)
From:      "Andrew Reilly" <reilly@zeta.org.au>
To:        tom@uniserve.com
Cc:        reilly@zeta.org.au, current@FreeBSD.ORG
Subject:   Re: Heads up on LFS
Message-ID:  <19980806033631.5013.qmail@gurney.reilly.home>
In-Reply-To: <Pine.BSF.3.96.980805202349.20955A-100000@shell.uniserve.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
Tom said:
> 
> On Thu, 6 Aug 1998, Andrew Reilly wrote:
> 
> ...
>> Now if you were prepared to rely on hardware memory /protection/
>> without using the hardware memory /mapping/, you could probably
>> do the same thing in C or C++ (or assembly language).  I believe
>> that this has been tried in some of the Acorn ARM based OS's
>> (RiscOS and the Newton OS.)
> 
>   Most microkernel OSes are this way.  QNX for x86 does something similar.
> The kernel is basically just a scheduler (a QNX kernel is less than 50K),
> and all other services that would normally be in the kernel are in their
> own address spaces, using strict IPC interfaces between modules.

That's not quite what I meant.  As far as I know, the Spin and JavaOS
beasties get an extra performance bennefit from running both the kernel
and all user processes in the _same_ address space, without any
hardware protections.  They can do that safely, because they push the
protection and access issues into the language and the compiler, rather
than guarding for errant programs at run-time.

NewtonOS and RiscOS also put everything into the one address space, but
use some hardware memory _protection_ to prevent user processes from
reading or writing into kernel (or other user process) space, unless
explicitly allowed, by calling a kernel routine.

QNX is much more like Unix, in that all processes have a separate
address space of their own.

-- 
Andrew


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980806033631.5013.qmail>