home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / os / minix / 3760 < prev    next >
Encoding:
Text File  |  1992-07-23  |  2.2 KB  |  43 lines

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