home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.minix
- Path: sparky!uunet!mcsun!sun4nl!relay.philips.nl!philica!adrie
- From: adrie@ica.philips.nl (Adrie Koolen)
- Subject: Re: Microkernel discussion
- Message-ID: <1992Jul24.065524.408@ica.philips.nl>
- Organization: Philips Consumer Electronics, Eindhoven, The Netherlands
- References: <1992Jul21.093145.328@ica.philips.nl> <1992Jul21.135917.3527@philce.ce.philips.nl> <1992Jul22.225432.28861@bnr.ca>
- Date: Fri, 24 Jul 1992 06:55:24 GMT
- Lines: 32
-
- In article <1992Jul22.225432.28861@bnr.ca> gryphon@bnrrch43.bnr.rich writes:
- >A generic process ( scheduler for instance) has an array of pointers to code.
- >It also has a mechanism for loading a pointer into this array dynamically.
- >(Yes, I am not telling you how we did this, just what we do) Our switches
- >can be running call processing and drivers can be changed on the fly.
- >
- >I realize that we would have to create the mechanism, but gating the process
- >to application defined code would solve some of this. Yes, it means the
- >kernel/driver set could modify itself. That is the point of GATING.
-
- The mechanism Frans proposes resembles your gating mechanism. When a driver
- wants to register itself in Minix (or is just loaded by MM/FS), a message
- is sent to the SYSTEM task (which therefore cannot easily be replaced
- dynamically) which registers the address of the driver. If more registration
- info is needed, it could also be passed via this message.
-
- When a message is sent to this new driver, the `message deliverer', located
- in the lowest part of the kernel, uses the stored address to deliver the
- message. It's still not clear how we address a driver. Frans proposes to
- use an ASCII string as a name of the driver and let a process ask the
- kernel for a `handle' (i.e. a process slot number in Minix's case) which
- can be used to address the driver. Of course, also the MM and FS are
- addressed this way.
-
- I guess that in your gating system, there's also a dispatch procedure to
- call a dynamically linked-in procedure. Minix, of course, uses messages.
-
- I think that the mechanisms don't differ too much, but Minix's message
- system and interrupt mechanism make it somewhat more complex.
-
- Adrie Koolen (adrie@ica.philips.nl)
- Philips Consumer Electronics, Eindhoven, the Netherlands
-