home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / std_unix / volume.23 / text0084.txt < prev    next >
Encoding:
Text File  |  1991-06-15  |  3.6 KB  |  67 lines

  1. Submitted-by: sef@kithrup.COM (Sean Eric Fagan)
  2.  
  3. In article <1991Jun4.221021.26605@uunet.uu.net> mib@geech.gnu.ai.mit.edu (Michael I Bushnell) writes:
  4. >Given the _POSIX_SOURCE feature test macro, OS designers can load all
  5. >they want in, and turn it off only when _POSIX_SOURCE is defined.  
  6.  
  7. That doesn't do everything.  Yes, it's possible to come up with a system
  8. that is not only backwards compatible, but also provides full ANSI and/or
  9. POSIX compliance (although it is not possible, necessarily, to mix old and
  10. new).
  11.  
  12. Problems encountered:  namespace (have to get rid of everthing not defined
  13. by ANSI for ANSI-only, everything not defined by POSIX for POSIX, and yet
  14. have to worry about old binaries, as well as sources, that may rely on such
  15. things [_iob was my favorite example, although there were several like items
  16. in libc that we had to worry a lot about]); different semantics for things
  17. of the same name (more an issue for section 1 and .2 compliance; things like
  18. df and du have portable definitions under POSIX, which may or may not be
  19. different from what old shell scripts expected).  One POSIX "optional"
  20. feature, required by FIPS, was no-truncate; that is, if a filename exceeded
  21. the maximum name length for the filesystem, return ENAMETOOLONG.  Do you
  22. know how many programs out there are written to generate *unique* names in
  23. 14 characters or less, but still will try to create names with *more* than
  24. 14 characters?  B News, for example, I believe.
  25.  
  26. Again, yes, it's possible to get around all of these.  By having three
  27. seperate libraries and header files (old, ansi, and posix).  By having two
  28. sets of command trees (/old and /posix; e.g., /old/bin/df and
  29. /posix/bin/df).  By defining bits in the executable's header to indicate
  30. whether new features are to be used or not.  (Incidently, uSoft did that,
  31. apparantly, with the OS/2 HPFS [high performance file system]:  older
  32. programs which do not have the correct bit set in the header will not even
  33. *see* the longer filenames.  I think this is wrong.  Just MHO, though 8-).)
  34.  
  35. >I'm
  36. >writing a Posix compliant system which will also be 4.4BSD compatable;
  37. >I know whereof I speak.
  38.  
  39. And I helped implement a POSIX-ANSI-and-X/Open-compliant-yet-backwards-
  40. compatible system (OS, commands, and devsys) for a major vendor.  I also
  41. know whereof I speak.  Many people reading this group can say the same
  42. thing; most of them can probably come up with their own horror stories.  4.4
  43. was intended to be largely POSIX compliant in the first place, and BSD
  44. places less concern on backwards compatibility than commercial vendords do
  45. (SCO, for example, can still execute, *and develop for*, XENIX/XT binaries;
  46. can a BSD system say the same about BSD 4.1?).  Does this mean that SCO is
  47. "better" than CSRG?  No, I didn't say that.  CSRG was able to come up with a
  48. much better system, in many ways (including size, a personal peeve 8-)), and
  49. most of their "customers" have sources anyway.  But the problems commercial
  50. vendors have are very *real* problems.
  51.  
  52. At this point, I'm curious how SunOS did:  is it still able to run binaries
  53. from 5, 10 years ago, without modification?  Can it still take object
  54. modules from that long ago, and link them in with current libraries?  (Some
  55. third-party people ship modules, and let the customer link them with
  56. customized pieces, for example.)
  57.  
  58. -- 
  59. Sean Eric Fagan  | "I made the universe, but please don't blame me for it;
  60. sef@kithrup.COM  |  I had a bellyache at the time."
  61. -----------------+           -- The Turtle (Stephen King, _It_)
  62. Any opinions expressed are my own, and generally unpopular with others.
  63.  
  64.  
  65. Volume-Number: Volume 23, Number 87
  66.  
  67.