home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!europa.asd.contel.com!darwin.sura.net!spool.mu.edu!olivea!charnel!sifon!thunder.mcrcim.mcgill.edu!mouse
- From: mouse@thunder.mcrcim.mcgill.edu (der Mouse)
- Newsgroups: comp.unix.wizards
- Subject: Re: a novice unix internals question
- Message-ID: <1992Dec20.225210.9418@thunder.mcrcim.mcgill.edu>
- Date: 20 Dec 92 22:52:10 GMT
- References: <1992Dec16.081648.22123@sbcs.sunysb.edu>
- Organization: McGill Research Centre for Intelligent Machines
- Lines: 26
-
- In article <1992Dec16.081648.22123@sbcs.sunysb.edu>, synchem@sbcs.sunysb.edu (Synchem proj acct) writes:
-
- > In the Leffler 4.3BSD Unix book, it was discussed that the run-time
- > structure of the kernel is divided into a top and a bottom half.
- > [...] My question is, which process does the bottom half belong
- > to[?]
-
- As you guess (in text I deleted), bottom-half routines do not
- inherently belong to any process. If they correspond to a device that
- is being used by only one process, they could be thought of as
- belonging to that process, but the code is generally not written to
- correspond to this, and for some devices (eg, disks) it doesn't even
- really make sense. There usually is some process current when the
- bottom half runs, but it bears no relation to anything in particular;
- it's simply whatever process happened to have the cpu when the
- interrupt happened. If the machine isn't busy, it's even reasonably
- likely that the interrupt happened during the idle loop. (For example,
- the bottom half cannot count on any given process being incore. Some
- things are kept incore even for swapped processes, like the proc struct
- in 4.3; these can of course be used once the correct one is found. But
- the u area may be swapped....)
-
- der Mouse
-
- mouse@larry.mcrcim.mcgill.edu
-