home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / arch / 11976 < prev    next >
Encoding:
Text File  |  1992-12-29  |  2.3 KB  |  47 lines

  1. Newsgroups: comp.arch
  2. Path: sparky!uunet!noc.near.net!mv!chillon!decvax.dec.com!mallard.edec.locus.com!simon
  3. From: simon@mallard.edec.locus.com (simon R)
  4. Subject: Re: AST on UNIX
  5. Message-ID: <1992Dec28.154934.25582@decvax.dec.com>
  6. Sender: usenet@decvax.dec.com (Usenet News System)
  7. Nntp-Posting-Host: mallard.edec.locus.com
  8. Organization: Digital Equipment Corporation - Nashua, NH
  9. X-Newsreader: Tin 1.1 PL4
  10. References: <1992Dec24.180908.6772@technix.mn.org>
  11. Date: Mon, 28 Dec 1992 15:49:34 GMT
  12. Lines: 33
  13.  
  14. : >OK, try this. VMS has something called an AST (Asynchronous System Trap) which
  15. : >is similar to a user-mode interrupt. This may occur at any time: for instance,
  16. : >an asynchronous I/O can call an AST routine when the I/O completes. When the
  17. : >AST routine completes, control returns to the code that was executing at the
  18. : >time the AST occurred. (The analogy in NT is the APC, or Asynchronous
  19. : >Procedure Call.)
  20. : >
  21. : >Now, much of the run-time stuff in UNIX is non-reentrant. In particular, the 
  22. : >use of errno springs to mind. If the AST (or APC) was introduced into the
  23. : >UNIX model, how can I use these non-reentrant routines safely in an AST
  24. : While you are at it, don't forget to include a separate 32-bit value
  25. : passed to the AST.  The AST is fully queue'd, and if you send 32 ASTs
  26. : before the application executes it's handler the application will still
  27. : see ALL the ASTs with their separate 32-bit value.
  28. : If you can make this work, now port it to AIX, SunOS, Solaris, Ultrix,
  29. : IRIX, and HP-UX.  Those are the only environments I currently would like
  30. : it on, I'm sure there would be more within a few months.
  31. Concurrent Computer (for whom I used to work) have had AST capability
  32. in their real-time version of Unix (based on System V) since (as
  33. MASSCOMP) their first product shipped some ten years ago.
  34. As I recall, error status of the I/O operation was indeed passed as a parameter
  35. to the AST routine. It's major use was to overlap real time data input
  36. with output to disk or whatever. ASTs could be prioritized, buffers 
  37. locked in memory, everything that you needed to do real-time data collection.
  38.  
  39.  
  40. _______________________________________________________________________________
  41. Simon Rosenthal:  (simon@bos.locus.com)
  42. Locus Computing Corporation
  43. Burlington, MA 01803
  44.