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