home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / vmsnet / internal / 1696 < prev    next >
Encoding:
Text File  |  1992-12-21  |  2.5 KB  |  52 lines

  1. Newsgroups: vmsnet.internals
  2. Path: sparky!uunet!bcstec!silverm
  3. From: silverm@bcstec.ca.boeing.com (Jeff Silverman)
  4. Subject: Re: Call for partly-baked ideas: $QIO replacement?
  5. Message-ID: <BzG3Dy.FBy@bcstec.ca.boeing.com>
  6. Organization: Boeing Computer Services
  7. References: <1992Dec16.113301.977@cmkrnl.com>
  8. Date: Fri, 18 Dec 1992 07:56:19 GMT
  9. Lines: 41
  10.  
  11. jeh@cmkrnl.com writes:
  12. >Are you happy with the $QIO system service?  If you were building a new O/S
  13. >from scratch, would you make the "basic I/O call" that's available for 
  14. >non-privileged programs look like $QIO, or like something else?  If the latter,
  15. >what?  If you could specify a new I/O interface to supplement $QIO in VMS, what
  16. >would it look like?
  17. >    --- Jamie Hanrahan, Kernel Mode Consulting, San Diego CA
  18. >Chair, Programming and Internals Working Group, U.S. DECUS VMS Systems SIG 
  19. >Internet:  jeh@cmkrnl.com, hanrahan@eisner.decus.org, or jeh@crash.cts.com
  20.  
  21. Jamie,
  22.  
  23.     What an interesting question.  The way I see it, you have essentially
  24. two ways of building an I/O interface: the way VMS/RSX do it and the way
  25. UNIX/Ada/CP/M (I haven't studied MS-DOS or Windows NT or MVS closely enough
  26. to decide which catagories they go into).  With VMS/RSX, you have a mechanism
  27. by which an interrupt can be safely delivered to the process, while UNIX
  28. and Ada really don't - you build tasks or threads which block until I/O is
  29. completed.
  30.     I assume that you are planning on building an O/S which can support
  31. any language: C, Ada, FORTRAN, COBOL, Pascal, etc.  If you are building an
  32. O/S which is oriented to a specific langauge, such as UCSD Pascal, Ada, or
  33. Modula-2 then you have a simpler problem - don't bother providing any
  34. functionality not supported by the semantics of the language.
  35.  
  36.     There is another aspect to the question which I just thought of.  One
  37. of the characteristics of VMS which has always struck me is that number of
  38. datastructures which get passed either by reference or by descriptor (VMS
  39. is the only environment I know of which uses descriptors).  There are some
  40. advantages and disadvantages of building a complicated data structure: the
  41. overhead of stuffing the answers into the data blocks and then pulling them
  42. out on the other side of the call.  Would it be easier to simply have long
  43. argument lists?  It certainly seems more reliable to build the data structures
  44. because the compiler can do some checking for you (for example, attempting to
  45. stuff a 32 bit constant into a 16 bit space), and the compiler can keep track
  46. of placing things in the right place.
  47.  
  48.     Jamie, why do you ask?
  49.  
  50. Jeff Silverman, Boeing Commercial Airplane
  51.  
  52.