From owner-freebsd-current Wed Aug 5 22:00:44 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id WAA26945 for freebsd-current-outgoing; Wed, 5 Aug 1998 22:00:44 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from pop.uniserve.com (pop.uniserve.com [204.244.156.3]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id WAA26917 for ; Wed, 5 Aug 1998 22:00:32 -0700 (PDT) (envelope-from tom@uniserve.com) Received: from shell.uniserve.ca [204.244.186.218] by pop.uniserve.com with smtp (Exim 1.82 #4) id 0z4I9c-0006JA-00; Wed, 5 Aug 1998 21:59:56 -0700 Date: Wed, 5 Aug 1998 21:59:52 -0700 (PDT) From: Tom X-Sender: tom@shell.uniserve.ca To: Andrew Reilly cc: current@FreeBSD.ORG Subject: Re: Heads up on LFS In-Reply-To: <19980806033631.5013.qmail@gurney.reilly.home> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Thu, 6 Aug 1998, Andrew Reilly wrote: > 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. Hardware memory protection is hardware memory protection, whether you get a separate address space or not. Just like x86 stuff that generates protection faults. > QNX is much more like Unix, in that all processes have a separate > address space of their own. Not quite. Even the network staff, and file system run in separate spaces. As far as I know, even device drivers have their own address space. That level of segregation is not available on any Unix I know of. > -- > Andrew > > > Tom To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message