[Arm-netbook] microkernels

Hendrik Boom hendrik at topoi.pooq.com
Tue Dec 11 02:35:52 GMT 2018

On Mon, Dec 10, 2018 at 09:11:49PM -0500, Christopher Havel wrote:
> So, as I (poorly) understand it, the idea of a "microkernel" is that each
> process/thread/application (I'm not quite sure which) gets its own kernel,
> sort of, and that this kernel is somewhat modular in that it only provides
> what functionality the application needs from it.
> If I'm understanding that correctly -- which I very easily might not, I
> only have a somewhat abstract understanding of kernels to begin with, at
> best -- it seems to me that things like memory management suddenly become
> cooperative efforts, and that could very easily lead to what is typically
> non-technically referred to as a massive clusterf***.

The idea of a microkernel is that it's the only thing running in a 
hardware-privileged mode, and that it does only what it absolutely has to do for 
the system to work.  A big part of that is to manage the privileges given to 
other processes in the machine.  File systems, networking, etc, etc, all operate 
outside the microkernel, and are protected against incursions from each other.

It's a security-based architecture.  To a fair extent the system is protected 
against its own bugs.

> Wouldn't it be easier/better, if you're going to rewrite code, to look at
> how the code is written now and find ways to make it more compact (or less
> sloppy, perhaps, as the case may be) while still providing the same
> functionality?

That would be good too, but is independent of whether you want to protect
the system against its own errors.  Making code less sloppy will of course also 
reduce the number of bugs there are to defend against.

> I recognize that we've come a quite long way from things like an Atari
> 2600, but when you consider the system resources of /that/ machine -- 4k
> ROM, 128 *bytes* of memory, a rather nastily-tempered, strict, and
> uncooperative graphics controller, and a CPU running at ~1MHz with no
> interrupt capability whatsoever -- and what all was done with it by coding
> tightly (and the occasional dirty trick or three) -- it seems to me,
> admittedly as a non-programmer, that there's a lot that could be done to
> streamline the behavior of modern operating systems and the applications
> that run within them.
> For example, I'm typing this on a 32bit Win7 based HP Mini netbook with an
> Atom N450 CPU and 2gb RAM. It seems to me that playing Pandora Internet
> Radio in one browser window, with another browser window of nine tabs (and
> three of those are static JPEG images retrieved from a search engine, not
> proper webpages or anything), and with the file manager having one window
> open and another image displayed in an OS-resident image viewer -- that the
> described load ought not to very nearly lock the machine up entirely. And
> yet, it does -- which, it seems to me, indicates that the gentlefolk
> they're hiring over there in Redmond these days, simply do not understand
> how to code.

I agree, it shouldn't lock up.

-- hendrik

More information about the arm-netbook mailing list