home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / unix / sys5 / r4 / 572 < prev    next >
Encoding:
Internet Message Format  |  1992-11-20  |  4.5 KB

  1. Xref: sparky comp.unix.sys5.r4:572 comp.mail.misc:3754
  2. Newsgroups: comp.unix.sys5.r4,comp.mail.misc
  3. Path: sparky!uunet!UB.com!daver!hico2!sonyd1.Broadcast.Sony.COM!blilly.UUCP!bruce
  4. From: bruce@blilly.UUCP (Bruce Lilly)
  5. Subject: Re: Email header problems on SVR4.
  6. Keywords: SVR4.2, mail
  7. References: <1992Nov18.163903.26405@news.acns.nwu.edu> <BxxC7p.C2A@chinet.chi.il.us> <1992Nov19.172039.1686@cbnewsk.cb.att.com>
  8. Followup-To: comp.mail.misc
  9. Organization: Bruce Lilly
  10. Date: Sat, 21 Nov 92 00:52:58 GMT
  11. Message-ID: <1992Nov21.005258.19523@blilly.UUCP>
  12. Reply-To: lilb@sony.compuserve.com (Bruce Lilly)
  13. Lines: 79
  14.  
  15. In article <1992Nov19.172039.1686@cbnewsk.cb.att.com> hansen@pegasus.att.com (Tony L. Hansen) wrote:
  16. >Isn't it better, though, to spend your time tuning the more general program
  17. >to handle using its tools more efficiently? That way the performance of the
  18. >entire system is improved. The use of external tools then becomes a minor
  19. >matter.
  20.  
  21. Perhaps, providing:
  22. 1)    one has the source code to the tools, and the necessary
  23.     tool-modification tools and performance-evaluation tools
  24.     (and time, and expertise) to do the tuning
  25. and
  26. 2)    the interface has been sufficiently well-designed so
  27.     that the tools can be readily used to do the necessary
  28.     tasks (otherwise creeping featurism (such-and-such a
  29.     flag to alter the semantics to work better with program
  30.     foobar) tends to result)
  31.  
  32. I say perhaps because in addition to the tools themselves, the
  33. system hardware and software has an impact. For example, if the
  34. OS has a fixed process table size, or has limited swap sapce,
  35. the "tools" philosophy can result in random processes being
  36. killed due to OS or hardware limitations. What happens to the
  37. mail processing then (if one of the processes killed is involved
  38. with processing the mail)?  Of course, assuming one has source
  39. code for the OS, and the necessary tools, and further assuming
  40. that the OS has been designed in a manner conducive to
  41. modification, one could "tune" the OS to alleviate some of these
  42. problems...
  43.  
  44. The "tools" approach is probably best for typical interactive
  45. user processes, so that a user can perform a task by combining
  46. tools in an appropriate manner.  If Joe R. User's interactive
  47. process is killed due to system loading, Joe can always try
  48. again later. But for daemon processes where high availability
  49. and reliability are desired, given the characteristics of most
  50. versions of the UNIX(R) operating system, blind dependence on
  51. the system having enough resources to accomodate additional
  52. processes and programs used by fork/exec may lead to problems.
  53.  
  54. Having said that, there is still place for a generic "tools"
  55. approach:
  56. a)    ancillary programs can be used to prepare and maintain
  57.     databases used by mail delivery programs. e.g. pathalias
  58.     (not the SVR4 pathalias(4)). I don't know of any mail
  59.     delivery agents that grope through the raw UUCP maps to
  60.     calculate a path each time one is needed.
  61. b)    if the program is itself programmable (somebody recently
  62.     pointed out that sendmail's programming language as used
  63.     in its configuration file is Turing-complete), "tools"
  64.     can be crafted without the need for fork/exec and
  65.     external programs. For example, the sendmail.cf file
  66.     used here has a large number of (relatively) simple
  67.     rulesets, which are called as subroutines for header
  68.     processing and mailer selection.
  69.  
  70. Another limitation of the fork/exec tools approach is the
  71. portability issue. Granted, a "monolithic" C program requires
  72. many contortions to address portability across various software
  73. platforms. But the same is true of the "tools" approach. There
  74. are many varieties of sed, awk/nawk/gawk/mawk, grep/egrep,
  75. shells, etc. which may respond differently (output format,
  76. features, arguments, regexps, return values) on different
  77. systems. Take a look at the C news scripts for examples of the
  78. contortions which are necessary to accomodate some of these
  79. differences. Use of the external tools approach makes the
  80. overall (mail handling) system vulnerable to bugs and
  81. implementation dependencies in the various external programs
  82. used. In addition to having to port the master program (which
  83. forks and execs the tools) to various platforms, the
  84. configuration files may have to be modified to accommodate
  85. differences in the tools available on the different platforms.
  86. A configuration which works perfectly with the tools on one
  87. system may fail spectacularly on another system with nominally
  88. the same tools (grep always returns 0 if any match is found,
  89. right?).
  90.  
  91. -- 
  92.     Bruce Lilly        blilly!bruce@Broadcast.Sony.COM
  93.                     ...uunet!sonyusa!sonyd1!blilly!bruce
  94.