home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / unix / sysv386 / 12412 < prev    next >
Encoding:
Text File  |  1992-07-25  |  2.3 KB  |  50 lines

  1. Newsgroups: comp.unix.sysv386
  2. Path: sparky!uunet!kithrup!sef
  3. From: sef@kithrup.COM (Sean Eric Fagan)
  4. Subject: Re: RFD: comp.unix.* reorganization
  5. Organization: Kithrup Enterprises, Ltd.
  6. Date: Sat, 25 Jul 1992 03:23:41 GMT
  7. Message-ID: <1992Jul25.032341.5750@kithrup.COM>
  8. References: <14n406INN7mh@smaug.West.Sun.COM> <631@tmcsys.UUCP> <14q9hvINNgbd@smaug.West.Sun.COM>
  9. Lines: 39
  10.  
  11. In article <14q9hvINNgbd@smaug.West.Sun.COM> Richard.Mathews@West.Sun.COM (Richard M. Mathews) writes:
  12. >But that it just what Merge does (I haven't looked at the internals of
  13. >VP/ix, so I can't say for certain what it does).  
  14.  
  15. But you're willing to claim you know it does...
  16.  
  17. >Your code (DOS) executes
  18. >an outb instruction.  But the instruction is not executed by the hardware.
  19.  
  20. Wrong.  At least in some cases.
  21.  
  22. The x86 (x > 2) can allow a task to have IO privileges (I know I misspelled
  23. it, sorry 8-)).  This is how X works under UNIX on an SCO machine, for
  24. example:  the X server is granted io priv's for a range of io ports, and can
  25. then, merrily, go about at full speed.  DOS Merge works the same way (or,
  26. rather, it *can*:  you want, in general, to explicitly allow some addresses,
  27. and you never really want to give others, to the process).
  28.  
  29. >You trap to the kernel which decodes the instruction and executes it's
  30. >own instructions to perform what you would have expected that instruction
  31. >to do.  The instruction executed by the kernel is not necessarily the
  32. >same one executed by the DOS process -- for example an "outb immediate"
  33. >executed by the program ends up being emulated by an "outb dx" somewhere
  34. >in the kernel.  
  35.  
  36. Completely not true, for UNIX and for DOS-under-UNIX.  If the io port is not
  37. allowed for that process, then Merge -- which is a user-level program
  38. (although it does have some kernel hooks) -- will "decide" what to do, and
  39. how best to proceed.  For the disk addresses, for example, it will emulate
  40. them, but it won't do an "outb" at all; instead, it will read, using the
  41. UNIX kernel, the appropriate block, or will lie and act as if it had
  42. actually done the work when it's actually done nothing at all.  For others,
  43. it will just fail completely, with a trap.
  44.  
  45. -- 
  46. Sean Eric Fagan  | "My psychiatrist says I have a messiah
  47. sef@kithrup.COM  |  complex.  But I forgive him."
  48. -----------------+              -- Jim Carrey
  49. Any opinions expressed are my own, and generally unpopular with others.
  50.