home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / reports / 1990.06 < prev    next >
Text File  |  1990-08-02  |  179KB  |  4,114 lines

  1. echo intro
  2. cat >intro <<'shar.intro.8174'
  3. From uucp@tic.com  Sat Jun 30 00:05:58 1990
  4. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  5.     id AA18333; Sat, 30 Jun 90 00:05:58 -0400
  6. Posted-Date: 30 Jun 90 02:28:24 GMT
  7. Received: by cs.utexas.edu (5.64/1.65)
  8.     id AA28562; Fri, 29 Jun 90 23:05:53 -0500
  9. Received: by longway.tic.com (4.22/tic.1.2)
  10.     id AA12060; Fri, 29 Jun 90 23:12:47 cdt
  11. From: <jsh@usenix.org>
  12. Newsgroups: comp.std.unix
  13. Subject: Standards Update, USENIX Standards Watchdog Committee
  14. Message-Id: <386@usenix.ORG>
  15. Sender: std-unix@usenix.ORG
  16. Reply-To: std-unix@uunet.uu.net
  17. Date: 30 Jun 90 02:28:24 GMT
  18. Apparently-To: std-unix-archive@uunet.uu.net
  19.  
  20. From:  <jsh@usenix.org>
  21.  
  22.  
  23.            An Update on UNIX*-Related Standards Activities
  24.  
  25.                               June, 1990
  26.  
  27.                  USENIX Standards Watchdog Committee
  28.  
  29.                    Jeffrey S. Haemer, Report Editor
  30.  
  31. USENIX Standards Watchdog Committee
  32.  
  33. Jeffrey S. Haemer <jsh@ico.isc.com> reports on spring-quarter
  34. standards activities
  35.  
  36. What these reports are about
  37.  
  38. Reports are done quarterly, for the USENIX Association, by volunteers
  39. from the individual standards committees.  The volunteers are
  40. familiarly known as snitches and the reports as snitch reports.  The
  41. band of snitches and I make up the working committee of the USENIX
  42. Standards Watchdog Committee.  Our job is to let you know about things
  43. going on in the standards arena that might affect your professional
  44. life -- either now or down the road a ways.
  45.  
  46. We don't yet have active snitches for all the committees and sometimes
  47. have to beat the bushes for new snitches when old ones retire or can't
  48. make a meeting, but the number of groups with active snitches
  49. continues to grow (as, unfortunately, does the number of groups).
  50.  
  51. We know we currently need snitches in 1003.6 (Security), 1003.11
  52. (Transaction Processing), 1003.13 (Real-time Profile), and nearly all
  53. of the 1200-series POSIX groups, There are probably X3 groups the
  54. USENIX members would like to know about that we don't even know to
  55. look for watchdogs in.  If you're active in any other standards-
  56. related activity that you think you'd like to report on, please drop
  57. me a line.  Andrew Hume's fine report on X3B11.1 is an example of the
  58. kind of submission I'd love to see.
  59.  
  60. If you have comments or suggestions, or are interested in snitching
  61. for any group, please contact me (jsh@usenix.org) or John
  62. (jsq@usenix.org).  If some of the reports make you interested enough
  63. or indignant enough to want to go to a POSIX meeting, or you just want
  64. to talk to me in person, join me at the next set, July 16-20, at the
  65. Sheraton Tara, in Danvers, Massachusetts, just outside of Boston.
  66.  
  67. The USENIX Standards Watchdog Committee also has both a financial
  68. committee -- Ellie Young, Alan G. Nemeth, and Kirk McKusick (chair);
  69.  
  70. __________
  71.  
  72.   * UNIX is a registered trademark of AT&T in the U.S. and other
  73.     countries.
  74.  
  75. June, 1990 Standards Update        USENIX Standards Watchdog Committee
  76.  
  77.  
  78.                 - 2 -
  79.  
  80. and a policy committee -- the financial committee plus John S.
  81. Quarterman (chair).
  82.  
  83. An official statement from John:
  84.  
  85.      The basic USENIX policy regarding standards is:
  86.           to attempt to prevent standards from prohibiting innovation.
  87.      To do that, we
  88.  
  89.         + Collect and publish contextual and technical information
  90.           such as the snitch reports that otherwise would be lost in
  91.           committee minutes or rationale appendices or would not be
  92.           written down at all.
  93.  
  94.         + Encourage appropriate people to get involved in the
  95.           standards process.
  96.  
  97.         + Hold forums such as Birds of a Feather (BOF) meetings at
  98.           conferences.  We sponsored one workshop on standards.  And
  99.           are cosponsoring another in conjunction with IEEE, UniForum,
  100.           and EUUG.  (Co-chairs are Shane P. McCarron
  101.           <ahby@uiunix.org> and Fritz Schulz <fritz@osf.osf.org>.
  102.           Contact them for details.)
  103.  
  104.         + Write and present proposals to standards bodies in specific
  105.           areas.
  106.  
  107.         + Occasionally sponsor White Papers in particularly
  108.           problematical areas, such as IEEE 1003.7 (in 1989).
  109.  
  110.         + Very occasionally lobby organizations that oversee standards
  111.           bodies regarding new committee, documents, or balloting
  112.           procedures.
  113.  
  114.         + Starting in mid-1989, USENIX and EUUG (the European UNIX
  115.           systems Users Group) began sponsoring a joint representative
  116.           to the ISO/IEC JTC1 SC22 WG15 (ISO POSIX) standards
  117.           committee.
  118.  
  119.      There are some things we do not do:
  120.  
  121.         + Form standards committees.  It's the USENIX Standards
  122.           Watchdog Committee, not the POSIX Watchdog Committee, not
  123.           part of POSIX, and not limited to POSIX.
  124.  
  125.         + Promote standards.
  126.  
  127.         + Endorse standards.
  128.  
  129. June, 1990 Standards Update        USENIX Standards Watchdog Committee
  130.  
  131.  
  132.                 - 3 -
  133.  
  134.      Occasionally we may ask snitches to present proposals or argue
  135.      positions on behalf of USENIX.  They are not required to do so
  136.      and cannot do so unless asked by the USENIX Standards Watchdog
  137.      Policy Committee.
  138.  
  139.      Snitches mostly report.  We also encourage them to recommend
  140.      actions for USENIX to take.
  141.  
  142.           John S. Quarterman, USENIX Standards Liaison
  143.  
  144. June, 1990 Standards Update        USENIX Standards Watchdog Committee
  145.  
  146. Volume-Number: Volume 20, Number 65
  147.  
  148. shar.intro.8174
  149. echo overview
  150. cat >overview <<'shar.overview.8174'
  151. From uucp@tic.com  Sat Jun 30 00:06:21 1990
  152. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  153.     id AA18462; Sat, 30 Jun 90 00:06:21 -0400
  154. Posted-Date: 30 Jun 90 02:42:08 GMT
  155. Received: by cs.utexas.edu (5.64/1.65)
  156.     id AA28590; Fri, 29 Jun 90 23:06:04 -0500
  157. Received: by longway.tic.com (4.22/tic.1.2)
  158.     id AA12117; Fri, 29 Jun 90 23:14:25 cdt
  159. From: <jsh@usenix.org>
  160. Newsgroups: comp.std.unix
  161. Subject: Standards Update, Recent Standards Activities
  162. Message-Id: <387@usenix.ORG>
  163. Sender: std-unix@usenix.ORG
  164. Reply-To: std-unix@uunet.uu.net
  165. Date: 30 Jun 90 02:42:08 GMT
  166. Apparently-To: std-unix-archive@uunet.uu.net
  167.  
  168. From: <jsh@usenix.org>
  169.  
  170.  
  171.            An Update on UNIX*-Related Standards Activities
  172.  
  173.                               June, 1990
  174.  
  175.                  USENIX Standards Watchdog Committee
  176.  
  177.           Jeffrey S. Haemer, jsh@ico.isc.com, Report Editor
  178.  
  179. Recent Standards Activities
  180.  
  181. This editorial is an overview of some of the spring-quarter standards
  182. activities covered by the USENIX Standards Watchdog Committee.  A
  183. companion article provides a general overview of the committee itself.
  184.  
  185. In this article, I've emphasized non-technical issues, which are
  186. unlikely to appear in official minutes and mailings of the standards
  187. committees.  Previously published articles give more detailed, more
  188. technical views on most of these groups' activities.  If my comments
  189. move you to read one of those earlier reports that you wouldn't have
  190. read otherwise, I've served my purpose.  Of course, on reading that
  191. report you may discover the watchdog's opinion differs completely from
  192. mine.
  193.  
  194. SEC: Standard/Sponsor Executive Committee
  195.  
  196. The biggest hullabaloo in the POSIX world this quarter came out of the
  197. SEC, the group that approves creation of new committees.  At the April
  198. meeting, in a move to slow the uncontrolled proliferation of POSIX
  199. standards, the institutional representatives (IRs) (one each from
  200. Usenix, UniForum, X/Open, OSF, and UI) recommended two changes in the
  201. Project Authorization Request (PAR) approval process: (1) firm
  202. criteria for PAR approval and group persistence and (2) a PAR-approval
  203. group that had no working-group chairs or co-chairs.  Dale Harris, of
  204. IBM Austin, presented the proposal and immediately took a lot of heat
  205. from the attendees, most of whom are working-group chairs and co-
  206. chairs (Dale isn't an IR, but shared the concerns that motivated the
  207. recommendations and asked to make the presentation.)
  208.  
  209. The chair, Jim Isaak, created an ad-hoc committee to talk over the
  210. proposal in a less emotional atmosphere.  Consensus when the committee
  211. met was that the problem of proliferating PARs was real, and the only
  212. question was how to fix it.  The group put together a formal set of
  213. criteria for PAR approval (which John Quarterman has posted to
  214. comp.std.unix), which seems to have satisfied everyone on the SEC, and
  215. passed without issue.  The criteria seem to have teeth: at least one
  216. of the Project Authorization Requests presented later (1201.3, UIMS)
  217.  
  218. __________
  219.  
  220.   * UNIX is a Registered Trademark of UNIX System Laboratories in the
  221.     United States and other countries.
  222.  
  223. June, 1990 Standards Update                Recent Standards Activities
  224.  
  225.  
  226.                 - 2 -
  227.  
  228. flunked the criteria and was rejected.  Two others (1201.1 and 1201.4
  229. toolkits and Xlib) were deferred.  I suspect (though doubt that any
  230. would admit it) that the proposals would have been submitted and
  231. passed in the absence of the criteria.  In another related up-note,
  232. Tim Baker and Jim Isaak drafted a letter to one group (1224, X.400
  233. API), warning them that they must either prove they're working or
  234. dissolve.
  235.  
  236. The second of the two suggestions, the creation of a PAR-approval
  237. subcommittee, sank quietly.  The issue will stay submerged so long as
  238. it looks like the SEC is actually using the approved criteria to fix
  239. the problem.  [ Actually, this may not be true.  Watch for developments
  240. at the next meeting, in Danvers, MA in mid-July.  -jsq]
  241.  
  242. Shane McCarron's column in the July Unix Review covers this area in
  243. more detail.
  244.  
  245. 1003.0: POSIX Guide
  246.  
  247. Those of you who have read my last two columns will know that I've
  248. taken the position that dot zero is valuable, even if it doesn't get a
  249. lot of measurable work done.  This time, I have to say it looks like
  250. it's also making measurable progress, and may go to mock ballot by its
  251. target of fourth quarter of this year.  To me, the most interesting
  252. dot-zero-related items this quarter are the growing prominence of
  253. profiles, and the mention of dot zero's work in the PAR-approval-
  254. criteria passed by the SEC.
  255.  
  256. Al Hankinson, the chair, tells me that he thinks dot zero's biggest
  257. contribution has been popularizing profiles -- basically,
  258. application-area-specific lists of pointers to other standards.  This
  259. organizing principle has been adopted not only by the SEC (several of
  260. the POSIX groups are writing profiles), but by NIST (Al's from NIST)
  261. and ISO.  I suspect a lot of other important organizations will fall
  262. in line here.
  263.  
  264. Nestled among the other criteria for PAR approval, is a requirement
  265. that PAR proposers write a sample description of their group for the
  266. POSIX guide.  Someone questioned why proposers should have to do dot
  267. zero's job for them.  The explanation comes in two pieces.  First, dot
  268. zero doesn't have the resources to be an expert on everything, it has
  269. its hands full just trying to create an overall architecture.  Second,
  270. the proposers aren't supplying what will ultimately go into the POSIX
  271. guide, they're supplying a sample.  The act of drafting that sample
  272. will force each proposer to think hard about where the new group would
  273. fit in the grand scheme, right from the start.  This should help
  274. insure that the guide's architecture really does reflect the rest of
  275. the POSIX effort, and will increase the interest of the other groups
  276. in the details of the guide.
  277.  
  278. June, 1990 Standards Update                Recent Standards Activities
  279.  
  280.  
  281.                 - 3 -
  282.  
  283. 1003.1: System services interface
  284.  
  285. Dot one, the only group that has completed a standard, is in the
  286. throes of completing a second.  Not only has the IEEE updated the
  287. existing standard -- the new version will be IEEE 1003.1-1990 -- ISO
  288. appears on the verge of approving the new version as IS 9945-1.  The
  289. major sticking points currently seem limited to things like format and
  290. layout -- important in the bureaucratic world of international
  291. standards, but inconsequential to the average user.  Speaking of
  292. layout, one wonders whether the new edition and ISO versions will
  293. retain the yellow-green cover that has given the current document its
  294. common name -- the ugly green book.  (I've thought about soaking mine
  295. in Aqua Velva so it can smell like Green Chartreuse, too.)
  296.  
  297. The interesting issues in the group are raised by the dot-one-b work,
  298. which adds new functionality.  (Read Paul Rabin's snitch report for
  299. the gory details.) The thorniest problem is the messaging work.
  300. Messaging, here, means a mechanism for access to external text and is
  301. unrelated to msgget(), msgop(), msgctl(), or any other message-passing
  302. schemes.  The problem being addressed is how to move all printable
  303. strings out of our programs and into external ``message'' files so
  304. that we can change program output from, say, English to German by
  305. changing an environmental variable.  Other dot-one-b topics, like
  306. symbolic links, are interesting, but less pervasive.  This one will
  307. change the way you write any commercial product that outputs text --
  308.  anything that has printf() statements.
  309.  
  310. The group is in a quandary.  X/Open has a scheme that has gotten a
  311. little use.  We're not talking three or four years of shake-out, here,
  312. but enough use to lay a claim to the ``existing practice'' label.  On
  313. the other hand, it isn't a very pleasant scheme, and you'd have no
  314. problem coming up with candidate alternatives.  The UniForum
  315. Internationalization Technical Committee presented one at the April
  316. meeting.  It's rumored that X/Open itself may replace its current
  317. scheme with another.  So, what to do?  Changing to a new scheme
  318. ignores existing internationalized applications and codifies an
  319. untried approach.  Blessing the current X/Open scheme freezes
  320. evolution at this early stage and kills any motivation to develop an
  321. easy-to-use alternative.  Not providing any standard makes
  322. internationalized applications (in a couple of years this will mean
  323. any non-throw-away program) non-portable, and requires that we
  324. continue to have to make heavy source-code modifications on every
  325. port -- just what POSIX is supposed to help us get around.
  326.  
  327. To help you think about the problem, here's the way you'll have to
  328. write the "hello, world" koan using the X/OPEN interfaces:
  329.  
  330. June, 1990 Standards Update                Recent Standards Activities
  331.  
  332.  
  333.                 - 4 -
  334.  
  335.   #include <stdio.h>
  336.   #include <nl_types.h>
  337.   #include <locale.h>
  338.   main()
  339.   {
  340.           nl_catd catd;
  341.  
  342.           (void)setlocale(LC_ALL, "");
  343.           catd = catopen("hello", 0); /* error checking omitted for brevity */
  344.           printf(catgets(catd, 1, 1,"hello, world\n"));
  345.   }
  346.  
  347. and using the alternative, proposed UniForum interfaces:
  348.  
  349.   #include <stdio.h>
  350.   #include <locale.h>
  351.   main()
  352.   {
  353.           (void)setlocale(LC_ALL, "");
  354.           (void)textdomain("hello");
  355.           printf(gettext("hello, world\n"));
  356.   }
  357.  
  358. I suppose if I had my druthers, I'd like to see a standard interface
  359. that goes even farther than the UniForum proposal: one that adds a
  360. default message catalogue/group (perhaps based on the name of the
  361. program) and a standard, printf-family messaging function to hide the
  362. explicit gettext() call, so the program could look like this:
  363.  
  364.   #include <stdio.h>
  365.   #include <locale.h>
  366.   #define printf printmsg
  367.   main()
  368.   {
  369.           (void)setlocale(LC_ALL, ""); /* inescapable, required by ANSI C */
  370.           printf("hello, world\n");
  371.   }
  372.  
  373. but that would still be untested innovation.
  374.  
  375. The weather conditions in Colorado have made this a bonus year for
  376. moths.  Every morning, our bathroom has about forty moths in it.
  377. Stuck in our house, wanting desperately to get out, they fly toward
  378. the only light that they can see and beat themselves to death on the
  379. bathroom window.  I don't know what to tell them, either.
  380.  
  381. June, 1990 Standards Update                Recent Standards Activities
  382.  
  383.  
  384.                 - 5 -
  385.  
  386. 1003.2: Shell and utilities
  387.  
  388. Someone surprised me at the April meeting by asserting that 1003.2
  389. might be an important next target for the FORTRAN binding group.
  390. (``What does that mean?'' I asked stupidly.  ``A standard for a
  391. FORTRAN-shell?'') Perhaps you, like I, just think of dot two as
  392. language-independent utilities.  Yes and no.
  393.  
  394. First, 1003.2 has over a dozen function calls (e.g., getopt()).  I
  395. believe that most of these should be moved into 1003.1.  System() and
  396. popen(), which assume a shell, might be exceptions, but having
  397. sections of standards documents point at things outside their scope is
  398. not without precedent.  Section 8 of P1003.1-1988 is a section of C-
  399. language extensions, and P1003.5 will depend on the Ada standard.  Why
  400. shouldn't an optional section of dot one depend on dot two?  Perhaps
  401. ISO, already committed to re-grouping and re-numbering the standards,
  402. will fix this.  Perhaps not.  In the meantime, there are functions in
  403. dot two that need FORTRAN and Ada bindings.
  404.  
  405. Second, the current dot two standard specifies a C compiler.  Dot nine
  406. has already helped dot two name the FORTRAN compiler, and may want to
  407. help dot two add a FORTRAN equivalent of lint (which I've heard called
  408. ``flint'').  Dot five may want to provide analogous sorts of help
  409. (though Ada compilers probably already subsume much of lint's
  410. functionality).
  411.  
  412. Third, more subtle issues arise in providing a portable utilities
  413. environment for programmers in other languages.  Numerical libraries,
  414. like IMSL, are often kept as single, large source files with hundreds,
  415. or even thousands, of routines in a single .f file that compiles into
  416. a single .o file.  Traditional FORTRAN environments provide tools that
  417. allow updating or extraction of single subroutines or functions from
  418. such objects, analogous to the way ar can add or replace single
  419. objects in libraries.  Dot nine may want to provide such a facility in
  420. a FORTRAN binding to dot two.
  421.  
  422. Anyway, back to the working group.  They're preparing to go to ballot
  423. on the UPE (1003.2a, User Portability Extensions).  The mock ballot
  424. had pretty minimal return, with only ten balloters providing
  425. approximately 500 objections.  Ten isn't very many, but mock ballot
  426. for dot two classic only had twenty-three.  It seems that people won't
  427. vote until they're forced to.
  428.  
  429. The collection of utilities in 1003.2a is fairly reasonable, with only
  430. a few diversions from historic practice.  A big exception is ps(1),
  431. where historic practice is so heterogeneous that a complete redesign
  432. is possible.  Unfortunately, no strong logical thread links the
  433. 1003.2a commands together, so read the ballot with an eye toward
  434. commands that should be added or discarded.
  435.  
  436. June, 1990 Standards Update                Recent Standards Activities
  437.  
  438.  
  439.                 - 6 -
  440.  
  441. A few utilities have already disappeared since the last draft.  Pshar,
  442. an implementation of shar with a lot of bells and whistles, is gone.
  443.  
  444. Compress/uncompress poses an interesting problem.  Though the utility
  445. is based on clear-cut existing practice, the existing implementation
  446. uses an algorithm that is copyrighted.  Unless the author chooses to
  447. give the algorithm away (as Ritchie dedicated his set-uid patent to
  448. public use), the committee is faced with a hard choice:
  449.  
  450.    - They can specify only the user interface.  But the purpose of
  451.      these utilities is to ease the cost of file interchange.  What
  452.      good are they without a standard data-interchange format?
  453.  
  454.    - They can invent a new algorithm.  Does it make sense to use
  455.      something that isn't field-tested or consistent with the versions
  456.      already out there?  (One assumes that the existing version has
  457.      real advantages, otherwise, why would so many people use a
  458.      copyrighted version?)
  459.  
  460. Expect both the first real ballot of 1003.2a and recirculation of
  461. 1003.2 around July.  Note that the recirculation will only let you
  462. object to items changed since the last draft, for all the usual bad
  463. reasons.
  464.  
  465. 1003.3: Test methods
  466.  
  467. The first part of dot three's work is coming to real closure.  The
  468. last ballot failed, but my guess is that one will pass soon, perhaps
  469. as soon as the end of the year, and we will have a standard for
  470. testing conformance to IEEE 1003.1-1988.
  471.  
  472. That isn't to say that all is rosy in dot-one testing.  NIST's POSIX
  473. Conformance Test Suite (PCTS) still has plenty of problems:
  474. misinterpretations of dot one, simple timing test problems that cause
  475. tests to run well on 3b2's, but produce bad results on a 30 mips
  476. machine and even real bugs (attempts to read from a tty without first
  477. opening it).  POSIX dot one is far more complex than anything for
  478. which standard test suites have been developed to date.  The PCTS,
  479. with around 2600 tests and 150,000 lines of code, just reflects that
  480. complexity.  An update will be sent to the National Technical
  481. Information Service (NTIS -- also part of the Department Commerce, but
  482. not to be confused with NIST) around the end of September which fixes
  483. all known problems but, with a suite this large, others are likely to
  484. surface later.
  485.  
  486. By the way, NIST's dot one suite is a driver based on the System V
  487. Verification Suite (SVVS), plus individual tests developed at NIST.
  488. Work has begun on a suite of tests for 1003.2, based, for convenience,
  489. on a suite done originally for IBM by Mindcraft.  It isn't clear how
  490. quickly this work will go.  (For example, the suite can't gel until
  491. dot two does.) For the dot one work, NIST made good use of Research
  492.  
  493. June, 1990 Standards Update                Recent Standards Activities
  494.  
  495.  
  496.                 - 7 -
  497.  
  498. Associates -- people whose services were donated by their corporations
  499. during the test suite development.  Corporations gain an opportunity
  500. to collaborate with NIST and inside knowledge of the test suite.  I
  501. suspect Roger Martin may now be seeking Research Associates for dot
  502. two test suite development.  If you're interested in doing this kind
  503. of work, want to spend some time working in the Washington, D.C. area,
  504. and think your company would sponsor you, his email address is
  505. rmartin@swe.ncsl.nist.gov.
  506.  
  507. By the way, there are a variety of organizational and numbering
  508. changes happening in dot three.  See Doris Lebovits's snitch report
  509. for details.
  510.  
  511. The Steering Committee on Conformance Testing (SCCT) is the group to
  512. watch.  Though they've evolved out of the dot three effort, they
  513. operate at the TCOS level, and are about to change the way POSIX
  514. standards look.  In response to the ever-increasing burden placed on
  515. the testing committee, the SCCT is going to recommend that groups
  516. producing new standards include in those standards a list of test
  517. assertions to be used in testing them.
  518.  
  519. Groups that are almost done, like 1003.2, will be grandfathered in.
  520. But what should be done with a group like dot four -- not far enough
  521. along that it has something likely to pass soon, but far enough to
  522. make the addition of major components to its ballot a real problem.
  523. Should this case be treated like language independence?  If so,
  524. perhaps dot four will also be first in providing test assertions.
  525.  
  526. 1003.4: Real-time extensions
  527.  
  528. The base dot-four document has gone to ballot, and the ensuing process
  529. looks like it may be pretty bloody.  Fifty-seven percent of the group
  530. voted against the current version.  (One member speculated privately
  531. that this meant forty-three percent of the balloting group didn't read
  532. it.) Twenty-two percent of the group (nearly half of those voting
  533. against) subscribed to all or part of a common reference ballot, which
  534. would require that entire chapters of the document be completely
  535. reworked, replaced, or discarded.  Subscribers to this common
  536. reference ballot included employees of Unix International and the Open
  537. Software Foundation, of Carnegie-Mellon University and the University
  538. of California at Berkeley, and of Sun Microsystems and Hewlett-
  539. Packard.  (USENIX did not ballot similarly, but only because of lack
  540. of time.) Some of these organizations have never before agreed on the
  541. day of the week, let alone the semantics of system calls.  But then,
  542. isn't bringing the industry together one goal of POSIX?
  543.  
  544. Still, the document has not been returned to the working group by the
  545. technical editors, so we can assume they feel hopeful about resolving
  546. all the objections.  Some of this hope may come from the miracle of
  547. formality.  I've heard that over half of the common reference ballot
  548. could be declared non-responsive, which means that there's no
  549.  
  550. June, 1990 Standards Update                Recent Standards Activities
  551.  
  552.  
  553.                 - 8 -
  554.  
  555. obligation to address over half the concerns.
  556.  
  557. The threads work appears to enjoy a more positive consensus.  At least
  558. two interesting alternatives to the current proposal surfaced at the
  559. April meeting, but following a lot of discussion, the existing
  560. proposal stood largely unchanged.  I predict that the threads work
  561. which will go to ballot after the base, dot four document, will be
  562. approved before it.  John Gertwagen, dot four snitch and chair of
  563. UniForum's real-time technical committee, has bet me a beer that I'm
  564. wrong.
  565.  
  566. 1003.5: Ada bindings and 1003.9: FORTRAN-77 bindings
  567.  
  568. These groups are coming to the same place at the same time.  Both are
  569. going to ballot and seem likely to pass quickly.  In each case, the
  570. major focus is shifting from technical issues to the standards process
  571. and its rules: forming balloting groups, relations with ISO, future
  572. directions, and so on.
  573.  
  574. Here's your chance to do a good deed without much work.  Stop reading,
  575. call someone you know who would be interested in these standards, and
  576. give them the name of someone on the committee who can put them into
  577. the balloting group.  (If nothing else, point them at our snitches for
  578. this quarter: Jayne Baker cgb@d74sun.mitre.org, for dot five, and
  579. Michael Hannah mjhanna@sandia.gov, for dot nine.) They'll get both a
  580. chance to see the standard that's about to land on top of their work
  581. and a chance to object to anything that's slipped into the standard
  582. that doesn't make sense.  The more the merrier on this one, and they
  583. don't have to go to any committee meetings.  I've already called a
  584. couple of friends of mine at FORTRAN-oriented companies; both were
  585. pleased to hear about 1003.9, and eager to read and comment on the
  586. proposed standard.
  587.  
  588. Next up for both groups, after these standards pass, is negotiating
  589. the IEEE standard through the shoals of ISO, both getting and staying
  590. in sync with the various versions and updates of the base standard
  591. (1003.1a, 1003.1b, and 9945-1), and language bindings to other
  592. standards, like 1003.2 and 1003.4.  (See my earlier discussion of dot
  593. two.) Notice that they also have the burden of tracking their own
  594. language standards.  At least in the case of 1003.9, this probably
  595. means eventually having to think about a binding to X3J3 (Fortran 90).
  596.  
  597. 1003.6: Security
  598.  
  599. This group has filled the long-vacant post of technical editor, and,
  600. so, is finally back in the standards business.  In any organization
  601. whose ultimate product is to be a document, the technical editor is a
  602. key person.  [We pause here to allow readers to make some obligatory
  603. cheap shot about editors.] This is certainly the case in the POSIX
  604. groups, where the technical editors sometimes actually write large
  605. fractions of the final document, albeit under the direction of the
  606.  
  607. June, 1990 Standards Update                Recent Standards Activities
  608.  
  609.  
  610.                 - 9 -
  611.  
  612. working group.
  613.  
  614. I'm about to post the dot six snitch report, and don't want to give
  615. any of it away, but will note that it's strongly opinionated and
  616. challenges readers to find any non-DoD use for Mandatory Access
  617. Control, one of the half-dozen areas that they're standardizing.
  618.  
  619. 1003.7: System administration
  620.  
  621. This group has to solve two problems at different levels at the same
  622. time.  On the one hand, it's creating an object-oriented definition of
  623. system administration.  This high-level approach encapsulates the
  624. detailed implementation of objects interesting to the system
  625. administrator (user, file system, etc.), so that everyone can see them
  626. in the same way on a heterogeneous environment.  On the other hand,
  627. the protocol for sending messages to these objects must be specified
  628. in detail.  If it isn't, manufacturers won't be able to create
  629. interoperable systems.
  630.  
  631. The group as a whole continues to get complaints about its doing
  632. research-by-committee.  It's not even pretending to standardize
  633. existing practice.  I have mixed feelings about this, but am
  634. unreservedly nervous that some of the solutions being contemplated
  635. aren't even UNIX-like.  For example, the group has tentatively
  636. proposed the unusual syntax object action.  Command names will be
  637. names of objects, and the things to be done to them will be arguments.
  638. This bothers me (and others) for two reasons.  First, this confuses
  639. syntax with semantics.  You can have the message name first and still
  640. be object-oriented; look at C++.  Second, it reverses the traditional,
  641. UNIX verb-noun arrangement: mount filesystem becomes filesystem mount.
  642. This flies in the face of the few existing practices everyone agrees
  643. on.  I worry that these problems, and the resulting inconsistencies
  644. between system administration commands and other utilities, will
  645. confuse users.  I have a recurring nightmare of a long line of new
  646. employees outside my door, all come to complain that I've forgotten to
  647. mark one of my device objects, /dev/null, executable.
  648.  
  649. With no existing practice to provide a reality-check, the group faces
  650. an uphill struggle.  If you're an object-oriented maven with a yen to
  651. do something useful, take a look at what this group is doing, then
  652. implement some of it and see if it makes sense.  Look at it this way:
  653. by the time the standard becomes reality, you'll have a product, ready
  654. to ship.
  655.  
  656. 1003.10: Supercomputing
  657.  
  658. This group is working on things many of us us old-timers thought we
  659. had seen the last of: batch processing and checkpointing.  The
  660. supercomputing community, condemned forever to live on the edge of
  661. what computers can accomplish, is forced into the same approaches we
  662. used back when computer cycles were harder to come by than programmer
  663. cycles, and machines were less reliable than software.
  664.  
  665. June, 1990 Standards Update                Recent Standards Activities
  666.  
  667.  
  668.                 - 10 -
  669.  
  670. Supercomputers run programs that can't be run on less powerful
  671. computers because of their massive resource requirements
  672. (cpu/memory/io).  They need batch processing and checkpointing because
  673. many of them are so resource-intensive that they even run for a long
  674. time on supercomputers.  Nevertheless, the supercomputing community is
  675. not the only group that would benefit from standardization in these
  676. areas.  (See, for example, my comments on dot fourteen.) Even people
  677. who have (or wish to have) long-running jobs on workstations, share
  678. some of the same needs for batch processing and checkpointing.
  679.  
  680. Karen Sheaffer, the chair of dot ten, had no trouble quickly recasting
  681. the group's proposal for a batch PAR into a proposal that passed the
  682. SEC's PAR-approval criteria.  The group is modeling a batch proposal
  683. after existing practice, and things seem to be going smoothly.
  684.  
  685. Checkpointing, on the other hand, isn't faring as well.  People who
  686. program supercomputers need to have a way to snapshot jobs in a way
  687. that lets them restart the jobs at that point later.  Think, for
  688. example, of a job that needs to run for longer than a machine's mean-
  689. time-to-failure.  Or a job that runs for just a little longer than
  690. your grant money lasts.  There are existing, proprietary schemes in
  691. the supercomputing world, but none that's portable.  The consensus is
  692. that a portable mechanism would be useful and that support for
  693. checkpointing should be added to the dot one standard.  The group
  694. brought a proposal to dot one b, but it was rejected for reasons
  695. detailed in Paul Rabin's dot one report.  Indeed, the last I heard,
  696. dot-one folks were suggesting that dot ten propose interfaces that
  697. would be called from within the program to be checkpointed.  While
  698. this may seem to the dot-one folks like the most practical approach,
  699. it seems to me to be searching under the lamp-post for your keys
  700. because that's where the light's brightest.  Users need to be able to
  701. point to a job that's run longer than anticipated and say,
  702. ``Checkpoint this, please.'' Requiring source-code modification to
  703. accomplish this is not only unrealistic, it's un-UNIX-like.  (A
  704. helpful person looking over my shoulder has just pointed out that the
  705. lawyers have declared ``UNIX'' an adjective, and I should say
  706. something like ``un-UNIX-system-like'' instead.  He is, of course,
  707. correct.) Whatever the interface is, it simply must provide a way to
  708. let a user point at another process and say, ``Snapshot it,'' just as
  709. we can stop a running job with job control.
  710.  
  711. 1003.12: Protocol-independent interfaces
  712.  
  713. This group is still working on two separate interfaces to the network:
  714. Simple Network Interface (SNI) and Detailed Network Interface (DNI).
  715. The January meeting raised the possibility that the group would
  716. coalesce these into a single scheme, but that scheme seems not to have
  717. materialized.  DNI will provide a familiar socket- or XTI/TLI-like
  718. interface to networks, while SNI will provide a simpler, stdio-like
  719.  
  720. June, 1990 Standards Update                Recent Standards Activities
  721.  
  722.  
  723.                 - 11 -
  724.  
  725. interface for programs that don't need the level of control that DNI
  726. will provide.  The challenge of SNI is to make something that's simple
  727. but not so crippled that it's useless.  The challenge of DNI is to
  728. negotiate the fine line between the two competing, existing practices.
  729. The group has already decided not to use either sockets or XTI, and is
  730. looking at requirements for the replacement.  Our snitch, Andy
  731. Nicholson, challenged readers to find a reason not to make DNI
  732. endpoints POSIX file descriptors, but has seen no takers.
  733.  
  734. 1003.14: Multiprocessing
  735.  
  736. The multiprocessing group, which had been meeting as sort of an ad-hoc
  737. spin-off of the real-time group, was given PAR approval at the April
  738. meeting as 1003.16 but quickly renamed 1003.14 for administrative
  739. reasons.  They're currently going through the standard set of jobs
  740. that new groups have to accomplish, including figuring out what tasks
  741. need to be accomplished, whom to delegate them to, and how to attract
  742. enough working-group members to get everything done.  If you want to
  743. get in on the ground floor of the multiprocessing standard, come to
  744. Danvers and volunteer to do something.
  745.  
  746. One thing that needs to be done is liaison work with other committees,
  747. many of which are attacking problems that bear on multiprocessors as
  748. well.  One example is dot ten's checkpointing work, which I talked
  749. about earlier, Checkpointing is both of direct interest to dot
  750. fourteen, and is analogous to several other problems the group would
  751. like to address.  (A side-effect of the PAR proliferation problem
  752. mentioned earlier is that inter-group coordination efforts go up as
  753. the square of the number of groups.)
  754.  
  755. 1201: Windows, sort of
  756.  
  757. Okay, as a review, we went into the Utah meeting with one official
  758. group, 1201, and four unofficial groups preparing PARs:
  759.  
  760.   1.  1201.1: Application toolkit
  761.  
  762.   2.  1201.2: Recommended Practice for Driveability/User Portability
  763.  
  764.   3.  1201.3: User Interface Management Systems
  765.  
  766.   4.  1201.4: Xlib
  767.  
  768. By the end of the week, one PAR had been shot down (1201.3), one
  769. approved (1201.2), and two remained unsubmitted.
  770.  
  771. The 1201.4 par was deferred because the X consortium says Xlib is
  772. about to change enough that we don't want to standardize the existing
  773. version.  I'll ask, ``If it's still changing this fast, do we want to
  774. even standardize on the next version?'' The 1201.1 PAR was deferred
  775. because the group hasn't agreed on what it wants to do.  At the
  776.  
  777. June, 1990 Standards Update                Recent Standards Activities
  778.  
  779.  
  780.                 - 12 -
  781.  
  782. beginning of the week, the two major camps (OSF/Motif and OPEN LOOK)*
  783. had agreed to try to merge the two interfaces.  By mid-week, they
  784. wouldn't even sit at the same table.  That they'd struck off in an
  785. alternative, compromise direction by the end of the week speaks
  786. extremely highly of all involved.  What the group's looking at now is
  787. a toolkit at the level of XVT**: a layer over all of the current,
  788. competing technologies that would provide portability without
  789. invalidating any existing applications.  This seems like just the
  790. right approach.  (I have to say this because I suggested it in an
  791. editorial about six months ago.)
  792.  
  793. The 1201.3 PAR was rejected.  Actually, 1201 as a whole voted not to
  794. submit it, but the people working on it felt strongly enough that they
  795. submitted it anyway.  The SEC's consensus was that the field wasn't
  796. mature enough to warrant even a recommended practice, but the work
  797. should continue, perhaps as a UniForum Technical Committee.  The study
  798. group countered that it was important to set a standard before there
  799. were competing technologies, and that none of the attendees sponsoring
  800. companies would be willing to foot the bill for their work within
  801. anything but a standards body.  The arguments weren't persuasive.
  802.  
  803. The 1201.2 PAR, in contrast, sailed through.  What's interesting about
  804. this work is that it won't be an API standard.  A fair fraction of the
  805. committee members are human-factors people, and the person presenting
  806. the PAR convinced the SEC that there is now enough consensus in this
  807. area that a standard is appropriate.  I'm willing to believe this, but
  808. I think that stretching the net of the IEEE's Technical Committee on
  809. Operating Systems so wide that it takes in a human-factors standard
  810. for windowing systems is overreaching.
  811.  
  812. X3
  813.  
  814. There are other ANSI-accredited standards-sponsoring bodies in the
  815. U.S. besides the IEEE.  The best known in our field is the Computer
  816. Business Equipment Manufacturers' Association (CBEMA), which sponsors
  817. the X3 efforts, recently including X3J11, the ANSI-C standards
  818. committee.  X3J11's job has wound down; Doug Gwyn tells me that
  819. there's so little happening of general interest that it isn't worth a
  820. report.  Still, there's plenty going on in the X3 world.  One example
  821. is X3B11, which is developing a standard for file systems on optical
  822. disks.  Though this seems specialized, Andrew Hume suggests in his
  823.  
  824. __________
  825.  
  826.   * OSF/Motif is a Registered Trademark of the Open Software
  827.     Foundation.
  828.     OPEN LOOK is a Registered Trademark of AT&T.
  829.  
  830.  ** XVT is a trademark of XVT Software Inc.
  831.  
  832. June, 1990 Standards Update                Recent Standards Activities
  833.  
  834.  
  835.                 - 13 -
  836.  
  837. report that this work may eventually evolve into a standards effort
  838. for file systems on any read-write mass storage device.  See the dot-
  839. four common reference ballot for the kind of feelings new file-system
  840. standards bring out.
  841.  
  842. I encourage anyone out there on an X3 committee who thinks the
  843. committee could use more user exposure and input to file a report.
  844. For example, Doug Gwyn suggests that there is enough activity in the
  845. C++ standards world to merit a look.  If anyone out there wants to
  846. volunteer a report, I'd love to see it.
  847.  
  848. June, 1990 Standards Update                Recent Standards Activities
  849.  
  850. Volume-Number: Volume 20, Number 66
  851.  
  852. From jsq@tic.com  Thu Jul  5 20:32:28 1990
  853. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  854.     id AA13819; Thu, 5 Jul 90 20:32:28 -0400
  855. Posted-Date: 5 Jul 90 21:24:17 GMT
  856. Received: by cs.utexas.edu (5.64/1.68)
  857.     id AA19756; Thu, 5 Jul 90 19:32:24 -0500
  858. Received: by longway.tic.com (4.22/tic.1.2)
  859.     id AA05492; Thu, 5 Jul 90 19:18:46 cdt
  860. From: Jeffrey S. Haemer <jsh@usenix.org>
  861. Newsgroups: comp.std.unix
  862. Subject: correction (compression algorithm patents)
  863. Message-Id: <787@longway.TIC.COM>
  864. References: <387@usenix.ORG>
  865. Sender: std-unix@tic.com
  866. Reply-To: std-unix@uunet.uu.net
  867. Date: 5 Jul 90 21:24:17 GMT
  868. Apparently-To: std-unix-archive@uunet.uu.net
  869.  
  870. From:  jsh@usenix.org (Jeffrey S. Haemer)
  871.  
  872. Five people have now brought to my attention that my 
  873. recent editorial says the compress/uncompress algorithm is 
  874. copyrighted: Dave Grindelman, Guy Harris, Keith Bostic, Randall 
  875. Howard, and Hugh Redelmeier.  That's wrong.  It isn't 
  876. copyrighted, it's patented.  My apologies to anyone I mislead.  
  877.  
  878. Randall's note contains a lot of interesting details that it's worth posting
  879. and he's given me permission to post it.
  880. I've appended it.
  881.  
  882. Jeff
  883.  
  884. =====
  885. [From Randall Howard]
  886.  
  887.     Actually the problem is not that the compress algorithm is copyrighted
  888. but that it is PATENTED by Welch (the "W" in the LZW name of the algorithm).
  889. The patent is currently held by Unisys Corporation and they make money
  890. from licence fees on that patent because of the use of LZW encoding
  891. in the new high-speed modems.  Note that the Lempel-Ziv algorithm
  892. is apparently not patented, but just the Welch variant as is found in the
  893. UNIX compress utility.  Therefore, at the cost of inventing a new file
  894. compression standard, it would be possible to escape licence fees by
  895. using a different variant of LZ compression.
  896.  
  897.     [Editor: Keith Bostic says both are patented:
  898.     original Ziv-Lempel is patent number 4,464,650,
  899.     and the more powerful LZW method is #4,558,302.
  900.     He goes on to say, however, that LZW lacks adaptive table reset
  901.     and other features in compress, and so may not apply.]
  902.  
  903.     The implications of this are that no one may produce the same
  904. output as compress produces, regardless of the program that produced
  905. that output, without being subject to the patent.  I.e., it is independent
  906. of the actually coding used, unlike copyright.  Therefore, all of the PD
  907. versions of compress are currently in violation, as is BSD.
  908.  
  909.     Representatives of Unisys at the POSIX.2 meetings claimed that
  910. the Unisys Legal Department is pursuing the licensing of compress.  In fact,
  911. unlike copyright or trade secret protection, patent protection does not
  912. diminish because the holder of the patent is not diligent in seeking damages
  913. or preventing unauthorized use.  Witness the large royalty payout by
  914. Japanese semiconductor companies to Texas Instruments because they held
  915. the patent on the concept of something as fundamental as integrated circuits.
  916. This licence payout spans a period of over 20 years.  In addition,
  917. Unisys representatives claim that Phil Karn's PKZIP, which uses the
  918. LZW compression algorithm, is a licenced user of the Unisys patent and
  919. that a fee (rumoured to be somewhere in the $10,000 to $20,000 US range)
  920. has been paid up front in lieu of individual royalties.
  921.  
  922.     The ramifications for POSIX.2a are unclear.  Currently, there are members
  923. of the working group that say that they would object if a patented
  924. algorithm were required by the standard if ANY FEE WHATSOEVER (even if $1)
  925. were required to use it.  (There are, however, precedents for standards
  926. working in areas of patents in such areas as networking, modems, and
  927. hardware bus structures.  It appears that we software people have not
  928. "grown up" as much when it comes to issues of licensing.  Who has ever
  929. hear of "public domain hardware"?)  Some people suggested that Unisys
  930. should allow relatively free use of the patent but should profit from
  931. publicity rights from a citation in every POSIX.2a product manual that
  932. contains compress.  Therefore, there are currently negotiations underway
  933. to see what kind of "special deal" Unisys would be willing to cut for the
  934. use strictly in implementations of POSIX.2a.  Depending on the outcome
  935. of these negotiations, compress would either be dropped, re-engineered,
  936. or retained.
  937.  
  938. Volume-Number: Volume 20, Number 101
  939.  
  940. shar.overview.8174
  941. echo 1003.0
  942. cat >1003.0 <<'shar.1003.0.8174'
  943. From jsq@longway.tic.com  Sat May 19 15:44:08 1990
  944. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  945.     id AA28102; Sat, 19 May 90 15:44:08 -0400
  946. Posted-Date: 19 May 90 19:18:00 GMT
  947. Received: by cs.utexas.edu (5.61/1.62)
  948.     id AA06935; Sat, 19 May 90 14:44:04 -0500
  949. Received: by longway.tic.com (4.22/4.16)
  950.     id AA10960; Sat, 19 May 90 14:19:07 cdt
  951. From: <usenix.org!jsh@longway.tic.com>
  952. Newsgroups: comp.std.unix
  953. Subject: Standards Update, IEEE 1003.0: POSIX Guide
  954. Message-Id: <693@longway.TIC.COM>
  955. Sender: std-unix@longway.tic.com
  956. Reply-To: std-unix@uunet.uu.net
  957. Date: 19 May 90 19:18:00 GMT
  958. Apparently-To: std-unix-archive@uunet.uu.net
  959.  
  960. From: <jsh@usenix.org>
  961.  
  962.  
  963.            An Update on UNIX*-Related Standards Activities
  964.  
  965.                                May 1990
  966.  
  967.                  USENIX Standards Watchdog Committee
  968.  
  969.                    Jeffrey S. Haemer, Report Editor
  970.  
  971. IEEE 1003.0: POSIX Guide
  972.  
  973. Kevin Lewis <klewis@gucci.dco.dec.com> reports on the April 23-27
  974. meeting in Salt Lake City, UT:
  975.  
  976. Where we are
  977.  
  978. The Utah meeting of the IEEE 1003.0 working group marks the beginning
  979. of its third year.  Let's step back for a moment to review the past
  980. two.  We have gone from scratch to a 180-page document, whose content
  981. represents about 70% of the content goal that we set for our work two
  982. years ago.  (More on this in a moment.)
  983.  
  984. This effort represents the contributions of a core group of 15 to 18
  985. people.  In 1988, 14 vendor organizations and 16 user organizations
  986. were represented within the group.  Today, we have nine vendor
  987. organizations and 16 user organizations represented.  Of course, the
  988. only official, formal organizational representatives allowed within
  989. IEEE working groups are accredited, institutional representatives
  990. (currently Usenix, UniForum, X/Open, Unix International, and the Open
  991. Software Foundation each supply one to the POSIX effort), but that
  992. does not stop me from checking the sign-up sheet whenever a new face
  993. shows up, to see where he or she works.  For example, I think someone
  994. from the Univ. of Berkeley involved in BSD UNIX development has a
  995. vendor's perspective, while I place attendees from NIST and the Air
  996. Force in the user category because I believe they focus on the
  997. interests of their own end users.  Our stable, steady user
  998. representation is essential: our ultimate targets are users trying to
  999. walk through the POSIX maze.
  1000.  
  1001. The 70% completion of our initial content goal includes the
  1002. introduction of the ``profile'' concept, which has led to increased
  1003. activity within the IEEE TCOS Standards Subcommittee to create groups
  1004. to define profiles (which may be good or bad depending on your own
  1005. prism).  The concept of profiles is also part of the US's contribution
  1006. to the ISO community, made through its participation in the JTC1
  1007. Technical Study Group on Application Portability (JTAP), within which
  1008. the ``profiles'' concept has now garnered wide acceptance.
  1009.  
  1010. __________
  1011.  
  1012.   * UNIX is a registered trademark of AT&T in the U.S. and other
  1013.     countries.
  1014.  
  1015. May 1990 Standards Update                     IEEE 1003.0: POSIX Guide
  1016.  
  1017.  
  1018.                                 - 2 -
  1019.  
  1020. ``What is a profile?'' you ask.  Users seeking open system solutions
  1021. need to know what parts of the open system environment (OSE) address
  1022. their requirements.  If a user could reach into the full basket of OSE
  1023. parts and pull out only those he specifically needs, those selected
  1024. parts would be his application environment profile.  What he should do
  1025. if he needs something not in the basket?  Come to our next meeting
  1026. with a recommendation.  [Editor: Or drop Kevin a line, or post
  1027. something to comp.std.unix!]
  1028.  
  1029. Where we're going
  1030.  
  1031. Dot Zero still faces hard decisions in two areas:
  1032.  
  1033.   1.  the necessity or desirability of parts of our guide.  (Two parts
  1034.       that I very much think are candidates for this discussion are
  1035.       User Interface and Security)
  1036.  
  1037.   2.  The final bounds of the profile concept/definition.
  1038.  
  1039. The group's arguments in these areas are not frivolous, but if they
  1040. continue much longer, the resulting lack of movement will hurt our
  1041. overall effort.
  1042.  
  1043. I came out of this meeting feeling that everyone is committed to
  1044. getting over these hurdles soon (i.e., by the July meeting).  Our
  1045. chair, Al Hankinson, has also stated that we should target December,
  1046. 1990 for a mock ballot.  I wholeheartedly agree.  This will add the
  1047. impetus that we need.  Let's see if we have the self-discipline to get
  1048. there.
  1049.  
  1050. May 1990 Standards Update                     IEEE 1003.0: POSIX Guide
  1051.  
  1052. Volume-Number: Volume 20, Number 3
  1053.  
  1054. shar.1003.0.8174
  1055. echo 1003.1
  1056. cat >1003.1 <<'shar.1003.1.8174'
  1057. From uucp@tic.com  Thu Jun 28 18:15:17 1990
  1058. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  1059.     id AA24519; Thu, 28 Jun 90 18:15:17 -0400
  1060. Posted-Date: 28 Jun 90 18:34:23 GMT
  1061. Received: by cs.utexas.edu (5.64/1.65)
  1062.     id AA25755; Thu, 28 Jun 90 17:15:02 -0500
  1063. Received: by longway.tic.com (4.22/tic.1.2)
  1064.     id AA06579; Thu, 28 Jun 90 16:10:59 cdt
  1065. From: <jsh@usenix.org>
  1066. Newsgroups: comp.std.unix
  1067. Subject: Standards Update, IEEE 1003.1: System services interface
  1068. Message-Id: <385@usenix.ORG>
  1069. Sender: std-unix@usenix.ORG
  1070. Reply-To: std-unix@uunet.uu.net
  1071. Date: 28 Jun 90 18:34:23 GMT
  1072. Apparently-To: std-unix-archive@uunet.uu.net
  1073.  
  1074. From:  <jsh@usenix.org>
  1075.  
  1076.            An Update on UNIX*-Related Standards Activities
  1077.  
  1078.                               June, 1990
  1079.  
  1080.                  USENIX Standards Watchdog Committee
  1081.  
  1082.                    Jeffrey S. Haemer, Report Editor
  1083.  
  1084. IEEE 1003.1: System services interface
  1085.  
  1086. Paul Rabin <rabin@osf.org> reports on the April 23-27 meeting in Salt
  1087. Lake City, UT:
  1088.  
  1089. 1.  Introduction
  1090.  
  1091. The POSIX 1003.1 working group is the oldest POSIX group, responsible
  1092. for specifying general-purpose operating system interfaces for
  1093. portable applications.  This group developed the original 1988 POSIX
  1094. standard, and is now responsible for writing supplements and revisions
  1095. to that standard.  This work includes
  1096.  
  1097.    + corrections and clarifications to the 1988 POSIX standard
  1098.  
  1099.    + material that was too controversial to handle before
  1100.  
  1101.    + new interfaces requested by other POSIX working groups
  1102.  
  1103. Like other working groups developing ``base standards,'' the 1003.1
  1104. working group is responsible for writing both C language and
  1105. language-independent versions of the specifications that it develops.
  1106. So far, the group has concentrated on the C language versions, but
  1107. there is increasing pressure to make progress on the language-
  1108. independent specifications.
  1109.  
  1110. The working group recently completed a revision of the 1988 POSIX
  1111. standard, and is currently working on a supplement to that revision.
  1112.  
  1113. There has been a lot of turnover in the group since the 1988 POSIX
  1114. standard was completed, but there are still a few old-timers to
  1115. provide continuity.  About 15 people attended the last two meetings.
  1116. This seems to be a good size for getting work done.  This is
  1117. definitely a technical crowd; check your politics at the door.
  1118.  
  1119. For more information about the group and how to participate, contact
  1120. the chair, Donn Terry, at donn@hpfcla.fc.hp.com or hplabs!hpfcla!donn.
  1121.  
  1122. __________
  1123.  
  1124.   * UNIXTM is a Registered Trademark of UNIX System Laboratories in
  1125.     the United States and other countries.
  1126.  
  1127. June, 1990 Standards Update     IEEE 1003.1: System services interface
  1128.  
  1129.  
  1130.                 - 2 -
  1131.  
  1132. Send comments and proposals to the secretary, Keith Stuck, at
  1133. keith@sp7040.uucp.  I've made this report a bit more detailed than
  1134. usual in order to give the technical details wider exposure.  New
  1135. proposals, and comments on any of the current active proposals or
  1136. issues are welcome.
  1137.  
  1138. 2.  1003.1a Status
  1139.  
  1140. 1003.1a is the recently completed revision to the 1988 POSIX standard.
  1141. No new interfaces or features were introduced, but the text was
  1142. revised in several ways.  The main reason for the revision was to
  1143. prepare the text for balloting as an ISO standard, so the document had
  1144. to be made to look like an ISO standard.  This meant adding ISO
  1145. boiler-plate, changing external document references to pretend that
  1146. only standards exist, changing internal cross-references so that
  1147. chapters are renamed sections, and sections are renamed clauses and
  1148. subclauses, changing ``will'' to ``shall,'' etc., ad nauseam.  While
  1149. the working group was having fun with all that, they took the
  1150. opportunity to do some cleaning up.  They corrected errors, clarified
  1151. unclear language, and changed the function synopses to use ANSI C
  1152. prototypes.  The group did make one normative change, which was to
  1153. specify reserved namespaces.  This will allow implementations and
  1154. revisions to the standard to define extensions without breaking
  1155. existing, conforming applications.  It's messier than you might think.
  1156.  
  1157. After four recirculation ballots, IEEE balloting was completed in
  1158. April.  Now it has to get through the ISO balloting process.  See the
  1159. recent snitch report on 1003.5 for a description of how IEEE and ISO
  1160. balloting is synchronized, and what all of the acronyms mean.
  1161.  
  1162. ISO has been balloting 1003.1a as ISO/IEC DIS 9945-1.  After the first
  1163. ISO ballot, JTC1 approved 9945-1 for promotion to full IS status.
  1164. This approval was overruled by the ISO Central Secretariat on the
  1165. grounds that the document format was still not satisfactory (still
  1166. haven't caught all of those ``will''s).  Rather than publish the
  1167. current document and then immediately revise, ballot, and publish it
  1168. again, it was decided to create a new DIS and to start a second round
  1169. of ISO balloting.  This will cause a delay in the publication of the
  1170. international POSIX standard (and hence also the IEEE POSIX.1
  1171. standard).  The U.S. Technical Advisory Group (TAG) is responsible for
  1172. generating the U.S. ballot.  Assuming that no normative changes are
  1173. introduced by the ISO balloting process, the resulting document will
  1174. be published by IEEE as IEEE Std 1003.1-1990.
  1175.  
  1176. June, 1990 Standards Update     IEEE 1003.1: System services interface
  1177.  
  1178.  
  1179.                 - 3 -
  1180.  
  1181. 3.  1003.1b Status
  1182.  
  1183. Since 1003.1a is now out of IEEE's hands, the working group spent the
  1184. Utah meeting working on 1003.1b, the first supplement to 1003.1a.
  1185. This will include some corrections and clarifications that didn't make
  1186. it into 1003.1a, but will mainly consist of new interfaces and
  1187. features.
  1188.  
  1189. 1003.1b has been in the works for several meetings, so the draft
  1190. already contains a lot of material.  The first day was devoted to
  1191. revision of the draft, the rest of the week to considering new
  1192. proposals.  The previously announced schedule for 1003.1b specified
  1193. the Utah meeting as the cutoff date for new proposals.  Unfortunately,
  1194. some expected proposals were not received, and some that were received
  1195. were not ready for incorporation, so the cutoff was deferred until the
  1196. next meeting, in Danvers, Massachusetts.
  1197.  
  1198. Draft 2 of 1003.1b was distributed just before the meeting in Utah.
  1199. Draft 3 should be available before the Danvers meeting.  1003.1b is
  1200. expected to be approved sometime in early 1991, and to be published by
  1201. IEEE as a separate supplement to the IEEE Std 1003.1-1990.
  1202.  
  1203. 3.1  New Features in the Current Draft of 1003.1b
  1204.  
  1205. Draft 2 of P1003.1b includes a new data interchange format, and new
  1206. interface specifications for symbolic links, environment list access,
  1207. and file-tree walking.  These had been proposed and generally accepted
  1208. at previous meetings.  Many new issues were raised and discussed.
  1209.  
  1210. 3.1.1  Symbolic_Links  P1003.1b adds BSD symbolic links to the 1988
  1211. POSIX standard as a new required feature.  New interfaces for
  1212. symlink(), readlink(), and lstat() are specified, and the definition
  1213. of pathname resolution is amended to include the handling of symbolic
  1214. links.  Implementations may optionally enforce a limit on the number
  1215. of symbolic links that can be tolerated during the resolution of a
  1216. single pathname, for instance to detect loops.  The new symbol
  1217. {_POSIX_SYMLOOP} is defined to be the minimum value of such a limit.
  1218. A new error, [ELOOP], is returned if such a limit is exceeded.
  1219. Symbolic links that are encountered in pathname prefixes are always
  1220. resolved.  Symbolic links named by the final component of a pathname
  1221. will be resolved or not, depending on the particular interface.  By
  1222. default, such symbolic links will be resolved, unless specified
  1223. otherwise.  The interfaces that will not resolve symbolic links named
  1224. by pathname arguments are:
  1225.  
  1226.    + readlink()
  1227.      If the pathname argument names a symbolic link, the contents of
  1228.      the link will be returned.
  1229.  
  1230.    + lstat()
  1231.      If the pathname argument names a symbolic link, a stat structure
  1232.      will be returned for the link itself.
  1233.  
  1234. June, 1990 Standards Update     IEEE 1003.1: System services interface
  1235.  
  1236.  
  1237.                 - 4 -
  1238.  
  1239.    + unlink()
  1240.      If the pathname argument names a symbolic link, the link itself
  1241.      will be removed.
  1242.  
  1243.    + rmdir()
  1244.      If the pathname argument names a symbolic link, the link will not
  1245.      be followed and the call will fail.
  1246.  
  1247.    + open()
  1248.      Symbolic links are followed, unless both O_CREAT and O_EXCL are
  1249.      set.  If both O_CREAT and O_EXCL are set, and the pathname
  1250.      argument names an existing symbolic link, the link will not be
  1251.      followed and the call will fail.
  1252.  
  1253.    + link()
  1254.      If the new pathname names a symbolic link, the link will not be
  1255.      followed and the call will fail.  If the old pathname names a
  1256.      symbolic link, the link will be followed.  This is the BSD
  1257.      behavior.  SVR4.0 does not follow the link in this case, thus
  1258.      supporting hard links to symbolic links.  The working group felt
  1259.      that the SVR4 behavior unnecessarily restricts implementations
  1260.      (for instance, those that do not implement symbolic links with
  1261.      inodes), and has much more complex semantics.
  1262.  
  1263.    + rename()
  1264.      If the old pathname names a symbolic link, the link will not be
  1265.      followed.  Instead, the symbolic link itself will be renamed.  If
  1266.      the new pathname names a symbolic link, it will not be followed.
  1267.      Instead, the symbolic link will be removed, and a new hard link
  1268.      will be created naming the file that was previously named by the
  1269.      old pathname.
  1270.  
  1271.      The 1988 POSIX standard specifies that if the new pathname names
  1272.      an existing file, rename() will fail if the new and old pathnames
  1273.      do not either both name directories or both name non-directory
  1274.      files.  This rule needs to be expanded to include the case of the
  1275.      new pathname naming a symbolic link.  Should the rename() call
  1276.      fail depending on whether or not the symbolic link named by the
  1277.      new pathname itself names a directory or a non-directory file?
  1278.      This will be resolved at the next meeting.
  1279.  
  1280. Symbolic links are not required to have any attributes other than
  1281. their file type and their contents.  This is intended to provide the
  1282. simplest semantics and to allow the greatest latitude for
  1283. implementations.
  1284.  
  1285. 3.1.2  Other_BSD_Interfaces  P1003.1b also includes specifications for
  1286. the following interfaces:
  1287.  
  1288. June, 1990 Standards Update     IEEE 1003.1: System services interface
  1289.  
  1290.  
  1291.                 - 5 -
  1292.  
  1293.    + fchmod()
  1294.  
  1295.    + fchown()
  1296.  
  1297.    + fsync()
  1298.  
  1299.    + ftruncate()
  1300.  
  1301. 3.1.3  Environment_List  The ANSI-C standard defines the getenv()
  1302. function to retrieve the value corresponding to a given name in a
  1303. program's environment list, but does not specify the implementation or
  1304. initialization of that list.  The 1988 POSIX standard specified the
  1305. traditional list implementation using the external variable environ,
  1306. and specified the initialization of the list by the exec functions.
  1307. In an attempt to extend the set of high-level interfaces to the
  1308. environment list, and to pave the way for the possible eventual
  1309. removal of environ, the working group has included putenv() and
  1310. clearenv() interfaces in 1003.1b.  Three problems have been identified
  1311. with these high-level interfaces:
  1312.  
  1313.    + They cause static data to be shared between the application and
  1314.      the implementation.  Neither the application nor the
  1315.      implementation can easily manage the storage for environment
  1316.      "name=value" strings.
  1317.  
  1318.    + They are not robust.  The interactions between the high-level
  1319.      interfaces and access via environ is not specified.
  1320.  
  1321.    + They can't be easily extended to handle multiple lists.  There is
  1322.      no way to copy a list, or to build a new list for execle() or
  1323.      execve().
  1324.  
  1325. The putenv() and clearenv() interfaces may be removed from 1003.1b at
  1326. the next meeting if a revised proposal does not appear.
  1327.  
  1328. 3.1.4  File_Tree_Walk  The 1003.1 working group promised the 1003.2
  1329. group (Shell and Utilities) that a mechanism would be provided for
  1330. walking an directory tree of unbounded depth using any given (non-
  1331. zero) number of free file descriptors.  The Berkeley folks have
  1332. implemented a set of high-level interfaces defined by David Korn of
  1333. Bell Labs, and proposed them for inclusion in 1003.1b.  These
  1334. interfaces support every option and search order required by the
  1335. 1003.2 commands.  The 1003.1 group wants a simpler interface suitable
  1336. for typical application programs, so Keith Bostic will put the
  1337. proposal on a ``weight-reducing diet'' and resubmit it for the next
  1338. draft.
  1339.  
  1340. The high-level file-tree walk interfaces can be implemented using only
  1341. the existing 1003.1 interfaces.  Since 1003.1 does not define a
  1342. portable way to save and restore file position for a directory and
  1343. cannot hold a file descriptor open for each directory level, the
  1344.  
  1345. June, 1990 Standards Update     IEEE 1003.1: System services interface
  1346.  
  1347.  
  1348.                 - 6 -
  1349.  
  1350. implementation must read and save all directory entries each time a
  1351. new directory is visited.  This requires only a single file descriptor
  1352. (or whatever resource is used by by opendir()).  If the underlying
  1353. system does provide a way to save and restore file position for
  1354. directories, the file-tree walk implementation can use it to reduce
  1355. memory consumption.
  1356.  
  1357. There was a discussion about whether it is possible (and preferable)
  1358. to improve the low-level directory interfaces instead of adding new,
  1359. high-level interfaces.  Do the high-level interfaces really add new
  1360. functionality for portable applications?  Do they belong with the
  1361. low-level operating system interfaces specified in 1003.1?
  1362.  
  1363. Walking an unbounded file tree requires an unbounded number of
  1364. directory file positions to be supported using a bounded number of
  1365. file descriptors.  Either seekdir() and telldir() are needed, or an
  1366. unbounded number of opendir()'s must use a bounded number of file
  1367. descriptors.  The working group has already rejected seekdir() and
  1368. telldir() because they cannot easily be supported on implementations
  1369. that use a non-linear directory format.  A prohibition of simple
  1370. implementations of opendir() using file descriptors is also likely to
  1371. be rejected.
  1372.  
  1373. The underlying problem is that the orderedness of directory entries
  1374. was implicit in the traditional implementations, but was not made
  1375. fully explicit in 1003.1, partly out of a desire to permit alternate
  1376. implementations (for instance, b-trees).  As a result, orderedness
  1377. must now be imposed by the application.  On a non-linear directory
  1378. implementation, if positioning is not supported, even opendir() must
  1379. read in the whole directory.
  1380.  
  1381. 3.1.5  Data-Interchange_Format  The 1988 POSIX standard specified two
  1382. data-interchange formats based on existing utilities.  These define
  1383. the data-stream encoding of a sequence of files, together with their
  1384. pathnames and other attributes.  The first format is based on tar and
  1385. encodes files as a stream of 512-byte blocks.  The second format is
  1386. based on cpio and encodes files as an unblocked byte stream.
  1387.  
  1388. The ISO POSIX group (JTC1/SC22/WG15) pointed out that both of these
  1389. formats are incompatible with accepted international and U.S.
  1390. standards.  After some arm twisting, the 1003.1 working group agreed
  1391. to devise a new data interchange format based on IS 1001: 1986, which
  1392. is more or less equivalent to ANS X3.27-1987, the familiar ANSI
  1393. labeled tape format.
  1394.  
  1395. The current draft of 1003.1b includes the framework for the new
  1396. specification, but a lot more work is needed.  Previous meetings
  1397. discussed alternate proposals.  The topic has been strangely quiet
  1398. lately, considering the confusion that may be expected when it goes to
  1399. ballot.  It wasn't discussed at the Utah meeting at all.
  1400.  
  1401. June, 1990 Standards Update     IEEE 1003.1: System services interface
  1402.  
  1403.  
  1404.                 - 7 -
  1405.  
  1406. 3.2  {_POSIX_PATH_MAX}: A Clarification
  1407.  
  1408. The 1988 POSIX standard included two conflicting statements regarding
  1409. {PATH_MAX} and {_POSIX_PATH_MAX}: one said that the null was included
  1410. in the count; the other said that the null was excluded.  Traditional
  1411. implementations have included the trailing null; some new
  1412. implementations have excluded the null.
  1413.  
  1414. One alternative or the other had to be endorsed.  The working group
  1415. decided that {_POSIX_PATH_MAX} should not include the trailing null,
  1416. since specifying this will not break currently conforming
  1417. applications.
  1418.  
  1419. 3.3  Headers and Name-Space Control
  1420.  
  1421. Since 1003.1b is adding many new identifiers to the standard, there
  1422. was discussion about whether new identifiers should be declared in new
  1423. headers, or whether existing headers could be used, with new feature-
  1424. test-macros to control visibility of the additional identifiers.  It
  1425. was agreed that although both headers and feature-test macros control
  1426. identifier visibility, their functions are complementary.  Headers are
  1427. appropriately used to divide name-spaces horizontally, by
  1428. functionality.  Feature-test macros are appropriately used to divide
  1429. name-spaces vertically, by specification level.
  1430.  
  1431. With this understanding, the group decided that new identifiers will
  1432. be declared in the ``right place.'' A new header will be created only
  1433. if no existing header is functionally appropriate.
  1434.  
  1435. A new feature-test macro will be specified by 1003.1b and subsequent
  1436. revisions: _POSIX_1_SOURCE.  This macro takes ordinal values, starting
  1437. with 2 for 1003.1b, and will be incremented by 1 for every subsequent
  1438. revision.  If the value is 1, the effect will be the same as if
  1439. _POSIX_SOURCE were defined.
  1440.  
  1441. There are two changes here.  The new name was used to indicate that
  1442. the macro only controls the visibility of identifiers defined in
  1443. POSIX.1.  The usage was changed to allow the value to indicate the
  1444. particular revision or supplement to the standard, rather than having
  1445. to create a new macro each time.  This should simplify the
  1446. construction and maintenance of header files.
  1447.  
  1448. 3.4  Requests
  1449.  
  1450. Two requests were made by vendors trying to support POSIX behavior on
  1451. non-UNIX file systems:
  1452.  
  1453.    + that {_POSIX_LINK_MAX} be reduced from 6 to 2
  1454.  
  1455.    + that {_POSIX_PATH_MAX} be reduced from 255 to 252
  1456.  
  1457. June, 1990 Standards Update     IEEE 1003.1: System services interface
  1458.  
  1459.  
  1460.                 - 8 -
  1461.  
  1462. Both requests were rejected.  Either of these changes could have made
  1463. existing conforming applications non-conforming.  Even where the risk
  1464. of breaking applications seemed small, the working group was reluctant
  1465. to set a precedent without a pretty good rationale to protect them
  1466. against similar requests in the future.
  1467.  
  1468. 3.5  New Proposals
  1469.  
  1470. Five proposals for new interfaces were submitted for inclusion in
  1471. 1003.1b, many of which provoked lively discussion.  Some were
  1472. accepted, some were rejected, and others were deferred to allow a
  1473. revised proposal to be submitted or to allow more time for
  1474. consideration.
  1475.  
  1476. 3.5.1  seteuid(),_setegid()  Bob Lenk and Mike Karels proposed a set
  1477. of changes to the way the effective user and group id's are handled,
  1478. in order to provide better support for setuid/setgid programs.
  1479.  
  1480.    + Require that all implementations support the functionality of the
  1481.      saved user ID and saved group ID.  These process attributes are
  1482.      set by the exec functions and by privileged calls to setuid() and
  1483.      setgid().
  1484.  
  1485.    + Add seteuid() and setegid() as new functions that change only the
  1486.      effective user ID and effective group ID, respectively.  A change
  1487.      is allowed if the proposed new user/group ID is the same as
  1488.      either the real user/group ID or the saved user/group ID.
  1489.  
  1490.    + Redefine the {_POSIX_SAVED_IDS} option to apply only to non-
  1491.      privileged calls to setuid() and setgid().
  1492.  
  1493. This proposal has general support in the working group, and will be
  1494. included in the next draft of 1003.1b.
  1495.  
  1496. The discussion of this proposal led to a general lament about how
  1497. unclear the group model is in the 1988 POSIX standard, perhaps the
  1498. result of a hasty marriage between the System V and BSD models.  At
  1499. the next meeting, the working group intends to add new text to
  1500. P1003.1b to clarify the relation between the effective group ID and
  1501. the supplementary group list.
  1502.  
  1503. 3.5.2  Magnetic_Tape_Support  The 1003.10 working group
  1504. (Supercomputing Profiles) proposed new interfaces to support basic
  1505. controller functions for magnetic tape drives, based on the ioctl()
  1506. commands supported in 4.3BSD.  Although support for these interfaces
  1507. would be optional in 1003.1b, the working group decided that the
  1508. functions should be further specified according to whether they are:
  1509.  
  1510.    + required for all types of tape drives;
  1511.  
  1512. June, 1990 Standards Update     IEEE 1003.1: System services interface
  1513.  
  1514.  
  1515.                 - 9 -
  1516.  
  1517.    + required only for 9-track tape drives;
  1518.  
  1519.    + required only for cartridge tape drives; or
  1520.  
  1521.    + optional on all types of tape drives.
  1522.  
  1523. The proposal needed further revision, but was generally supported by
  1524. the working group.
  1525.  
  1526. The submitted proposal also included interfaces for mounting labeled
  1527. tape volumes.  These were considered to be inappropriate for inclusion
  1528. at this time and will be deferred until a later revision of the
  1529. standard.
  1530.  
  1531. 3.5.3  Checkpoint/Restart  The 1003.10 working group also proposed new
  1532. (optional) interfaces for checkpointing and restarting processes.
  1533. This proposal is based on two existing implementations.  The
  1534. interfaces are intended to protect very-long-running applications from
  1535. both scheduled shutdowns and unexpected failures of the system.
  1536.  
  1537. The 1003.1 working group was not happy to have to deal with this and
  1538. had lots of questions.  Were programming interfaces for portable
  1539. applications really needed, or was a command interface sufficient?
  1540. How much state needed to be saved in the checkpoint?  What if the
  1541. processes depended on additional state information that was not in the
  1542. checkpoint, such as file data or the states of other communicating
  1543. processes or devices?  In this case, the restart would only be
  1544. successful if this additional state had not changed since the
  1545. checkpoint.  How could such changes be detected or prevented?  What is
  1546. the set of interfaces that an application can use and be sure that it
  1547. can be checkpointed and restarted successfully, without dependencies
  1548. on additional state?  Should applications have a mechanism for
  1549. checkpointing themselves, or for blocking an external request that
  1550. they be checkpointed?
  1551.  
  1552. Because a checkpoint/restart mechanism will have a major impact on
  1553. implementations, and the requirements are not yet clear, the working
  1554. group was unwilling to endorse the current proposal.  A task force
  1555. made up of representatives of the 1003.1 and 1003.10 working groups
  1556. will be created to clarify the requirements and revise the proposal.
  1557.  
  1558. This proposal is going to need a lot more discussion, so checkpoint
  1559. restart interfaces will almost certainly not be included in P1003.1b,
  1560. but they may be adopted in a subsequent revision.
  1561.  
  1562. 3.5.4  Messaging  The UniForum proposal for new messaging interfaces
  1563. has been before the 1003.1 working group for a couple of meetings now.
  1564. The proposed interfaces are intended as replacements for the message
  1565. catalog interfaces specified in XPG3, and differ from those in several
  1566. ways (since the discussion was fairly contentious, I'll try to be
  1567. objective):
  1568.  
  1569. June, 1990 Standards Update     IEEE 1003.1: System services interface
  1570.  
  1571.  
  1572.                 - 10 -
  1573.  
  1574.    + The XPG3 interfaces identify a message by the triple: <catalog
  1575.      name, set ID, msg ID>, where catalog name is a file name, and set
  1576.      ID and msg ID are integers.  The UniForum interfaces identify a
  1577.      message by the triple: <locale name, domain name, message name>,
  1578.      where locale name, domain name, and message name are all strings.
  1579.      The locale for messages is specified by the new LC_MESSAGES
  1580.      category of the locale.  Advocates of the UniForum proposal claim
  1581.      that string identifiers are easier to use and are more robust
  1582.      against errors during application development and maintenance.
  1583.  
  1584.    + In the XPG3 scheme, each message catalog is an ordinary file.
  1585.      Message catalogs must be specified by filename and explicitly
  1586.      opened before messages can be retrieved.  The NLSPATH environment
  1587.      variable provides a search path for message catalogs that can be
  1588.      parameterized by (among other things) the language, territory,
  1589.      and codeset fields of the LANG environment variable.  In the
  1590.      UniForum scheme, groups of messages are specified by an abstract
  1591.      ``domain.'' A default domain can be set to control message
  1592.      accesses, or the domain can be explicitly specified for an
  1593.      individual message access.  Advocates of the UniForum proposal
  1594.      claim that the binding of message catalogs to files unnecessarily
  1595.      restricts implementations and imposes a more complex interface on
  1596.      application developers.
  1597.  
  1598.    + The XPG3 interface includes an additional string argument that is
  1599.      returned in case no message specified by <set ID, msg ID> can be
  1600.      retrieved from the message catalog.  In the UniForum proposal,
  1601.      the message name itself is returned if the message cannot be
  1602.      found.  Advocates of the UniForum proposal point out that the
  1603.      message name string makes a separate, ``default'' message string
  1604.      unnecessary.
  1605.  
  1606. In addition, the UniForum proposal includes a specification of the
  1607. message source file format that differs from the format specified in
  1608. XPG3.
  1609.  
  1610.    + In the XPG3 format, message strings are implicitly delimited: at
  1611.      the beginning by the preceding message ID followed by a single
  1612.      space or tab character, and at the end by an unescaped newline.
  1613.      In the UniForum format, all strings, including domain names,
  1614.      message ID's, and message strings, are explicitly delimited by
  1615.      double quotes (").  Adjacent strings separated by white-space
  1616.      characters are concatenated.  Advocates of the UniForum proposal
  1617.      claim that the new format provides better support for multi-line
  1618.      strings and for leading and trailing white-space characters in
  1619.      strings.
  1620.  
  1621.    + In the XPG3 format, the message ID and its corresponding message
  1622.      string are implicitly determined by their position on a source
  1623.      line.  In the UniForum format, explicit directives are provided
  1624.      for message ID's and message strings.  Advocates of the UniForum
  1625.  
  1626. June, 1990 Standards Update     IEEE 1003.1: System services interface
  1627.  
  1628.  
  1629.                 - 11 -
  1630.  
  1631.      proposal claim that the new format is extensible.  New attributes
  1632.      may be added to message entries, such as screen coordinates or
  1633.      font size.
  1634.  
  1635.    + The XPG3 format includes directives for deleting individual
  1636.      messages and sets of messages, and the associated gencat utility
  1637.      takes no switches.  In the UniForum proposal, all deletion
  1638.      semantics are provided by switches on the associated gentext
  1639.      utility.
  1640.  
  1641. There was much discussion of the interfaces; less about the source
  1642. file format.  The most divisive issue was whether string message ID's
  1643. are preferable to numeric message ID's.  Among those who felt that the
  1644. new interfaces are better, there was disagreement about whether the
  1645. advantages outweighed the cost of conversion for applications and
  1646. implementations based on the XPG3 interfaces.  The rationale
  1647. accompanying the UniForum proposal described several ways to convert
  1648. applications from the XPG3 interfaces to the proposed new interfaces.
  1649.  
  1650. The working group asked X/Open to submit the XPG3 messaging interfaces
  1651. as an alternate proposal, since they represent existing practice, and
  1652. X/Open has agreed to do so.  X/Open has said that they will follow
  1653. POSIX if POSIX endorses a different interface.  The decision regarding
  1654. which, if any, messaging proposal to include in 1003.1b will be made
  1655. at the POSIX meeting in Danvers.
  1656.  
  1657. It's hard to predict the fate of this proposal.  The UniForum proposal
  1658. represents the consensus of one of the leading internationalization
  1659. working groups and is reported to have some support within X/Open.  On
  1660. the other hand, the POSIX working groups are obliged to respect
  1661. existing practice.  Watch this space.
  1662.  
  1663. 3.5.5  /dev/stdin,_/dev/fd/n,_etc.  There was an unofficial proposal
  1664. from members of the 1003.2 working group that open() be extended to
  1665. recognize the special strings "/dev/stdin", "/dev/stdout",
  1666. "/dev/stderr", and "/dev/fd/n", and return a new file descriptor
  1667. dup()'ed from STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO, or file
  1668. descriptor n, respectively.  This proposal was intended to allow
  1669. simplified command line parsing, by eliminating special casing for
  1670. ``-'' and ``--'' arguments.  The proposal was rejected after a short
  1671. exploration of the possible semantics of these pathnames when used
  1672. with link(), rename(), etc..
  1673.  
  1674. 4.  Conclusion
  1675.  
  1676. As you can see, there's a lot going on.  Even though most of the
  1677. attention has shifted to other working groups, the 1003.1 group is
  1678. busy revising and extending the 1988 standard.  The group is small
  1679. now, by POSIX standards, but their work is as important as ever.
  1680.  
  1681. June, 1990 Standards Update     IEEE 1003.1: System services interface
  1682.  
  1683. Volume-Number: Volume 20, Number 56
  1684.  
  1685. shar.1003.1.8174
  1686. echo 1003.12
  1687. cat >1003.12 <<'shar.1003.12.8174'
  1688. From uucp@tic.com  Thu Jun 21 18:02:12 1990
  1689. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  1690.     id AA26630; Thu, 21 Jun 90 18:02:12 -0400
  1691. Posted-Date: 21 Jun 90 19:47:14 GMT
  1692. Received: by cs.utexas.edu (5.64/1.63)
  1693.     id AA11445; Thu, 21 Jun 90 17:02:06 -0500
  1694. Received: by longway.tic.com (4.22/tic.1.2)
  1695.     id AA18884; Thu, 21 Jun 90 16:36:44 cdt
  1696. From: <jsh@usenix.org>
  1697. Newsgroups: comp.std.unix
  1698. Subject: Standards Update, IEEE 1003.12: PII
  1699. Message-Id: <375@usenix.ORG>
  1700. Sender: std-unix@usenix.ORG
  1701. Reply-To: std-unix@uunet.uu.net
  1702. Date: 21 Jun 90 19:47:14 GMT
  1703. Apparently-To: std-unix-archive@uunet.uu.net
  1704.  
  1705. From:  <jsh@usenix.org>
  1706.  
  1707.  
  1708.            An Update on UNIX*-Related Standards Activities
  1709.  
  1710.                                May 1990
  1711.  
  1712.                  USENIX Standards Watchdog Committee
  1713.  
  1714.                    Jeffrey S. Haemer, Report Editor
  1715.  
  1716. IEEE 1003.12: PII
  1717.  
  1718. Andy Nicholson <droid@earth.cray.com> reports on the April 23-27
  1719. meeting in Salt Lake City, UT:
  1720.  
  1721. Introduction
  1722.  
  1723. For starters, we've had some significant turnover.  [Editor:
  1724. Including, you'll note, Steve Head, our former, fine dot 12 snitch.
  1725. Thanks for diving in, Andy.] We are now down to five participants who
  1726. were present a year ago, are on our third AT&T representative, and an
  1727. HP representative has permanently left the working group.  Despite all
  1728. this, the group is beginning to make rapid advances on both the
  1729. Simplified (SNI) and Detailed (DNI) network interfaces.  This
  1730. meeting's progress is sketched below.
  1731.  
  1732. Overview of the Work We're Doing
  1733.  
  1734. The dot 12 committee is working on three projects: Simplified Network
  1735. interface (SNI), Detailed Network Interface (DNI), and Data
  1736. Representation Interface (DRI).  Work on DRI is being delayed until
  1737. SNI and DNI are well along.  DNI is a protocol-independent interface
  1738. to network services that allows access to protocol-dependent features
  1739. in a protocol-independent manner.  DNI is meant to provide a complete
  1740. interface to everything you might expect to be able to do with
  1741. networking services.  DNI is comparable to Berkeley Sockets or AT&T's
  1742. TLI, and we plan that anything that can be accomplished with those
  1743. interfaces will be subsumed by DNI.
  1744.  
  1745. The idea behind SNI is that many applications will not require
  1746. ``detailed'' access to networking services.  SNI gives a ``stdio''
  1747. type of interface for networking that combines common groupings of
  1748. procedures, eliminates access protocol-dependent features, and is just
  1749. plain easier to use.  Applications that use SNI aren't necessarily
  1750. simple, they just don't need DNI's detailed access to networking
  1751. services.
  1752.  
  1753. __________
  1754.  
  1755.   * UNIX is a registered trademark of AT&T in the U.S. and other
  1756.     countries.
  1757.  
  1758. May 1990 Standards Update                            IEEE 1003.12: PII
  1759.  
  1760.                 - 2 -
  1761.  
  1762. Simple Network Interface
  1763.  
  1764. We started the week discussing the SNI interface.  Norm Smith, from
  1765. Unisys, had intended to bring an alternate SNI proposal to this
  1766. meeting, but his group at Unisys decided to work with the current one.
  1767. Irene Hu, from DEC, says she may yet offer an alternate proposal.
  1768.  
  1769. I presented a paper, prepared from previous minutes, which gathered up
  1770. some deferred issues relating to SNI and we resolved some of them.
  1771. For example, we added some explicit goals for SNI that everyone seemed
  1772. to have accepted implicitly, but were never made official.
  1773.  
  1774. We also considered creating a formal definition of SNI functionality,
  1775. to help us determine whether any particular function should be
  1776. included, but decided it would be more efficient to keep deliberating
  1777. each case individually.  We'll record the rationale for each as part
  1778. of the standard document to help us avoid and respond to ballot
  1779. objections.
  1780.  
  1781.    + SNI functionality
  1782.      A paper by Tim Kirby (who works with me at Cray Research)
  1783.      prompted the group to redefine a function call.  Sni_recv(), was
  1784.      defined to discard excess data in a datagram when the buffer
  1785.      offered by an application isn't large enough.  The new version of
  1786.      Sni_recv(), allows an application either to discard excess data
  1787.      or to perform multiple sni_recv() calls to read it all.  It also
  1788.      allows applications to discard datagrams without reading them at
  1789.      all.  Here, I think the group has noticeably extended the power
  1790.      of the interface without sacrificing efficiency.
  1791.  
  1792.    + Kernel objects
  1793.      Because SNI endpoints may not be kernel objects, we need to
  1794.      define semantics and interfaces that will allow SNI endpoints to
  1795.      survive exec().  Unfortunately, we disagree on the semantics of
  1796.      the endpoint-preservation procedures.  Should multiple copies of
  1797.      the same endpoint exist in different processes' address spaces,
  1798.      as happens with fork() and exec()?  Implementing the protocol
  1799.      stack in a user library creates multiple copies of state
  1800.      information for the same endpoint, and it may be impossible to
  1801.      keep them synchronized.
  1802.  
  1803.      Some of us (Keith Sklower, from Berkeley, the author of the SNI
  1804.      document, and I) want to restrict endpoint semantics so that only
  1805.      one process may have a copy of an SNI endpoint; others (Irene and
  1806.      Norm) disagree and wish to allow multiple copies of SNI endpoints
  1807.      where the programmer wishes.
  1808.  
  1809. May 1990 Standards Update                            IEEE 1003.12: PII
  1810.  
  1811.                 - 3 -
  1812.  
  1813. Detailed Network Interface
  1814.  
  1815. We discussed DNI procedures in detail for the first time and found
  1816. tentative agreement on most of the many issues raised.  Mike Karels,
  1817. from Berkeley's Computer Science Research Group, presented an outline
  1818. of required functionality.  After discussing it, we agreed to make DNI
  1819. endpoints POSIX file descriptors (as returned by open()) until we see
  1820. a compelling counter-argument.  I'll challenge you to offer one.
  1821.  
  1822. On Wednesday, Irene gave an overview of XTI.  During the presentation,
  1823. Torez Hiley, our new attendee from ATT, told us that XTI is being
  1824. revised: input from vendors using the Berkeley socket interface is
  1825. prompting the addition of many features.  Torez will report on the
  1826. upcoming revision at the July meeting.  Where sockets and XTI/TLI
  1827. differ, the best solution is not clear.  Moreover, some features are
  1828. absent or inadequately supported in both interfaces.  Here, we have a
  1829. lot of work to do and are just getting started.  We're eager to hear
  1830. whether the new XTI solves any of our problems.
  1831.  
  1832. May 1990 Standards Update                            IEEE 1003.12: PII
  1833.  
  1834.  
  1835. Volume-Number: Volume 20, Number 32
  1836.  
  1837. shar.1003.12.8174
  1838. echo 1003.14
  1839. cat >1003.14 <<'shar.1003.14.8174'
  1840. From uucp@tic.com  Sat Jun 23 14:44:47 1990
  1841. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  1842.     id AA19242; Sat, 23 Jun 90 14:44:47 -0400
  1843. Posted-Date: 23 Jun 90 12:28:11 GMT
  1844. Received: by cs.utexas.edu (5.64/1.63)
  1845.     id AA17482; Sat, 23 Jun 90 10:02:16 -0500
  1846. Received: by longway.tic.com (4.22/tic.1.2)
  1847.     id AA24922; Sat, 23 Jun 90 09:26:07 cdt
  1848. From: <jsh@usenix.org>
  1849. Newsgroups: comp.std.unix
  1850. Subject: Standards Update, IEEE 1003.14: Multiprocessing
  1851. Message-Id: <381@usenix.ORG>
  1852. Sender: std-unix@usenix.ORG
  1853. Reply-To: std-unix@uunet.uu.net
  1854. Date: 23 Jun 90 12:28:11 GMT
  1855. Apparently-To: std-unix-archive@uunet.uu.net
  1856.  
  1857. From:  <jsh@usenix.org>
  1858.  
  1859.  
  1860.            An Update on UNIX*-Related Standards Activities
  1861.  
  1862.                               June, 1990
  1863.  
  1864.                  USENIX Standards Watchdog Committee
  1865.  
  1866.                    Jeffrey S. Haemer, Report Editor
  1867.  
  1868. IEEE 1003.14: Multiprocessing
  1869.  
  1870. Bill Cox <bill@attunix.att.com> reports on the April 23-27 meeting in
  1871. Salt Lake City, UT: The POSIX Multiprocessing Study Group had its
  1872. first official meeting as P1003.14 in Utah, where the SEC approved its
  1873. Project Authorization Request (PAR) for a Multiprocessing Execution
  1874. Environment Profile.  Multiprocessing systems have become cost-
  1875. effective means for providing computing power, but with the advantages
  1876. have some specific concerns that need to be addressed at the interface
  1877. level.  The goal of this work is to try to make POSIX safe for
  1878. multiprocessing; a secondary goal is to try to make POSIX hospitable
  1879. for multiprocessing.  POSIX working groups do not necessarily share
  1880. the concerns of the implementors and users of multiprocessing systems.
  1881.  
  1882. Bob Knighten (Encore) is the Chair, Bill Cox (AT&T UNIX Software
  1883. Operation) is Secretary, and Dave Plauger (Alliant) is the Technical
  1884. Editor.  Officers must have a commitment of support from their
  1885. employers, to ensure that they can attend working group meetings and
  1886. devote necessary time to the purposes of the working group.  16 people
  1887. attended the group meetings.
  1888.  
  1889. People interested in .4A (threads) have tended to be interested in .14
  1890. and vice versa.  Many .14 members that have been meeting with
  1891. P1003.4/.4A see substantial problems with pthreads in a multiprocessor
  1892. environment, and I know at least eight people working on .4A that want
  1893. to come work in .14.
  1894.  
  1895. The working group designated one official liaison to .4A, who was
  1896. joined by two other tentative volunteers.  We will also establish
  1897. liaisons with .1, .6, .7, .8, .10, and .12.
  1898.  
  1899. During the week, we spent time in three areas.
  1900.  
  1901.   1.  We clarified the group's work items, and started work on the
  1902.       most important, the Application Environment Profile.  (An AEP
  1903.       may specify relevant portions of other POSIX working groups'
  1904.       work, make choices where options are permitted, and specify
  1905.       behavior that a [draft] standard may have left undefined or
  1906.       unspecified.)
  1907.  
  1908. __________
  1909.  
  1910.   * UNIX is a registered trademark of AT&T in the U.S. and other
  1911.     countries.
  1912.  
  1913. June, 1990 Standards Update              IEEE 1003.14: Multiprocessing
  1914.  
  1915.  
  1916.                 - 2 -
  1917.  
  1918.   2.  We discussed current conventional wisdom on multiprocessing.
  1919.       The discussions centered around presentations by BBN, Cray,
  1920.       Encore, AT&T USO, and Alliant on lessons they've learned.
  1921.  
  1922.   3.  We created two small groups.
  1923.  
  1924.       The first began work on high-level requirements placed on
  1925.       pthreads by multiprocessing.  Attendees included Rick Greer
  1926.       (Interactive), Mary Weeks (Sun), and Bill Cox (AT&T USO).
  1927.  
  1928.       Here are some requirements we feel strongly about:
  1929.  
  1930.          + A library implementation of ``user-level threads'' is
  1931.            vitally important.  User-level threads often must be
  1932.            multiplexed onto kernel-supported
  1933.            objects/processes/threads, largely for performance reasons.
  1934.            These kernel-supported objects, etc, are sometimes called
  1935.            ``virtual processors,'' because they support an abstraction
  1936.            closer to that of a physical processor, with
  1937.            interrupts/signals, and a significant amount of state.
  1938.  
  1939.          + The formal memory model of P1003.4/D9 section 13.1 must
  1940.            apply to .4A.  This model defines the semantics of memory
  1941.            interaction that should be preserved in a multithreaded or
  1942.            multiprocessing environment.
  1943.  
  1944.          + Global threads scheduling makes little sense in a
  1945.            multiprocessor, though such scheduling could be useful as a
  1946.            hint (Like C's register declarations if you don't have
  1947.            enough registers.) Global policy is difficult to implement
  1948.            in a multiplexed thread environment.
  1949.  
  1950.          + use of attribute structures for mutual exclusion variables
  1951.            (in particular, for scheduling hints)
  1952.  
  1953.          + Locks shouldn't be opaque, and programmers should be able
  1954.            to statically initialize them.  The latter is important so
  1955.            that locks can be part of data structures, and not require
  1956.            time-consuming dynamic allocation and initialization.
  1957.  
  1958.          + There must be only one set of libraries.  There are
  1959.            performance reasons to have single-threaded libraries,
  1960.            i.e., libraries that are not thread-aware, for a
  1961.            uniprocessor or single-threaded applications.  The group
  1962.            believes that the cost of maintaining such libraries is
  1963.            sufficiently high that a non-reentrant library or set of
  1964.            libraries should not be required.
  1965.  
  1966. June, 1990 Standards Update              IEEE 1003.14: Multiprocessing
  1967.  
  1968.  
  1969.                 - 3 -
  1970.  
  1971.       The other group began work on the AEP itself.
  1972.  
  1973.       Members of this small group, and their responsibilities,
  1974.       included
  1975.  
  1976.          + Dave Plauger (Alliant) - skeleton for the document,
  1977.  
  1978.          + Frank Lawlor (IBM) - checkpoint restart, review, and
  1979.            liaison with .10 and .7,
  1980.  
  1981.          + James Gibson (BBN) - review and liason with .2,
  1982.  
  1983.          + Bob Knighten (Encore) - review and liason with .4, and
  1984.  
  1985.          + Tom Weaver (IBM) - review and liason with .1 and .6.
  1986.  
  1987.       This group identified several areas of concern:
  1988.  
  1989.          + microtasking models
  1990.  
  1991.          + checkpoint, snapshots, and core dump format/synchronization
  1992.  
  1993.          + a general programming model
  1994.  
  1995.          + dividing the ``reading list'' (other P1003 standards and
  1996.            drafts)
  1997.  
  1998.          + determining focus (are we dealing with portability for
  1999.            application writers, users, and/or administrators?)
  2000.  
  2001.          + standardizing system services
  2002.  
  2003.       A sketch of the planned document includes:
  2004.  
  2005.          + reference to TIMS
  2006.  
  2007.          + multithreaded applications (.4A)
  2008.  
  2009.          + HLL parallel applications (PCF FORTRAN, parallel C)
  2010.  
  2011.          + IPC
  2012.  
  2013. June, 1990 Standards Update              IEEE 1003.14: Multiprocessing
  2014.  
  2015. Volume-Number: Volume 20, Number 44
  2016.  
  2017. shar.1003.14.8174
  2018. echo 1003.2
  2019. cat >1003.2 <<'shar.1003.2.8174'
  2020. From uucp@tic.com  Thu Jun 21 18:03:02 1990
  2021. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  2022.     id AA26982; Thu, 21 Jun 90 18:03:02 -0400
  2023. Posted-Date: 21 Jun 90 20:17:50 GMT
  2024. Received: by cs.utexas.edu (5.64/1.63)
  2025.     id AA11544; Thu, 21 Jun 90 17:02:52 -0500
  2026. Received: by longway.tic.com (4.22/tic.1.2)
  2027.     id AA18940; Thu, 21 Jun 90 16:39:41 cdt
  2028. From: <jsh@usenix.org>
  2029. Newsgroups: comp.std.unix
  2030. Subject: Standards Update, IEEE 1003.2: Shell and tools
  2031. Message-Id: <378@usenix.ORG>
  2032. Sender: std-unix@usenix.ORG
  2033. Reply-To: std-unix@uunet.uu.net
  2034. Date: 21 Jun 90 20:17:50 GMT
  2035. Apparently-To: std-unix-archive@uunet.uu.net
  2036.  
  2037. From:  <jsh@usenix.org>
  2038.  
  2039.            An Update on UNIX*-Related Standards Activities
  2040.  
  2041.                               June 1990
  2042.  
  2043.                  USENIX Standards Watchdog Committee
  2044.  
  2045.                    Jeffrey S. Haemer, Report Editor
  2046.  
  2047. IEEE 1003.2: Shell and tools
  2048.  
  2049. Randall Howard <rand@mks.com> reports on the April 23-27 meeting in
  2050. Salt Lake City, UT:
  2051.  
  2052. Background on POSIX.2
  2053.  
  2054. The POSIX.2 standard deals with the shell programming language and
  2055. utilities.  Currently, it is divided into two pieces:
  2056.  
  2057.    + POSIX.2, the base standard, deals with the basic shell
  2058.      programming language and a set of utilities required for
  2059.      application portability.  Application portability essentially
  2060.      means portability of shell scripts and thus excludes most
  2061.      features that might be considered interactive.  In an analogy to
  2062.      the ANSI C standard, the POSIX.2 shell command language is the
  2063.      counterpart to the C programming language, while the utilities
  2064.      play, roughly, the role of the C library.  POSIX.2 also
  2065.      standardizes command-line and function interfaces related to
  2066.      certain POSIX.2 utilities (e.g., popen, regular expressions,
  2067.      etc.) This document is also known as ``Dot 2 Classic.''
  2068.  
  2069.    + POSIX.2a, the User Portability Extension or UPE, is a supplement
  2070.      to the base POSIX.2 standard; it will eventually be an optional
  2071.      chapter of a future draft of the base document.  The UPE
  2072.      standardizes commands, such as screen editors, that might not
  2073.      appear in shell scripts but are important enough that users must
  2074.      learn them on any real system.  It is essentially an interactive
  2075.      standard that attempts to reduce retraining costs incurred by
  2076.      system-to-system variation.
  2077.  
  2078.      Some utilities, have interactive as well as non-interactive
  2079.      features.  In such cases, the UPE defines extensions from the
  2080.      base POSIX.2 utility.  An example is the shell, for which the UPE
  2081.      defines job control, history, and aliases.  Features used both
  2082.      interactively and in scripts tend to be defined in the base
  2083.      standard.
  2084.  
  2085. __________
  2086.  
  2087.   * UNIX is a registered trademark of AT&T in the U.S. and other
  2088.     countries.
  2089.  
  2090. June 1990 Standards Update                IEEE 1003.2: Shell and tools
  2091.  
  2092.  
  2093.                 - 2 -
  2094.  
  2095. Together Dot 2 Classic and the UPE will make up the International
  2096. Standards Organization's IS 9945/2 - the second volume of the proposed
  2097. ISO four-volume standard related to POSIX.
  2098.  
  2099. In addition to providing current information about the activities of
  2100. the Working and Balloting Groups for POSIX.2, a special topic of focus
  2101. will be chosen for each report.  Therefore, the reader is referred to
  2102. earlier reports for information on such topics as the history of the
  2103. Shell Wars and the controversial scope of the UPE.  The next section
  2104. talks about the functions, rather than utilities, that are found with
  2105. POSIX.2.
  2106.  
  2107. The POSIX.2 API Functions
  2108.  
  2109. Perhaps it will come as a surprise to many readers that the POSIX
  2110. Shell and Utilities standard also contains specifications for about
  2111. fourteen new or extended C function bindings -- in effect, its own API
  2112. extending the POSIX.1 bindings -- as follows:
  2113.  
  2114.   confstr(), sysconf() The first function was created to provide
  2115.             string-valued, configuration-specific values such as the
  2116.             default setting of the PATH environment variable.  The
  2117.             second extends the POSIX.1 function of the same name with
  2118.             numeric-valued configuration information such as the
  2119.             largest scale value in the bc utility and the
  2120.             implementation's line length restriction.
  2121.  
  2122.   fnmatch() This functional interface implements the form of pattern
  2123.             matching used by file-name generation (glob) in the shell,
  2124.             case statements in the shell, and the -name option of the
  2125.             find utility.
  2126.  
  2127.   getopt()  This functional interface provides a standard utility
  2128.             argument parser that enforces the ``standard utility
  2129.             syntax'' guidelines and might be used to implement the
  2130.             getopts utility from POSIX.2.
  2131.  
  2132.   glob(), globfree() This set of functions does shell-style file-name
  2133.             generation and presumably calls the fnmatch() function.
  2134.  
  2135.   popen(), pclose() This pair of functions, which is a part of the
  2136.             standard I/O package on conventional UNIX systems,
  2137.             provides the ability to communicate through pipes to
  2138.             another process by executing a string in the POSIX.2 shell
  2139.             language.
  2140.  
  2141.   regexec(), regcomp() This set of routines provides support for both
  2142.             the Basic and Extended Regular Expressions defined in
  2143.             POSIX.2, including full internationalization support.
  2144.  
  2145. June 1990 Standards Update                IEEE 1003.2: Shell and tools
  2146.  
  2147.  
  2148.                 - 3 -
  2149.  
  2150.   wordexp(), wordfree() This set of routines provides a mechanism for
  2151.             an application to use word expansion (parameter expansion)
  2152.             that is compatible with the POSIX.2 shell language.
  2153.             Although most implementations of this routine will
  2154.             normally call the shell, it is (at least conceptually)
  2155.             possible that the shell be implemented to call these
  2156.             routines for word expansion.
  2157.  
  2158.   system()  This ``classical'' function executes a command written in
  2159.             shell language.
  2160.  
  2161. All of these functions form part of an optional C binding to POSIX.2
  2162. and it is expected that the soon-to-be-released, draft version of the
  2163. NIST FIPS will make this ``optional'' functional interface mandatory
  2164. for US government procurements.  Other language-binding working
  2165. groups, such as those exploring Ada and FORTRAN, are presumably
  2166. encouraged to add their own optional bindings if they so wish.
  2167.  
  2168. Although the inclusion of these functions seems to be a little out of
  2169. place in a shell-and-tools standard, there is some rationale for this.
  2170. In fact, when POSIX consisted only of POSIX.1, the early attempts to
  2171. define system() and popen() made apparent the need to completely
  2172. specify the shell language in which the argument string to these
  2173. functions was written.  That, in turn, along with the desire to
  2174. standardize the classical UNIX utility set, led to the creation of
  2175. POSIX.2 as the first offshoot group in the POSIX family of standards.
  2176. shar.1003.2.8174
  2177. echo 1003.3
  2178. cat >1003.3 <<'shar.1003.3.8174'
  2179. From uucp@tic.com  Thu Jun 21 18:02:47 1990
  2180. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  2181.     id AA26860; Thu, 21 Jun 90 18:02:47 -0400
  2182. Posted-Date: 21 Jun 90 20:06:46 GMT
  2183. Received: by cs.utexas.edu (5.64/1.63)
  2184.     id AA11531; Thu, 21 Jun 90 17:02:41 -0500
  2185. Received: by longway.tic.com (4.22/tic.1.2)
  2186.     id AA18922; Thu, 21 Jun 90 16:38:51 cdt
  2187. From: <jsh@usenix.org>
  2188. Newsgroups: comp.std.unix
  2189. Subject: Standards Update, IEEE 1003.3: Test Methods
  2190. Message-Id: <377@usenix.ORG>
  2191. Sender: std-unix@usenix.ORG
  2192. Reply-To: std-unix@uunet.uu.net
  2193. Date: 21 Jun 90 20:06:46 GMT
  2194. Apparently-To: std-unix-archive@uunet.uu.net
  2195.  
  2196. From:  <jsh@usenix.org>
  2197.  
  2198.            An Update on UNIX*-Related Standards Activities
  2199.  
  2200.                               June, 1990
  2201.  
  2202.                  USENIX Standards Watchdog Committee
  2203.  
  2204.                    Jeffrey S. Haemer, Report Editor
  2205.  
  2206. IEEE 1003.3: Test Methods
  2207.  
  2208. Doris Lebovits <lebovits@attunix.att.com> reports on the April 23-27
  2209. meeting in Salt Lake City, UT:
  2210.  
  2211. Dot three's job is to do test methods for all of the other 1003
  2212. standards.  The group's work, whose first parts are now in ballot,
  2213. specifies the requirements for OS conformance testing for our industry
  2214. and for NIST.  This makes what the balloting group and technical
  2215. reviewers are doing, and their schedules, worth watching.  Pay
  2216. attention, also, to what comes out of the Steering Committee on
  2217. Conformance Testing (SCCT).  Their projects and decisions will be
  2218. interesting and important.
  2219.  
  2220. This was the working group's sixteenth meeting.  As usual, we reviewed
  2221. the ballot status of P1003.1 test methods, worked on P1003.2 test
  2222. methods, and reviewed steering committee activities.  As before, each
  2223. morning we did technical reviews of parts I and II; afternoons were
  2224. spent writing assertions for part III.  Participants from the usual
  2225. companies attended.  (AT&T, NIST, OSF, Mindcraft, IBM, DEC, HP, Data
  2226. General, Cray Research, Unisys, Perennial, and Unisoft Ltd.)
  2227.  
  2228. Document structure and some new PARs
  2229.  
  2230. Currently, our evolving document has two parts: Part I is generic test
  2231. methods; Part II is test methods for measuring P1003.1 conformance,
  2232. including test assertions; and Part III contains test methods and
  2233. assertions for measuring P1003.2 conformance.  (As other P1003
  2234. standards evolve, they will become separate activities in the working
  2235. group's schedule.)
  2236.  
  2237. After the ballot, each part will become a separate standard.  Part I
  2238. will be published as IEEE P1003.3; Part II as IEEE P1003.3.1; and Part
  2239. III as IEEE P1003.3.2.  To this end, we developed and submitted three
  2240. new PARs to the Standards Executive Committee (SEC).  The PAR for
  2241. P1003.3 lets Part I apply to all TCOS standards (i.e., POSIX).  The
  2242. PAR for P1003.3.1 lets Part II include test methods for P1003.1 and
  2243. P1003.1a.  The PAR for P1003.3.2 lets Part III include test methods
  2244. for P1003.2.
  2245.  
  2246. __________
  2247.  
  2248.   * UNIX is a registered trademark of AT&T in the U.S. and other
  2249.     countries.
  2250.  
  2251. June, 1990 Standards Update                  IEEE 1003.3: Test Methods
  2252.  
  2253.  
  2254.                 - 2 -
  2255.  
  2256. Ballot status
  2257.  
  2258. Draft 11 of the current ballot, which was re-circulated to the
  2259. (approximately) ninety-member balloting group late in February, closed
  2260. balloting March 23.  Of the 65 respondents, 29 approved, 17
  2261. disapproved, and 19 abstained.  This meets the two-thirds response
  2262. requirement, but falls short of the needed two-thirds approval.
  2263. Another re-circulation will probably take place in Fall, 1990.
  2264.  
  2265. P1003.2 verification
  2266.  
  2267. This was our fourth meeting working on a verification standard for the
  2268. P1003.2 standard.  The assertion writing and review were done in small
  2269. groups.  Some of the assertions were based upon P1003.2 Draft 9.  This
  2270. group needs help from the P1003.2 working group in writing test
  2271. assertions, but no formal arrangement is in place yet to provide it.
  2272.  
  2273. Officers for the P1003.2 Test Methods activities are: Ray Wilkes
  2274. (Unisys), Chair; Lowell Johnson (Unisys) Secretary; and Andrew Twigger
  2275. (Unisoft Ltd), Technical Editor.
  2276.  
  2277. Steering Committee on Conformance Testing (SCCT)
  2278.  
  2279. The test-methods steering committee is supposed to alleviate the
  2280. increasing dot-three work load all the other, proliferating groups are
  2281. creating.  Their job is coordinating the activities of all test-
  2282. methods groups, monitoring their conformance to test methods, and
  2283. writing Project Authorization Requests (PARs).  Currently, its members
  2284. are Roger Martin (NIST, Steering Committee Chair), Anita Mundkur (HP),
  2285. Andrew Twigger (Unisoft Ltd), Bruce Weiner (Mindcraft), and Lowell
  2286. Johnson (Unisys), but membership will be dynamic, Right now, this
  2287. committee is documenting procedures.  Roger Martin is also clarifying
  2288. which standards the working group will address.  The Technical
  2289. Reviewers will review this work sometime before the next meeting.
  2290.  
  2291. June, 1990 Standards Update                  IEEE 1003.3: Test Methods
  2292.  
  2293.  
  2294. Volume-Number: Volume 20, Number 34
  2295.  
  2296. shar.1003.3.8174
  2297. echo 1003.4
  2298. cat >1003.4 <<'shar.1003.4.8174'
  2299. From jsq@longway.tic.com  Sat May 19 15:44:38 1990
  2300. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  2301.     id AA28156; Sat, 19 May 90 15:44:38 -0400
  2302. Posted-Date: 19 May 90 19:34:52 GMT
  2303. Received: by cs.utexas.edu (5.61/1.62)
  2304.     id AA06978; Sat, 19 May 90 14:44:34 -0500
  2305. Received: by longway.tic.com (4.22/4.16)
  2306.     id AA11134; Sat, 19 May 90 14:35:24 cdt
  2307. From: <usenix.org!jsh@longway.tic.com>
  2308. Newsgroups: comp.std.unix
  2309. Subject: Standards Update, IEEE 1003.4: Real-time Extensions
  2310. Message-Id: <695@longway.TIC.COM>
  2311. Sender: std-unix@longway.tic.com
  2312. Reply-To: std-unix@uunet.uu.net
  2313. Date: 19 May 90 19:34:52 GMT
  2314. Apparently-To: std-unix-archive@uunet.uu.net
  2315.  
  2316. From: <jsh@usenix.org>
  2317.  
  2318.  
  2319.            An Update on UNIX*-Related Standards Activities
  2320.  
  2321.                                May 1990
  2322.  
  2323.                  USENIX Standards Watchdog Committee
  2324.  
  2325.                    Jeffrey S. Haemer, Report Editor
  2326.  
  2327. IEEE 1003.4: Real-time Extensions
  2328.  
  2329. Rick Greer <rick@ism.isc.com> reports on the April 23-27 meeting in
  2330. Salt Lake City, UT:
  2331.  
  2332. 1003.4
  2333.  
  2334. The .4 ballots went out on schedule, and most came back on schedule as
  2335. well.  We (barely) got the required 75% response, of which 43%
  2336. approved of the draft as it stood.  The small-group leaders are
  2337. currently working to resolve the objections and will report back at
  2338. Danvers, in July.
  2339.  
  2340. 1003.4a
  2341.  
  2342. Most of the work at Snowbird centered around threads (.4a).  Two
  2343. alternatives to the pthreads proposal were presented at the meeting:
  2344. ``strands'', from John Zolnowsky of Sun, defined a minimal set of
  2345. interfaces for multi-threaded applications; ``VP'', from Paul Borman
  2346. of Cray, added a ``virtual processor'' layer to the pthreads
  2347. specification, which made some multiprocessor (MP) features visible to
  2348. applications.
  2349.  
  2350. The primary MP hardware feature that Paul's VP proposal makes visible
  2351. to the pthreads environment is the ability to write your own spin
  2352. loops and expect them to work.  One could, for example, have one
  2353. thread continuously reading an in-core data base while another thread
  2354. updates it.  On an MP system, it might be more efficient to code this
  2355. without using a mutex, although doing so on a uni-processor with a
  2356. co-routine threads package is an absolute disaster.  The new
  2357. multiprocessor group, 1003.16, is looking into this and similar
  2358. problems, and will probably suggest that .4a include some sort of
  2359. system-wide attribute structure that one can check when writing
  2360. programs that depend heavily on concurrent execution of threads.
  2361.  
  2362. After a week's discussion (often a euphemism for argument), we settled
  2363. into a compromise position not that far from where we started --
  2364.  pthreads.  All this work without much net change was frustrating, but
  2365.  
  2366. __________
  2367.  
  2368.   * UNIX is a registered trademark of AT&T in the U.S. and other
  2369.     countries.
  2370.  
  2371. May 1990 Standards Update            IEEE 1003.4: Real-time Extensions
  2372.  
  2373.  
  2374.                                 - 2 -
  2375.  
  2376. probably unavoidable.  Until fairly recently most of the committee was
  2377. busy getting the .4 draft ready for balloting.  Lacking enough time to
  2378. have studied threads carefully, members were unwilling to accept the
  2379. small group's conclusions before investigating some alternatives for
  2380. themselves.  Still, some progress was made.  The most important was a
  2381. more comprehensive definition of signal behavior in multi-threaded
  2382. programs.
  2383.  
  2384. 1003.14
  2385.  
  2386. On the last day, a first attempt at a real-time application
  2387. environment profile (AEP) was presented.  This PAR will be an
  2388. excellent, practical test of AEPs.  Real-time applications are likely
  2389. to vary wildly in the subsets of .4's rich features that they require.
  2390. Some worry that the real-time AEP will force embedded systems that
  2391. need only one or two .4 features to incorporate others just to adhere
  2392. to the standard.  The problem this poses is not just storage space
  2393. wasted by unused code, but the expense of verifying that this extra
  2394. code will never get in the way of the application.  The group will be
  2395. wrestling with these and similar problems in the months to come.
  2396.  
  2397. May 1990 Standards Update            IEEE 1003.4: Real-time Extensions
  2398.  
  2399.  
  2400. Volume-Number: Volume 20, Number 5
  2401.  
  2402. shar.1003.4.8174
  2403. echo 1003.4.033
  2404. cat >1003.4.033 <<'shar.1003.4.033.8174'
  2405. From uucp@tic.com  Thu Jun 21 18:02:29 1990
  2406. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  2407.     id AA26744; Thu, 21 Jun 90 18:02:29 -0400
  2408. Posted-Date: 21 Jun 90 19:57:52 GMT
  2409. Received: by cs.utexas.edu (5.64/1.63)
  2410.     id AA11487; Thu, 21 Jun 90 17:02:19 -0500
  2411. Received: by longway.tic.com (4.22/tic.1.2)
  2412.     id AA18902; Thu, 21 Jun 90 16:37:43 cdt
  2413. From: <jsh@usenix.org>
  2414. Newsgroups: comp.std.unix
  2415. Subject: Standards Update, IEEE 1003.4: Real-time Extensions
  2416. Message-Id: <376@usenix.ORG>
  2417. Sender: std-unix@usenix.ORG
  2418. Reply-To: std-unix@uunet.uu.net
  2419. Date: 21 Jun 90 19:57:52 GMT
  2420. Apparently-To: std-unix-archive@uunet.uu.net
  2421.  
  2422. From:  <jsh@usenix.org>
  2423. From:  <jsh@usenix.org>
  2424.  
  2425.  
  2426.            An Update on UNIX*-Related Standards Activities
  2427.  
  2428.                               June 1990
  2429.  
  2430.                  USENIX Standards Watchdog Committee
  2431.  
  2432.                    Jeffrey S. Haemer, Report Editor
  2433.  
  2434. IEEE 1003.4: Real-time Extensions
  2435.  
  2436. John Gertwagen <jag@ism.isc.com> reports on the April 23-27 meeting in
  2437. Salt Lake City, UT:
  2438.  
  2439. 1.  Administrivia
  2440.  
  2441. P1003 met in Salt Lake City this time.  Actually, it was at Snowbird
  2442. Lodge, south of and well above the city.  It was spring in Salt Lake
  2443. but still winter in the mountains.  (Wish I skied.) The real-time
  2444. meetings drew 68 people the first day, and averaged around 40 all
  2445. week.  If some skiers hadn't deserted each day, we would have had
  2446. more.
  2447.  
  2448. 2.  .4 Balloting
  2449.  
  2450. Over 200 people joined the balloting group for P1003.4, Draft 9.  The
  2451. first ballot closed in mid-March and 75% of balloters returned their
  2452. ballots within a day or two of the official deadline, setting a new
  2453. record!  43% of these voted ``Yes'' on the first round, about average
  2454. for POSIX ballots.
  2455.  
  2456. Lack of time and logistics problems meant little ballot feedback by
  2457. meeting-time, (shame on those who didn't submit their ballots
  2458. electronically!) but a few issues surfaced.  Several objected to
  2459. having binary semaphores only in the path namespace and not also in
  2460. shared memory, where they could use simple test-and-set calls, and not
  2461. time-consuming system calls.  There's value providing a common
  2462. interface for both of these and for other ``synchronization objects.''
  2463.  
  2464. There were also objections to having ``events'' when there are
  2465. ``fixed'' signals in System V, Release 4.  The technical reviewer for
  2466. events will try to make SVR4 signals meet real-time requirements.
  2467. (Not too long ago, there were strong objections to changing signals.
  2468. There may still be protests over adding real-time-required
  2469. determinism.)
  2470.  
  2471. __________
  2472.  
  2473.   * UNIX is a registered trademark of AT&T in the U.S. and other
  2474.     countries.
  2475.  
  2476. June 1990 Standards Update           IEEE 1003.4: Real-time Extensions
  2477.  
  2478.  
  2479.                 - 2 -
  2480.  
  2481. 3.  Current Work
  2482.  
  2483. With .4 in limbo, the working group got on with Threads (.4a),
  2484. Language Independent Bindings (.4b), and Real-time Application
  2485. Environment Profiles (.14).  Threads got the most attention.
  2486. (Surprised?) Despite this, or perhaps because of it, the other two
  2487. drafts saw significant progress.
  2488.  
  2489. Rick Greer has reviewed a lot of the threads work, so I'll briefly
  2490. mention what's going on in .4b and .14, give you some personal views
  2491. on threads, and then amplify on areas where our editor, Jeff Haemer,
  2492. was recently raked over the coals.
  2493.  
  2494. 4.  AEP
  2495.  
  2496. At first, the real-time AEP small group had some trouble focusing.
  2497. They've identified two fairly easy targets, essentially minimum and
  2498. maximum configurations, and now seek proposals for intermediate
  2499. specifications.
  2500.  
  2501. In Utah, the group came up with a fairly complete specification for
  2502. embedded systems, and reviewed it with P1003.0 --  the POSIX Guide
  2503. group that is the driving force in defining AEP's.  One interesting
  2504. issue surfaced during the review: for embedded systems, the AEP group
  2505. wants to exclude interfaces of .4 and .1 that aren't needed!  Dot zero
  2506. hadn't thought of that before.  Resolving this should set an
  2507. interesting precedent.
  2508.  
  2509. 5.  Language-Independent Bindings
  2510.  
  2511. The people doing this have it down to a science, so the large group
  2512. has largely left them alone.  Most of their work is converting things
  2513. to ``normal'' form, which is mostly tabular, and throwing away the
  2514. stuff that is language-dependent.  They made good use of their time,
  2515. cranking through a good bit of the .4 draft.
  2516.  
  2517. 6.  Threads (P1003.4a)
  2518.  
  2519. The meeting saw two new proposals.  Both suggested fruitful changes to
  2520. the current Pthreads work, but neither was accepted as a new base for
  2521. the current draft.
  2522.  
  2523. John Zolnowsky of Sun Microsystems submitted one counter-proposal,
  2524. called ``strands'' because ``threads'' was already taken.  It was an
  2525. attempt to limit the scope of the interfaces and keep thread semantics
  2526. closer to process semantics.  Thus, it would have done away with
  2527. mutexes and conditions, leaving synchronization to be accomplished
  2528. through .4 binary semaphores, presumably modified to have inter-
  2529.  
  2530. June 1990 Standards Update           IEEE 1003.4: Real-time Extensions
  2531.  
  2532.  
  2533.                 - 3 -
  2534.  
  2535. thread, not just inter-process semantics.  It also proposed more
  2536. process-like exit semantics and a version of per-thread signaling.
  2537. The consensus on the strands proposal seems to have been that it was
  2538. too minimal.
  2539.  
  2540. In contrast, the VP (Virtual Processor) proposal, by Paul Borman of
  2541. Cray Research, proposed significant ``incremental'' functionality in
  2542. the form of a lower-level, virtual-processor interface for use by the
  2543. multi-processing and parallel processing communities.  (For those
  2544. familiar with Mach, it is roughly to Pthreads as cthreads is to
  2545. Cthreads.) Features of the VP proposal included:
  2546.  
  2547.    + fork() and exec() semantics for VPs
  2548.  
  2549.    + per-VP signal semantics
  2550.  
  2551.    + locks and events for synchronization
  2552.  
  2553.    + no ordering or scheduling constraints
  2554.  
  2555. The group had several concerns about VP
  2556.  
  2557.    + Could it support real-time requirements without ordering and
  2558.      scheduling constraints?
  2559.  
  2560.    + Could the Pthreads constraints be implemented on top of a layer
  2561.      that didn't support them?
  2562.  
  2563.    + Would the interfaces be used by applications or by system
  2564.      implementors?
  2565.  
  2566.    + Would an application using both Pthreads and VP interfaces
  2567.      encounter analogous problems to those caused by read()s and an
  2568.      fread()s on the same file?
  2569.  
  2570.    + Would standard interfaces for locks and events, implemented in
  2571.      hardware on many systems, constrain or encourage hardware
  2572.      development?
  2573.  
  2574.    + Would the standard benefit either the user or vendor community?
  2575.  
  2576.    + How soon could the proposal be completed and gain enough of the
  2577.      MP community's consensus to go to ballot?
  2578.  
  2579. Perhaps the deciding factor, though, was that the multi-processing AEP
  2580. group (P1003.16) started meeting officially at Snowbird.  [Editor:
  2581. Watch for the snitch report, coming soon.] A majority of our group
  2582. (including me) felt that MP-specific standards should grow from
  2583. requirements identified by .16, not be created on the fly by the
  2584. real-time working group.
  2585.  
  2586. June 1990 Standards Update           IEEE 1003.4: Real-time Extensions
  2587.  
  2588.  
  2589.                 - 4 -
  2590.  
  2591. In areas that are still not pinned down, the group made progress
  2592. towards a better-defined cancellation mechanism, towards a ``signals
  2593. compromise'' that improves on one hurriedly forged at the previous
  2594. meeting, and towards more process-like exit semantics.  The consensus
  2595. was that we should try to accommodate and specify per-thread signal
  2596. state.  Although there are a few strong supporters, a majority did not
  2597. feel that specification of per-thread signals is essential to a
  2598. standard.
  2599.  
  2600. Paul Borman of Cray Research will present a proposal on this at the
  2601. next meeting.  I'll be interested to see what Paul comes up with.
  2602. With three state elements, (mask, pending signals, and action vector)
  2603. and at least three signal delivery types (one, some, all), I can
  2604. create many implementation models and corresponding application
  2605. architectures.  It may prove easy to construct a plausible model, but
  2606. hard to construct one that 40 engineers can agree to live with for a
  2607. long time!  I suspect a portable application can assume nothing more
  2608. than ``exactly one signal gets delivered exactly once to exactly one
  2609. handler.'' (Looks an awful lot likes signals to a process, doesn't
  2610. it?)
  2611.  
  2612. The biggest progress in the meetings was wide consensus achieved for
  2613. the current threads proposal.  The working group resolved many of the
  2614. remaining threads issues, and we let Bill Corwin tell IEEE/ISO that we
  2615. expect to ballot P1003.4a in July, after the next meeting.
  2616.  
  2617. 7.  OSF and UI Cooperating?
  2618.  
  2619. Our editor's recent editorial stirred up a hornet's nest.  (It wasn't
  2620. so much what Jeff said as what he implied.) In his follow-up posting,
  2621. he said I'd speak about the joint meetings in more detail.  I didn't
  2622. really want to but he twisted my arm, so here goes.
  2623.  
  2624. The UI MP Working Group and OSF have been cooperating since the middle
  2625. of last year.  I happen to work for a company that belongs to both,
  2626. INTERACTIVE Systems Corporation, and though I haven't been to all of
  2627. the joint meetings, I've attended them off and on since last November
  2628. (which is I think, when they started).  Those I have attended focused
  2629. on finding solutions to interface/semantic problems that both OSF and
  2630. UI can endorse and that P1003.4 would probably endorse as well.
  2631. Although these meetings haven't been advertised I've seen at least one
  2632. article about OSF/UI/ATT negotiations that mentioned their cooperation
  2633. in the MP arena.  And the meetings have been open.  At least one non-
  2634. member has shown up uninvited, and was not asked to leave.
  2635.  
  2636. Now, it's no secret that several Pthreads-proposal initiators
  2637. (instigators?) work for OSF sponsors.  Since the Pthreads-proposal was
  2638. advanced before OSF adopted Mach, it's hard to say whether OSF
  2639. influenced the P1003.4 work or the other way around.  Also, in several
  2640. instances, OSF/UI members have voted personal opinions contrary to the
  2641. OSF/UI consensus established at the joint meetings.
  2642.  
  2643. June 1990 Standards Update           IEEE 1003.4: Real-time Extensions
  2644.  
  2645.  
  2646.                 - 5 -
  2647.  
  2648. What's the point?  The joint meetings contribute to the quality of the
  2649. ..4a work, but they don't drive it.  I think the work in P1003.4 is
  2650. pushing vendors to find multi-threading solutions faster than they
  2651. would have on their own.  It's an example of POSIX pushing emerging
  2652. technologies, not just creating standards.  There's even a chance that
  2653. ..4a will create a standard multi-threading interface before millions
  2654. of installed, heterogeneous systems force the standard to a lowest
  2655. common denominator or to incorporate a particular implementation's
  2656. garbage.
  2657.  
  2658. And POSIX is playing another role  --  uniting the industry.  I
  2659. believe Sun's tooth-and-nail fights with AT&T in P1003.1 led to their
  2660. current cooperation.  Maybe the collaboration of OSF and UI on threads
  2661. will also bring more unity to the industry.
  2662.  
  2663. 8.  The relationship between .4 and .4a
  2664.  
  2665. Despite what some think, the threads small group has never had any
  2666. official status.  Interest and participation in the threads effort
  2667. goes far beyond the small group, or even the .4 working group into
  2668. other POSIX committees.  Some history may clear this up.
  2669.  
  2670. Lightweight processes (i.e., threads) have been on P1003.4's list of
  2671. potential work items since its formation.  About 3 years ago, the
  2672. working group voted not to pursue them because they were not clearly
  2673. needed and the technology was not sufficiently mature.
  2674.  
  2675. About a year and a half ago, threads resurfaced as an item of interest
  2676. to the real-time users, and also to Ada, Transaction Processing, and
  2677. RPC working groups.  A small band of ``experts'' went off to draft a
  2678. proposal.  Since P1003.4 was an active system-interfaces committee and
  2679. the real-time user community wanted a threads proposal, a lot of hard
  2680. work culminated last summer in Minneapolis in a threads proposal being
  2681. accepted as an additional chapter for the .4 draft.
  2682.  
  2683. There are 12 other interface proposals in the .4 draft.  Some have
  2684. been mature for nearly two years, (some with broad consensus, others
  2685. without), others are still relatively wet behind the ears.  Still, all
  2686. the interfaces are relatively complete (sometimes too complete?), and
  2687. in November, when it seemed appropriate to send .4 to ballot, At the
  2688. Milpitas meeting, the P1003.4 working group decided to include the
  2689. threads chapter in the ballot for comment only, and sought and
  2690. obtained authorization to turn the threads work into a separate work
  2691. item for the P1003.4 working group.
  2692.  
  2693. After the Pthreads proposal was accepted into .4, the small group of
  2694. people whose primary interest was threads spent all their time on
  2695. threads.  Meanwhile many other .4 members time-shared all the other .4
  2696.  
  2697. June 1990 Standards Update           IEEE 1003.4: Real-time Extensions
  2698.  
  2699.  
  2700.                 - 6 -
  2701.  
  2702. activities.  Because the Pthreads supporters were so focused, they
  2703. sometimes seemed like a separate group.  (Some in the small group
  2704. might have been surprised to learn they weren't.  It takes a while to
  2705. understand the POSIX bureaucracy.) Nevertheless, though they may not
  2706. always have appeared to represent the entire working group, the
  2707. Pthreads proposal now enjoys wide consensus.  Apparently, the small
  2708. group has listened well to the interests of the working group and the
  2709. POSIX community.
  2710.  
  2711. At Snowbird, there wasn't a threads small group, there were seven of
  2712. them!  These small groups examined how the current and the alternative
  2713. proposals addressed:
  2714.  
  2715.    + thread management
  2716.  
  2717.    + synchronization
  2718.  
  2719.    + signals/asynch events
  2720.  
  2721.    + cancellation
  2722.  
  2723.    + thread-specific data
  2724.  
  2725.    + re-entrant functions
  2726.  
  2727.    + process control
  2728.  
  2729. After reviewing all the issues, we discovered a consensus in most of
  2730. these areas, and fairly strong agreement on most issues in the three
  2731. or four groups that are still needed.  It looks like things are pretty
  2732. well on target.
  2733.  
  2734. I'm partially responsible for pushing .4a in before .4 was done, so
  2735. I'm partially responsible for the process's not always appearing fair
  2736. or well organized.  I'll take my share of the blame.  But I'll also
  2737. take my share of the credit for progress in a technology that I
  2738. believe to be important for real-time and for the entire POSIX
  2739. community.
  2740.  
  2741. June 1990 Standards Update           IEEE 1003.4: Real-time Extensions
  2742.  
  2743. Volume-Number: Volume 20, Number 33
  2744.  
  2745. shar.1003.4.033.8174
  2746. echo 1003.5
  2747. cat >1003.5 <<'shar.1003.5.8174'
  2748. From uucp@tic.com  Fri Jun 22 20:43:01 1990
  2749. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  2750.     id AA17291; Fri, 22 Jun 90 20:43:01 -0400
  2751. Posted-Date: 22 Jun 90 19:22:41 GMT
  2752. Received: by cs.utexas.edu (5.64/1.63)
  2753.     id AA22512; Fri, 22 Jun 90 19:42:51 -0500
  2754. Received: by longway.tic.com (4.22/tic.1.2)
  2755.     id AA22387; Fri, 22 Jun 90 16:48:19 cdt
  2756. From: <jsh@usenix.org>
  2757. Newsgroups: comp.std.unix
  2758. Subject: Standards Update, IEEE 1003.5: Ada bindings
  2759. Message-Id: <379@usenix.ORG>
  2760. Sender: std-unix@usenix.ORG
  2761. Reply-To: std-unix@uunet.uu.net
  2762. Date: 22 Jun 90 19:22:41 GMT
  2763. Apparently-To: std-unix-archive@uunet.uu.net
  2764.  
  2765. From:  <jsh@usenix.org>
  2766.  
  2767.  
  2768.            An Update on UNIX*-Related Standards Activities
  2769.  
  2770.                               June 1990
  2771.  
  2772.                  USENIX Standards Watchdog Committee
  2773.  
  2774.                    Jeffrey S. Haemer, Report Editor
  2775.  
  2776. IEEE 1003.5: Ada bindings
  2777.  
  2778. Jayne Baker <cgb@d74sun.mitre.org> reports on the April 23-27 meeting
  2779. in Salt Lake City, UT:
  2780.  
  2781. Overview
  2782.  
  2783. The Utah meeting was the group's first since our October meeting in
  2784. Brussels.  In the interim, we had completed a mock ballot of Draft
  2785. 4.0.  Jim Lonjers of Unisys, one of our two co-chairs, managed the
  2786. effort.  The document was mailed out to reviewers on December 1, 1989
  2787. and comments were due January 19, 1990.  Although only 16% of the
  2788. ballots were returned, the high quality of the comments received made
  2789. the mock ballot a success.  Ted Baker, of Florida State University,
  2790. hosted a special meeting in Tallahassee, March 19 - 23, to resolve
  2791. issues and comments; the result was draft 4.1.  We did not attend the
  2792. January, New Orleans meeting because balloters lacked sufficient time
  2793. to review and return comments prior to the meeting, though some
  2794. members came to attend other groups' meetings.
  2795.  
  2796. Our main goal in Utah was to prepare the Ada Language Binding Document
  2797. for IEEE and ISO Ballot.  We addressed the few, unresolved technical
  2798. issues from mock ballot; read draft 4.1 cover-to-cover, for accuracy
  2799. (of text and Ada code), content, and consistency; established a plan
  2800. for addressing the ISO formatting issues; adopted an optimistic
  2801. schedule for IEEE and ISO ballots; and tried to establish a position
  2802. on threads.
  2803.  
  2804. Unresolved Technical Issues from Mock Ballot
  2805.  
  2806. Most unresolved technical issues from the mock ballot were trivial,
  2807. and quickly resolved.  They included the details of iterations (e.g.,
  2808. through a directory), string lower bounds with respect to a string
  2809. returned by a function, the behavior of a file that is opened non-
  2810. blocking when the I/O operation cannot complete, static initialization
  2811. versus ``easy implementation'' of constants, and Text I/O page
  2812. terminators.
  2813.  
  2814. __________
  2815.  
  2816.   * UNIX is a registered trademark of AT&T in the U.S. and other
  2817.     countries.
  2818.  
  2819. June 1990 Standards Update                   IEEE 1003.5: Ada bindings
  2820.  
  2821.  
  2822.                 - 2 -
  2823.  
  2824. The most detailed discussion involved whether or not files should be
  2825. closed on an Exec.  The Ada binding provides a Start_Process function,
  2826. which is a primitive that safely creates a new process.  In the face
  2827. of Ada tasking, Fork and Exec are unsafe and cannot be used to
  2828. accomplish the results of a Start_Process call.  Once one of these
  2829. unsafe primitives is issued, an application program is no longer under
  2830. the control of the Ada run time system; the operating system is
  2831. involved.  Therefore, the integrity of the child process is
  2832. jeopardized, and the state of the process's I/O (i.e., which files are
  2833. open/closed) is not guaranteed.  Application programs that must be
  2834. safe with Ada tasking and must have files closed and buffers flushed,
  2835. should call Start_Process to create a new process.
  2836.  
  2837. Global Issues Effecting the Document
  2838.  
  2839. We solved several global, editorial issues.  We agreed to use a terse
  2840. wording style except where a more lengthy, explanatory style is needed
  2841. for clarity.  We accepted the current packaging of the Ada code
  2842. (multiple packages) and the non-Ada-Language-Reference-Manual coding
  2843. style.  Chapter authors were assigned action items to complete their
  2844. respective references and rationale sections.
  2845.  
  2846. We spent a large portion of the meeting going through the document,
  2847. chapter-by-chapter, noting very specific changes.  Changes recorded in
  2848. a ``master red-lined'' copy were forwarded to appropriate chapter
  2849. authors at the close of the meeting.  These changes will be made
  2850. before the June delivery of the document to WG 15.
  2851.  
  2852. ISO Format Issues
  2853.  
  2854. We need to make several minor modifications, additions, and deletions
  2855. before the June  WG 15 meeting, to put the document in ISO standard
  2856. format.  After the March, Tallahassee meeting, Jim Moore, of IBM,
  2857. investigated the possibility of hiring a consulting technical editor
  2858. to do this work.  IBM volunteered to fund this effort at a level
  2859. sufficient to translate the document into ISO format, maintain that
  2860. format, and make one major edit and two to three minor editorial
  2861. revisions.  We accepted IBM's offer, and hired Hal Jespersen.
  2862.  
  2863. Threads Issues
  2864.  
  2865. As in New Orleans, several group members met with P1003.4 for threads
  2866. discussions.  Most group members feel we should establish a position
  2867. on threads, but we remain firmly divided on what it should be.
  2868. Several members believe the currently defined primitives (i.e., the
  2869. most basic system functions) are insufficient, and think that any
  2870. thread model and primitives proposed should be sufficient to support
  2871. Ada tasking, and implement an Ada Run-Time.  In contrast, at least one
  2872. group member believes we are unrealistic to require a threads proposal
  2873. in C to meet Ada requirements --  we should, instead, require that C
  2874. and Ada be able to play together in some reasonable fashion, and have
  2875.  
  2876. June 1990 Standards Update                   IEEE 1003.5: Ada bindings
  2877.  
  2878.  
  2879.                 - 3 -
  2880.  
  2881. a fair understanding of how it will be accomplished.  We decided to
  2882. admit our dissension to P1003.4.  Interested P1003.5 members are
  2883. acting as liaisons to represent their own views, but these liaisons do
  2884. not represent any consolidated P1003.5. view.
  2885.  
  2886. The IEEE and ISO ballots
  2887.  
  2888. Steve Deller, our chair, asked the Sponsor's Executive Committee (SEC)
  2889. to approve our entry into the IEEE ballot process.  Jim Isaak, SEC
  2890. Chair, met with us early in the week to discuss the IEEE and ISO
  2891. ballot processes and help us establish a schedule to reach IEEE and
  2892. ISO ballots simultaneously.  Since the ballot process seems to be of
  2893. general interest, here is a brief overview.
  2894.  
  2895. A hierarchy of organizations is responsible for producing
  2896. international operating-system standards and managing the ISO ballot
  2897. process.  Two independent, international standards organizations, the
  2898. International Standards Organization (ISO) and the International
  2899. Electrotechnical Committee (IEC), sit on top.  Joint Technical
  2900. Committee 1 (JTC 1), a combined effort of these two organizations
  2901. designed to coordinate their efforts in areas of overlap, is at the
  2902. second level; Subcommittee 22 (SC 22), Languages, at the third; and
  2903. Working Group 15 (WG 15), Portable Operating Systems for Computer
  2904. Environments, at the fourth.  National organizations, such as the
  2905. American National Standards Institute (ANSI), manage ISO balloting
  2906. within each country.  Each participating country has one or more
  2907. representatives in WG 15.  The United States has a Technical Advisory
  2908. Group (TAG), which meets with and advises the United States' WG 15
  2909. representatives on the US's position on important issues.
  2910.  
  2911. This bureaucracy requires quite a bit of coordination and planning to
  2912. coordinate IEEE and ISO ballots.  Most documents require about one
  2913. year to complete the IEEE ballot cycle.  Historically, POSIX documents
  2914. have begun with the IEEE ballot process; three to four months later,
  2915. either the original draft, or a newer version incorporating IEEE
  2916. -ballot-process comments, enters the ISO process, and is delivered to
  2917. both WG 15 and SC 22 for approval.  Typically, the IEEE ballot is held
  2918. open until all comments from both IEEE and ISO processes are received,
  2919. reviewed, and incorporated.  The result is returned to both the IEEE
  2920. and ISO ballot groups for their approval.  If the IEEE comments are
  2921. substantive, they enter into the ISO process by the submission of a
  2922. United States position.  For example, P1003.1a is the U.S. position on
  2923. P1003.1..
  2924.  
  2925. Our group also initiated formation of a formal ballot group --  is the
  2926. group that will actually vote on the current draft.  We will deliver
  2927. Draft 5.0, in ISO format, to WG 15 at the Ada Europe meeting this
  2928. June.  Draft 6.0 will go to IEEE ballot on August 6.  If we receive
  2929. the required 75% response by September 21, the ballot will close
  2930. immediately; if not, we must reconsider the ballot group membership,
  2931. and revise our schedule. In early October, draft 6.0 will be delivered
  2932.  
  2933. June 1990 Standards Update                   IEEE 1003.5: Ada bindings
  2934.  
  2935.  
  2936.                 - 4 -
  2937.  
  2938. to SC22.  At the October meeting, in Seattle, we will resolve the IEEE
  2939. ballot comments and produce Draft 7.0, which will enter the ISO Ballot
  2940. process.  At the January '91, New Orleans Meeting, we will determine
  2941. whether a second IEEE Ballot is needed.  Any changes to Draft 7.0
  2942. resulting from a second IEEE Ballot will be entered into the ISO
  2943. process through a pro forma objection.  There are no guarantees, but
  2944. P1003.5 could reach Draft International Standard (DIS) status by late
  2945. second quarter of 1991.
  2946.  
  2947. Conclusion
  2948.  
  2949. The April '90/Salt Lake City Meeting was a success.  We addressed the
  2950. issues we hoped to address and attained our goal for the meeting.  We
  2951. also established a schedule for reaching IEEE and ISO ballot; although
  2952. this schedule is optimistic, we think we can meet it.
  2953.  
  2954. June 1990 Standards Update                   IEEE 1003.5: Ada bindings
  2955.  
  2956.  
  2957. Volume-Number: Volume 20, Number 38
  2958.  
  2959. shar.1003.5.8174
  2960. echo 1003.6
  2961. cat >1003.6 <<'shar.1003.6.8174'
  2962. From uucp@tic.com  Thu Jun 28 16:59:49 1990
  2963. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  2964.     id AA28596; Thu, 28 Jun 90 16:59:49 -0400
  2965. Posted-Date: 28 Jun 90 18:20:43 GMT
  2966. Received: by cs.utexas.edu (5.64/1.65)
  2967.     id AA19186; Thu, 28 Jun 90 15:59:39 -0500
  2968. Received: by longway.tic.com (4.22/tic.1.2)
  2969.     id AA06448; Thu, 28 Jun 90 15:04:01 cdt
  2970. From: <jsh@usenix.org>
  2971. Newsgroups: comp.std.unix
  2972. Subject: Standards Update, IEEE 1003.6: Security
  2973. Message-Id: <384@usenix.ORG>
  2974. Sender: std-unix@usenix.ORG
  2975. Reply-To: std-unix@uunet.uu.net
  2976. Date: 28 Jun 90 18:20:43 GMT
  2977. Apparently-To: std-unix-archive@uunet.uu.net
  2978.  
  2979. From:  <jsh@usenix.org>
  2980.  
  2981.            An Update on UNIX*-Related Standards Activities
  2982.  
  2983.                               June, 1990
  2984.  
  2985.                  USENIX Standards Watchdog Committee
  2986.  
  2987.                    Jeffrey S. Haemer, Report Editor
  2988.  
  2989. IEEE 1003.6: Security
  2990.  
  2991. An anonymous source reports on the April 23-27 meeting in Salt Lake
  2992. City, UT:
  2993.  
  2994. Apologia
  2995.  
  2996. This is my first and last review as a snitch.  [ Editor: We thank you
  2997. for doing it, and hope your circumstances change to allow you to file
  2998. more.  ] In it, you'll see no party line.  My views will sometimes be
  2999. controversial, and I hope they spark discussion and feedback.  They
  3000. represent neither the views of my company nor of its clients -- I'm
  3001. submitting this anonymously so no one can misconstrue them as being my
  3002. company's -- and they're certainly not meant to represent the
  3003. consensus of the 1003.6 Working Group.
  3004.  
  3005. I'll put my biases on the table.  I'm a commercial user and commercial
  3006. software provider, not a government user, government software
  3007. provider, or UNIX vendor.  To some degree, these biases have
  3008. influenced the committee, since I've been active in the group since
  3009. its inception and attended every 1003.6 meeting.  With that
  3010. perspective, let's begin.
  3011.  
  3012. 1.  Overview
  3013.  
  3014. The 1003.6 Working Group is putting together a Department-of-Defense-
  3015. inspired version of UNIX.  Our efforts will help vendors sell systems
  3016. to the U.S. Government and its contractors.  All our interfaces will
  3017. make it easier to evaluate conforming systems at one of the DoD's
  3018. Trusted Computer Security Evaluation Criteria (TCSEC) levels.  This is
  3019. not inherently bad, but it does sell the commercial and international
  3020. communities short.  (More on this later.)
  3021.  
  3022. The working group is considering four areas: Discretionary Access
  3023. Control (DAC), Mandatory Access Control (MAC), Least Privilege, and
  3024. Audit.
  3025.  
  3026. __________
  3027.  
  3028.   * UNIX is a registered trademark of AT&T in the U.S. and other
  3029.     countries.
  3030.  
  3031. June, 1990 Standards Update                      IEEE 1003.6: Security
  3032.  
  3033.  
  3034.                 - 2 -
  3035.  
  3036. 1.1  Discretionary Access Control
  3037.  
  3038. The DAC group's job is hard.  They are devising an Access Control List
  3039. (ACL) mechanism that must co-exist with the familiar user/group/other
  3040. mechanism.  ACLs are discretionary because the user, not the system,
  3041. decides each object's access rights.  The traditional user/group/other
  3042. mechanism is also discretionary: file protections are specified by the
  3043. user.  ACLs extend this by allowing users to grant different access
  3044. permissions to arbitrary lists of named users and groups.  (In other
  3045. words, the traditional mechanism is an ACL with exactly three
  3046. entries.) Designing an ACL is easy; maintaining compatibility with
  3047. chmod, stat, umask, and the file creation mask of creat isn't.
  3048.  
  3049. 1.2  Mandatory Access Control
  3050.  
  3051. MAC is another type of access control mechanism.  All system objects
  3052. get a security label and all system users have a security
  3053. classification set by the system or the Security Administrator
  3054. (Systems Administrator).  Users have no control over this mechanism's
  3055. application; objects created by a user of classification X
  3056. automatically receive a security label of X.  Only users with
  3057. appropriate classifications can access or modify a system object.  (As
  3058. a useful, if inexact, analogy, think of the way UNIX automatically
  3059. assigns file ownerships.)
  3060.  
  3061. The TCSEC security criteria's popularity and widespread acceptance
  3062. have given MAC another connotation -- that of a codification of the
  3063. familiar, U.S.-government, hierarchical security classifications: Top
  3064. Secret, Classified, and Unclassified.  Government policy prohibits
  3065. users of a lower classification from viewing work of a higher
  3066. classification.  Conversely, users at a high classification may not
  3067. make their work available to users at a lower classification: one can
  3068. neither ``read up'' nor ``write down.'' There are also compartments
  3069. within each classification level, such as NATO, nuclear, DOE, or
  3070. project X.  Access requires the proper level and authorization for all
  3071. compartments associated with the resource.  The MAC group is defining
  3072. interfaces for such a mandatory mechanism.  It's not as confusing as
  3073. it sounds, but outside of the DoD it is as useless as it sounds.
  3074. (Prove me wrong.  Show me how this DoD policy is useful in a
  3075. commercial environment.)
  3076.  
  3077. 1.3  Least Privilege
  3078.  
  3079. The Least Privilege group is eliminating root.  They're creating both
  3080. a list of privileges to encompass all of root's special uses, (e.g.,
  3081. set-uid to a different user-id, create a directory, create a file
  3082. system, override DAC protection) and a mechanism to inherit, assign,
  3083. and enable those privileges.
  3084.  
  3085. June, 1990 Standards Update                      IEEE 1003.6: Security
  3086.  
  3087.  
  3088.                 - 3 -
  3089.  
  3090. 1.4  Audit
  3091.  
  3092. The Audit group is preparing a standard interface for a logging
  3093. mechanism, a standard format for logging records, and a list of system
  3094. calls and commands to log.
  3095.  
  3096. 2.  Standards
  3097.  
  3098. At the ISO level, there will be no separate security standard.  Our
  3099. work will be merged with the 1003.1 (System Interface), 1003.2
  3100. (Commands and Utilities), and 1003.7 (System Administration) work in
  3101. the ISO 9945-1, -2, and -3 standards.  This means every conforming
  3102. system will include security mechanisms.  I like this.  Do you?
  3103.  
  3104. 3.  Scope and motivation
  3105.  
  3106. All 1003.6 members feel we are making POSIX secure, not merely helping
  3107. sell systems to the U.S. government.  Our work is important and
  3108. necessary (except, of course, MAC), but I think our focus has been too
  3109. narrow.  We included mechanisms for the TCSEC criteria but stopped
  3110. there.  We haven't sought out the work of other countries.  We haven't
  3111. considered the work being done in international standards bodies such
  3112. as ISO and CCITT.  We haven't explicitly considered commercial users.
  3113. We've limited ourselves to helping provide TCSEC-conforming systems.
  3114. Many of us believe that the TCSEC criteria are good for commercial
  3115. applications.  Is that hopeful claim just self-serving?  We don't
  3116. know.  I wish eminent computer scientists and researchers had gotten
  3117. together to study the needs of commercial users and drawn up an
  3118. independent set of commercial security requirements.  But they didn't.
  3119.  
  3120. Kevin Murphy, of British Telecom, is the ISO/IEC JTC1/SC22/WG15
  3121. security rapporteur -- he formally represents the international
  3122. community's concerns and views.  In January, Kevin brought several of
  3123. these to the working group's attention, including our TCSEC biases and
  3124. lack of attention to ISO activities.  The international set seems to
  3125. consider the document's constant references to the TCSEC work
  3126. provincial and inconsiderate of other countries' requirements.  They
  3127. also feel we should be more aware and accepting of ISO terminology in
  3128. the document.  Kevin also says our scope is too limited in the CCITT
  3129. X.400 and X.500 areas.
  3130.  
  3131. 4.  Snowbird
  3132.  
  3133. June, 1990 Standards Update                      IEEE 1003.6: Security
  3134.  
  3135.  
  3136.                 - 4 -
  3137.  
  3138. 4.1  Plenary
  3139.  
  3140. The meeting opened with a short plenary session.  This time, the first
  3141. topic of discussion was the progress of the 1003.6 draft document.
  3142. Mike Ressler, of Bellcore, accepted the position of technical editor
  3143. and brought a new draft of 1003.6, which contained work of all but the
  3144. Audit subgroup.  In addition, an electronic copy of the document was
  3145. available for the subgroups to modify and update during the meeting.
  3146. The technical editor position had been open since October.  No draft
  3147. was available during this time, which worried us since it prevented us
  3148. from setting any realistic completion date.  With a draft in hand and
  3149. a technical editor we now project completion in April, 1991.
  3150.  
  3151. Charlie Testa's absence meant we lacked our usual, detailed report on
  3152. TRUSIX.  (TRUSIX is a DoD-sponsored organization made up of the
  3153. National Computer Security Center, AT&T, and several other companies.)
  3154. Rick Sibenaler and Shaun Rovansek, of the NCSC, gave us a brief
  3155. update, reporting that the audit rationale will be available at the
  3156. July POSIX meeting and that select experts are now reviewing the draft
  3157. version of their formal model, which is written in a formal
  3158. verification language, INA JO.
  3159.  
  3160. Some of the work of TRUSIX augments the work of 1003.6 --  pursuit of
  3161. a formal security model and descriptive, top-level specification, and
  3162. a mapping between them, for example -- but some overlaps.  I'm still
  3163. puzzled over why TRUSIX has pursued audit and DAC mechanisms when
  3164. 1003.6 is doing the same work.  (Another challenge: can anyone out
  3165. there tell me?) To their credit, TRUSIX is accomplishing their goals
  3166. much faster than 1003.6.  For example, Charlie reported in January
  3167. that the TRUSIX DAC work is already complete.  This speed may be at
  3168. the expense of POSIX, since many very good people in both
  3169. organizations are forced to split time between the two unnecessarily.
  3170.  
  3171. Mike Ressler reported on the networking/administration/security
  3172. liaison group, which spends an afternoon at every POSIX meeting
  3173. discussing mutual concerns of these three independent working groups.
  3174. Here are the liaison group's goals, in areas of our common interest:
  3175.  
  3176.    + identify areas of overlapping or missing coverage,
  3177.  
  3178.    + provide an interface to ISO, ECMA, CCITT, and other international
  3179.      bodies, and
  3180.  
  3181.    + exchange ideas and discuss related issues.
  3182.  
  3183. Peter Cordsen, of DataCentralen (Denmark), presented Danish security
  3184. requirements.  They define three levels of sensitivity, with criminal
  3185. data among the most sensitive.  There was no specific comparison to
  3186. either the U.S. TCSEC or the emerging European security criteria.
  3187. Peter suggested that the security working group begin addressing
  3188. authentication, a position that received much support from other
  3189. representatives.
  3190.  
  3191. June, 1990 Standards Update                      IEEE 1003.6: Security
  3192.  
  3193.  
  3194.                 - 5 -
  3195.  
  3196. 4.2  Draft work
  3197.  
  3198. After the plenary, we worked on the document in subgroups.
  3199.  
  3200. 4.2.1  Discretionary_Access_Control_(DAC)  The group put together a
  3201. new outline for the general and introductory sections of the draft and
  3202. rewrote those sections to follow the new outline.  They also resolved
  3203. several issues:
  3204.  
  3205.    + There will be only one type of default ACL, not the previously
  3206.      planned separate types for regular files and directories.
  3207.  
  3208.    + A mask entry type has been added to provide a mechanism that
  3209.      temporarily overrides all other entries without actually changing
  3210.      their values or deleting them from the ACL.  The feature also
  3211.      fits nicely with the current plan for ACL interaction with the
  3212.      old POSIX permission bits.
  3213.  
  3214.    + The user model for both default and actual ACLs will be the same.
  3215.      (The internal representations are undefined.) System interfaces
  3216.      will be the same, too.  A flag will be added to any interfaces
  3217.      that need to be able to distinguish the two.
  3218.  
  3219. 4.3  Audit
  3220.  
  3221. Olin Sibert, of Sun, presented a new, ``compromise'' audit proposal,
  3222. based on an earlier one by Kevin Brady, of AT&T, and Doug Steves, of
  3223. IBM, which he thought resolved some of the earlier work's problems.
  3224. The working group accepted Olin's proposal with minor changes and
  3225. incorporated it into Draft 6, which was distributed in the IEEE May
  3226. mailing.
  3227.  
  3228. 4.4  Mandatory Access Control (MAC)
  3229.  
  3230. Since Kevin Brady, the MAC chair, was participating in the Audit
  3231. discussion, and Chris Hughes, of ICL, the acting chair, was also
  3232. absent, Joe Bulger, of NCSC, ran the meeting.  It is still unclear who
  3233. will chair the MAC subgroup.
  3234.  
  3235. Through the joint efforts of Bellcore and AT&T, the MAC draft had been
  3236. translated from a proprietary, word-processor format into the
  3237. [n|t]roff + POSIX-macro format required for inclusion in the draft
  3238. standard.  The MAC draft's contents had been stable for several
  3239. meetings, so the group spent the entire week changing the document.
  3240.  
  3241. This group seems to be having the most difficulty getting its job
  3242. done.  There doesn't seem to be as much discussion and active
  3243. participation in the MAC group as the others.
  3244.  
  3245. June, 1990 Standards Update                      IEEE 1003.6: Security
  3246.  
  3247.  
  3248.                 - 6 -
  3249.  
  3250. 4.5  Privileges
  3251.  
  3252. No functional changes were made to the privileges material at this
  3253. meeting, but significant changes were made to the rationale.  The
  3254. group also firmed up concepts and disambiguated functional
  3255. ambiguities.
  3256.  
  3257. 4.6  Networking, Administration, and Security Liaison
  3258.  
  3259. The networking/administration/security liaison group held its second
  3260. meeting Wednesday afternoon.  The meeting, chaired by Mike Ressler,
  3261. started by reviewing the group's scope and goals.
  3262.  
  3263. Since there had been no ISO meeting since the January POSIX meeting,
  3264. Yvon Klein, of Group Bull (France), didn't have anything new to say
  3265. about ISO's security activities.
  3266.  
  3267. As part of the group's continuing efforts to and identify problem
  3268. areas, the system administration group and two networking groups gave
  3269. presentations on their work.  Steve Carter, of Bellcore, presented the
  3270. scope and charter of the system administration group, 1003.7, and
  3271. explained their use of an object-oriented paradigm.  Jim Oldroyd, of
  3272. the Instruction Set, followed this by presenting the work of 1003.7's
  3273. interoperability subgroup.
  3274.  
  3275. Kester Fong, of General Motors, gave an overview of the FTAM group.
  3276. He left us with the impression that there wasn't much room for
  3277. collaboration, but we'll surely need to review the relationship
  3278. between the file-system's security semantics and those of FTAM.
  3279.  
  3280. Jason Zions, of HP, gave one of the most interesting and aggressive
  3281. presentations of the day, on the work of the Transparent File Access
  3282. Group, which included a preliminary list of issues that 1003.8 feels
  3283. need to be reviewed.
  3284.  
  3285. Finally, David Rogers, of ICL (Britain), gave a presentation on the
  3286. European security criteria.  He predicted harmonization by June, 1990
  3287. of the work of Britain, France, Germany, and Holland.  The European
  3288. criteria will define separate levels of functionality and assurance.
  3289. There will be ten classes of functionality.  The first five are
  3290. hierarchical and are similar to the U.S. Orange-Book criteria; the
  3291. remaining five address particular security needs, such as integrity,
  3292. availability, and networks.  There are seven classes of assurance.  A
  3293. product evaluated under these criteria is likely to receive a rating
  3294. from the first five functional classes, one or more of the next five
  3295. functional classes, and an assurance rating.
  3296.  
  3297. June, 1990 Standards Update                      IEEE 1003.6: Security
  3298.  
  3299.  
  3300.                 - 7 -
  3301.  
  3302. 4.7  Final Comments
  3303.  
  3304. With the short plenary session, the availability of the draft document
  3305. in electronic form, and the presence of many lap-top systems to work
  3306. on, this meeting was one of our most productive.  The group seems to
  3307. have picked up enthusiasm from the knowledge that our work is coming
  3308. together and the end is in sight.
  3309.  
  3310. June, 1990 Standards Update                      IEEE 1003.6: Security
  3311.  
  3312. Volume-Number: Volume 20, Number 55
  3313.  
  3314. shar.1003.6.8174
  3315. echo 1003.7
  3316. cat >1003.7 <<'shar.1003.7.8174'
  3317. From jsq@longway.tic.com  Sun Jun  3 17:25:51 1990
  3318. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  3319.     id AA29512; Sun, 3 Jun 90 17:25:51 -0400
  3320. Posted-Date: 3 Jun 90 21:21:41 GMT
  3321. Received: from longway.UUCP by cs.utexas.edu (5.61/1.62)
  3322.     id AA09943; Sun, 3 Jun 90 16:25:48 -0500
  3323. Received: by longway.tic.com (4.22/4.16)
  3324.     id AA20945; Sun, 3 Jun 90 16:22:16 cdt
  3325. From: <usenix.org!jsh@longway.tic.com>
  3326. Newsgroups: comp.std.unix
  3327. Subject: Standards Update, IEEE 1003.7: System Administration, Interoperability Subgroup
  3328. Message-Id: <713@longway.TIC.COM>
  3329. Sender: std-unix@longway.tic.com
  3330. Reply-To: std-unix@uunet.uu.net
  3331. Date: 3 Jun 90 21:21:41 GMT
  3332. Apparently-To: std-unix-archive@uunet.uu.net
  3333.  
  3334. From:  <jsh@usenix.org>
  3335.  
  3336.            An Update on UNIX<=-Related Standards Activities
  3337.  
  3338.                                May 1990
  3339.  
  3340.                  USENIX Standards Watchdog Committee
  3341.  
  3342.                    Jeffrey S. Haemer, Report Editor
  3343.  
  3344. IEEE 1003.7: System Administration, Interoperability Subgroup
  3345.  
  3346. Jim R. Oldroyd <jr@inset.com> reports on the April 23-27 meeting in
  3347. Salt Lake City, UT:
  3348.  
  3349. POSIX has given P1003.7 a charter to define both command-line and
  3350. applications-programming interfaces for administering multiple,
  3351. networked machines from a central point.  Most reports on this group
  3352. seem to focus on the group's object-oriented approach: the
  3353. administerable classes the group is defining, their attributes
  3354. (properties) and their operators.  [Editor: Martin Kirk has promised
  3355. us a report on this.  Watch for it soon.]
  3356.  
  3357. Sometimes overlooked in this object-oriented frenzy is another,
  3358. equally important, and perhaps more difficult goal of the group:
  3359. interoperability.
  3360.  
  3361. Imagine, for example, an administrator who wishes to execute an
  3362. operation on some fraction of nodes in a large, heterogeneous network
  3363. of POSIX systems.  The administrator wants to be able to issue the
  3364. request once --  and at his or her own terminal.  The system should
  3365. take care of determining which actual objects are affected and of
  3366. communicating the request to them.
  3367.  
  3368. How should this be done?  The fact that today's networks are
  3369. heterogeneous means that it is not sufficient for vendors simply to
  3370. supply systems with a consistent set of administerable object classes.
  3371. Nor is it enough for vendors to define a consistent set of commands
  3372. and API names that operate on these classes.  On top of this, there
  3373. has to be a consistent language for systems from different vendors to
  3374. communicate with each other in order to tell each other that changes
  3375. have to be made to some of the objects they are supporting.
  3376.  
  3377. The P1003.7 Interoperability subgroup is defining a standard protocol
  3378. for communication with remote objects.
  3379.  
  3380. Currently, we are trying to work out the protocol's requirements.  The
  3381. protocol will have to support varied system-management philosophies.
  3382.  
  3383. __________
  3384.  
  3385.  => UNIX is a registered trademark of AT&T in the U.S. and other
  3386.     countries.
  3387.  
  3388. May 1990 IEEEd1003.7:dSystem Administration, Interoperability Subgroup
  3389.  
  3390.  
  3391.                                 - 2 -
  3392.  
  3393. Some operations, such as re-enabling all PostScript<= printers, should
  3394. be queued and executed independently for each target.  Failure to
  3395. enable one printer does not mean that the other printers should remain
  3396. disabled.  Others operations must be atomic over the domain, for
  3397. example, when adding a user to a set of machines, it is necessary to
  3398. confirm that a UID is available on all target machines before adding
  3399. the user to any machine.
  3400.  
  3401. Each of these problems saddles the protocol with a different
  3402. requirement.  The former case could be handled by broadcasting an
  3403. instruction and collecting success or failure reports later; the
  3404. latter requires a two-phase commit, requesting confirmation that
  3405. successful completion is possible throughout the domain before
  3406. actually mandating the change.
  3407.  
  3408. Do we have to invent a new protocol from scratch?  P1003.7 is actively
  3409. studying existing protocols, such as ISO's CMIP/CMIS and the Internet
  3410. SNMP.  Both of these are existing protocols designed to manage objects
  3411. across multiple systems -- exactly as per P1003.7's needs.  However,
  3412. both of these are actually designed to manage the network itself, and
  3413. it is not clear that they lend themselves to management of things like
  3414. users, printers and filesystems (etc.) properly.  We hope to discover
  3415. whether some existing protocol will fill the bill in the next few
  3416. meetings.
  3417.  
  3418. The Interoperability subgroup of P1003.7 will continue work in this
  3419. area at our next meeting (Danvers, MA, July 16-20).  If you are an
  3420. interested party, we want to hear from you.
  3421.  
  3422. __________
  3423.  
  3424.  => PostScript is a trademark of Adobe Systems, Inc.
  3425.  
  3426. May 1990 IEEEd1003.7:dSystem Administration, Interoperability Subgroup
  3427.  
  3428. Volume-Number: Volume 20, Number 22
  3429.  
  3430. shar.1003.7.8174
  3431. echo 1003.9
  3432. cat >1003.9 <<'shar.1003.9.8174'
  3433. From uucp@tic.com  Sat Jun 23 14:45:48 1990
  3434. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  3435.     id AA19419; Sat, 23 Jun 90 14:45:48 -0400
  3436. Posted-Date: 23 Jun 90 12:21:21 GMT
  3437. Received: by cs.utexas.edu (5.64/1.63)
  3438.     id AA17434; Sat, 23 Jun 90 10:02:01 -0500
  3439. Received: by longway.tic.com (4.22/tic.1.2)
  3440.     id AA24904; Sat, 23 Jun 90 09:25:02 cdt
  3441. From: <jsh@usenix.org>
  3442. Newsgroups: comp.std.unix
  3443. Subject: Standards Update, IEEE 1003.9: FORTRAN bindings
  3444. Message-Id: <380@usenix.ORG>
  3445. Sender: std-unix@usenix.ORG
  3446. Reply-To: std-unix@uunet.uu.net
  3447. Date: 23 Jun 90 12:21:21 GMT
  3448. Apparently-To: std-unix-archive@uunet.uu.net
  3449.  
  3450. From:  <jsh@usenix.org>
  3451.  
  3452.  
  3453.            An Update on UNIX*-Related Standards Activities
  3454.  
  3455.                                May 1990
  3456.  
  3457.                  USENIX Standards Watchdog Committee
  3458.  
  3459.                    Jeffrey S. Haemer, Report Editor
  3460.  
  3461. IEEE 1003.9: FORTRAN bindings
  3462.  
  3463. Michael Hannah <mjhanna@SANDIA.GOV> reports on the April 23-27 meeting
  3464. in Salt Lake City, UT:
  3465.  
  3466. FORTRAN bindings committee prepares to go to ballot
  3467.  
  3468. The FORTRAN bindings committee is preparing the official call for a
  3469. ballot group.  Because the POSIX work is all done under the auspices
  3470. of the IEEE Technical Committee on Operating Systems Standards
  3471. Subcommittee (TCOS-SS), all members of the ballot group must be both
  3472. regular IEEE or Computer Society members.  and members of the TCOS-SS
  3473. (no extra charge to join).  Non-members may submit informative
  3474. ballots, but such ballots cannot count towards the required response
  3475. percentage (75%), or percentage of affirmative responses (also 75%)
  3476. required for passage of the standard.  [Editor: Institutional
  3477. Representatives are exceptions to this rule.  See IEEE 1003.1-1988,
  3478. p. 177 for a detailed explanation of the rules.]
  3479.  
  3480. For more information, the appropriate membership forms, and
  3481. instructions for returning the forms to the proper IEEE offices,
  3482. contact the committee chair, John McGrory, at the address listed at
  3483. the end of this article.  This information/sign-up packet will be
  3484. available by the end of June, but you may contact the chair as soon as
  3485. you want your name added to the distribution list.
  3486.  
  3487. The formal sign-up period is expected to be August 15 through October
  3488. 19, 1990.  The ballot period is expected to last from November 9, 1990
  3489. through January 4, 1991.  We are especially eager to attract a large,
  3490. representative balloting group, and encourage interested individuals
  3491. to sign up.  While the views represented on the P1003.9 working group
  3492. have been appropriate and varied, the number of active members has
  3493. been small (typically, around a dozen).
  3494.  
  3495. __________
  3496.  
  3497.   * UNIX is a registered trademark of AT&T in the U.S. and other
  3498.     countries.
  3499.  
  3500. May 1990 Standards Update                IEEE 1003.9: FORTRAN bindings
  3501.  
  3502.  
  3503.                 - 2 -
  3504.  
  3505. Some history
  3506.  
  3507. As the committee prepares to go to ballot, it might be of value to
  3508. review some of the more sticky issues that the working group has
  3509. addressed.  The formal, adopted charter of the committee is to provide
  3510. access to the POSIX-defined, standard operating system interface and
  3511. environment, directly from the FORTRAN language.  There are two major
  3512. issues of scope that bear comment: ``Access to how much of POSIX?''
  3513. and ``Which FORTRAN?''
  3514.  
  3515. Some POSIX features are easily imagined as useful to a FORTRAN
  3516. application (e.g., chmod, exec, etc.); some are less easily imagined
  3517. (pick your favorite obscure system call).  It was unclear where to
  3518. draw the line, so the committee took the attitude of ensuring access
  3519. to all features defined in 1003.1 (IEEE 1003.1-1988, or ISO/IEC 9945-
  3520. 1:1990).  It seemed clear that full functional access would be
  3521. provided by most vendors, so full standardization seemed called for.
  3522. Some diehard C language addicts continue to ask, ``Why have any
  3523. FORTRAN bindings?'' Although most vendors provide a method of calling
  3524. C functions from FORTRAN, they vary from vendor to vendor.  Further,
  3525. any library of C routines provided by a vendor to map FORTRAN
  3526. constructs to the POSIX defined procedures is bound to differ among
  3527. vendors.  The P1003.9 bindings are silent on implementation, so the
  3528. FORTRAN subprograms defined in the bindings could be implemented as
  3529. just such a library.  The bindings just standardize the interface.
  3530. Keeping in mind the POSIX goal of application portability, only a
  3531. truly complete FORTRAN binding would provide portability of any
  3532. FORTRAN application.
  3533.  
  3534. A harder issue was, ``Which FORTRAN?'' Our choices were:
  3535.  
  3536.   1.  FORTRAN 77 [ANSI X3.9-1978, ISO 1539-1980 (E)],
  3537.  
  3538.   2.  a codification of common extensions/enhancements to FORTRAN 77,
  3539.       or
  3540.  
  3541.   3.  the revised FORTRAN standard emerging from the ANSI X3J3
  3542.       committee --  previously referred to as FORTRAN 8X but now
  3543.       called Fortran 90.  (The working group has been delighted to
  3544.       have an officially appointed representative of X3J3 as an active
  3545.       member.) [Editor: Note that Fortran 90 will finally let us type
  3546.       the name of the language without using the caps-lock key.  ``And
  3547.       gain is gain, however small.''  --  Robert Browning]
  3548. We chose the first.
  3549.  
  3550. For FORTRAN 77 vs. Fortran 90, we were swayed by the fact that FORTRAN
  3551. 77 is currently the only adopted standard.  (Fortran 90 is scheduled
  3552. to be adopted as an ANSI standard after P1003.9 goes to ballot.)
  3553. Further, FORTRAN-77-based applications are expected to exist for some
  3554. years.  Thus, the working group felt that FORTRAN-77-based bindings
  3555. would be of value to the user community.  The working group expects to
  3556.  
  3557. May 1990 Standards Update                IEEE 1003.9: FORTRAN bindings
  3558.  
  3559.  
  3560.                 - 3 -
  3561.  
  3562. develop a new set of bindings, based solely on Fortran 90, after
  3563. completion of the FORTRAN 77 bindings (and after the Fortran 90
  3564. standard is adopted).  One result of this decision is a subprogram-
  3565. naming scheme that reflects the version of the language (e.g., CALL
  3566. F77MKDIR(...) ).  This will ensure that there will be no name-space
  3567. conflict with similar-purpose subprograms in a future Fortran 90
  3568. binding.
  3569.  
  3570. An even harder issue, once we decided to base the bindings on FORTRAN
  3571. 77, was whether to define the bindings as extensions and/or
  3572. enhancements to the language itself, or simply as a library of
  3573. callable FORTRAN subprograms.  While the latter was finally chosen,
  3574. there was considerable argument for the former.  In fact, one
  3575. extension to FORTRAN 77 was considered minimally essential.  The
  3576. current document requires the language to differentiate external names
  3577. unique to 31 characters, even though the FORTRAN 77 standard limits
  3578. them to six.  The extension seems harmless.  Fortran 90 specifies
  3579. uniqueness to 31 characters and all current FORTRAN 77 compilers
  3580. researched provide this extension.  Further, since the list of P1003.9
  3581. subprogram names is finite, if necessary, a vendor could provide a
  3582. preprocessor to convert these names into unique strings of six
  3583. characters.
  3584.  
  3585. If the P1003.9 bindings had defined changes to the language itself,
  3586. then major missing constructs in the FORTRAN 77 language needed for
  3587. easy POSIX access (most notably, structures and pointers) could have
  3588. been provided by choosing either the emerging Fortran 90 constructs or
  3589. an existing vendor solution.  At first the working group felt that
  3590. this might be required for some access features.  However, as we
  3591. struggled with each issue, working papers and proposals were
  3592. introduced that resolved every one with callable FORTRAN subprograms
  3593. (though some might argue about elegance or ease of use).  While we
  3594. mostly steered clear of ``ease-of-implementation'' arguments, since we
  3595. viewed the FORTRAN 77 bindings as an interim, we felt that vendors
  3596. would be quicker to implement a library of subprograms than
  3597. modifications to compilers.
  3598.  
  3599. A final, hard question of standard scope concerned whether to restrict
  3600. the standard to 1003.1, or expand it to general, FORTRAN-application
  3601. portability issues, both within and outside the POSIX arena.  Both a
  3602. lack of resources and a desire to provide a timely bindings on the
  3603. heels of 1003.1 made us decide to limit the scope to 1003.1
  3604. functionality.
  3605.  
  3606. As other base standards are produced (e.g., 1003.2, 1003.4, etc.), we
  3607. expect to construct and ballot bindings for those standards.  For
  3608. example, we have worked with P1003.2 in defining a standardized
  3609. command to invoke the FORTRAN compiler (after a number of iterations,
  3610. now named fort77) which is part of their current draft.  Actual
  3611. P1003.9 bindings to 1003.2 might include definitions of additional
  3612. utilities of use to FORTRAN applications not mentioned in the base
  3613. 1003.2 standard (e.g., f77split, f77lint, etc.).
  3614.  
  3615. May 1990 Standards Update                IEEE 1003.9: FORTRAN bindings
  3616.  
  3617.  
  3618.                 - 4 -
  3619.  
  3620. Another argument against adding features was that many, if not most,
  3621. of the problems we saw in portability are solved by new constructs in
  3622. Fortran 90.  Many of us felt that as a standards group we should only
  3623. provide a minimum set of features for ``perhaps-soon-to-be-obsolete''
  3624. FORTRAN 77, and thereby speed up the date for providing full bindings
  3625. to the new Fortran 90, which provides more features for application
  3626. portability.
  3627.  
  3628. How to get involved
  3629.  
  3630. If you have strong feelings about these issues, the most effective
  3631. avenue to express them at this point is to join the balloting group
  3632. being formed.  Nevertheless, if you wish to discuss them before this
  3633. you can also directly contact the chair (John McGrory) or me (vice-
  3634. chair, Michael Hannah), or join the e-mail discussion group.
  3635. Addresses follow:
  3636.  
  3637. P1003.9 Chair
  3638. John McGrory
  3639. Hewlett Packard Co.
  3640. Division 2615
  3641. 19046 Pruneridge Avenue
  3642. Cupertino, Ca 95014
  3643. mcgrory%hpda@HPLABS.HP.COM
  3644.  
  3645. P1003.9 ViceChair
  3646. Michael Hannah
  3647. Sandia National Labs
  3648. Albuquerque, NM 87185
  3649. mjhanna@SANDIA.GOV
  3650.  
  3651. Un-moderated mailing list:
  3652. posix-fortran@SANDIA.GOV
  3653. To join the list, send request to:
  3654. posix-fortran-request@SANDIA.GOV
  3655.  
  3656. May 1990 Standards Update                IEEE 1003.9: FORTRAN bindings
  3657.  
  3658. Volume-Number: Volume 20, Number 43
  3659.  
  3660. shar.1003.9.8174
  3661. echo tag
  3662. cat >tag <<'shar.tag.8174'
  3663. From uucp@tic.com  Tue Jul 31 14:49:23 1990
  3664. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  3665.     id AA05992; Tue, 31 Jul 90 14:49:23 -0400
  3666. Posted-Date: 31 Jul 90 16:47:04 GMT
  3667. Received: by cs.utexas.edu (5.64/1.68)
  3668.     id AA17561; Tue, 31 Jul 90 13:49:15 -0500
  3669. Received: by longway.tic.com (4.22/tic.1.2)
  3670.     id AA20065; Tue, 31 Jul 90 13:50:11 cdt
  3671. From: <jsh@usenix.org>
  3672. Newsgroups: comp.std.unix
  3673. Subject: Standards Update, U.S. TAG to ISO/IEC JTC1 SC22 WG15
  3674. Message-Id: <408@usenix.ORG>
  3675. Sender: std-unix@usenix.ORG
  3676. Reply-To: std-unix@uunet.uu.net
  3677. Date: 31 Jul 90 16:47:04 GMT
  3678. Apparently-To: std-unix-archive@uunet.uu.net
  3679.  
  3680. From:  <jsh@usenix.org>
  3681.  
  3682.  
  3683.            An Update on UNIX*-Related Standards Activities
  3684.  
  3685.                               July, 1990
  3686.  
  3687.                  USENIX Standards Watchdog Committee
  3688.  
  3689.                    Jeffrey S. Haemer, Report Editor
  3690.  
  3691. U.S. TAG to ISO/IEC JTC1 SC22 WG15
  3692.  
  3693. Susanne Smith <sws@calvin.wa.com> reports on the June 1 meeting in
  3694. Denver, Colorado:
  3695.  
  3696. 1.  Overview
  3697.  
  3698. Before you ask, ISO/IEC JTC1 SC22 WG15 is ISO POSIX.  The U.S. TAG is
  3699. the United States Technical Advisory Group, which formulates the U.S.
  3700. position on WG15 issues and chooses the U.S. delegation to WG15
  3701. meetings.
  3702.  
  3703. The TAG usually meets in conjunction with the IEEE POSIX meetings.
  3704. The June 1 meeting was a special meeting, held to complete the many
  3705. unfinished tasks left from Snowbird and ready the instructions to the
  3706. U.S. delegation before the June 11 WG15 meeting.
  3707.  
  3708. 2.  Two vacant positions
  3709.  
  3710. Terry Dowling, vice-chair and security rapporteur, resigned after the
  3711. New Orleans meeting in January.  Currently there are no candidates for
  3712. the vice-chair position.  Donn Terry has been assuming the
  3713. responsibilities in the interim.
  3714.  
  3715. A rapporteur group is a group of technical experts that discusses
  3716. specialized aspects of a particular standards effort.  The specialized
  3717. aspects usually have a broader scope than an individual standard and
  3718. require coordination of effort between standards bodies.  WG15 has
  3719. three: internationalization, security, and conformance.  The TAG
  3720. currently has rapporteurs for internationalization (Donn Terry) and
  3721. conformance (Roger Martin).  John Hill and Al Weaver said that they
  3722. would be able to cover the June 11 security meetings in Paris.
  3723.  
  3724. __________
  3725.  
  3726.   * UNIXTM is a Registered Trademark of UNIX System Laboratories in
  3727.     the United States and other countries.
  3728.  
  3729. July, 1990 Standards Update         U.S. TAG to ISO/IEC JTC1 SC22 WG15
  3730.  
  3731.  
  3732.                 - 2 -
  3733.  
  3734. 3.  Some important decisions from Snowbird
  3735.  
  3736. 3.1  Profile groups get help
  3737.  
  3738. SC22 asked WG15 to develop a plan to help groups writing profiles.  (A
  3739. profile is an application-area-specific set of pointers to standards.
  3740. For example, P1003.10 is developing a supercomputing profile.) Wearing
  3741. his WG15-convener hat, Jim Isaak drafted and submitted a ``POSIX
  3742. Harmonization Proposal'' --  a plan that gives profile groups a way to
  3743. observe WG15 meetings and participate when their proposals are being
  3744. considered.  The plan lists the responsibilities of both the
  3745. ``harmonization liaison'' and WG15.  The TAG approved the plan with
  3746. comments, including changing ``harmonization'' to ``coordination.''
  3747. [Editor: I think ``harmonization'' is ugly, but it does parallel the
  3748. ``MUSIC'' acronym that's gaining ground in the UNIX, er, ``Open
  3749. Systems'' arena.]
  3750.  
  3751. 3.2  Speeding international approval
  3752.  
  3753. SC22 has asked all working groups doing development work in national
  3754. bodies (for example, WG15 and IEEE P1003) to find a way to synchronize
  3755. their national and international efforts.  Such synchronization will
  3756. help eliminate delays between national-body approval and ISO approval;
  3757. it will also insure that both national and international bodies use
  3758. the same text and speed achieving a broad consensus by circulating
  3759. them in both bodies simultaneously.
  3760.  
  3761. Donn Terry, TAG chair, and Jim Isaak (him again?) shouldered the
  3762. burden of developing the plan and submitted it at Snowbird.  The meat
  3763. of the proposal is the following synchronization process:
  3764.  
  3765.    - SC22 review and comment
  3766.  
  3767.    - IEEE balloting; document ready for broad comment
  3768.  
  3769.    - U.S. recommends CD registration be requested by WG15.  (CD,
  3770.      Committee Document, is now used instead of DP Draft Proposal.)
  3771.  
  3772.    - CD comments fed to IEEE balloting; IEEE recommendations fed to CD
  3773.      process
  3774.  
  3775.    - IEEE final approval delayed until updated draft is suitable for
  3776.      DIS registration
  3777.  
  3778.    - DIS and ANSI approval run in parallel; substantive feedback from
  3779.      DIS ballot creates an IEEE PAR
  3780.  
  3781. Final authority to approve or reject the plan rests with SC22 and the
  3782. IEEE Computer Society Standards Activities Board, but the TAG voted
  3783. ``No with binding comments,'' objecting to a few details.  If the
  3784. problems listed below are fixed, the vote will automatically change to
  3785.  
  3786. July, 1990 Standards Update         U.S. TAG to ISO/IEC JTC1 SC22 WG15
  3787.  
  3788.  
  3789.                 - 3 -
  3790.  
  3791. ``Yes.''
  3792.  
  3793.    + Under the plan, TCOS/SEC documents, such as standards drafts and
  3794.      administrative status reports, would all be sent to WG15 and SC22
  3795.      to encourage feedback before balloting.  The plan would force
  3796.      TCOS working groups to use the JTC1 format for draft documents.
  3797.      Currently POSIX documents use a unique TCOS format, so the TAG
  3798.      objected to this requirement but added the comment that the
  3799.      format should be one approved by the ITTF (Information Technology
  3800.      Task Force, formerly, the ``Central Secretariat'').
  3801.  
  3802.    + The TAG also objected to the requirement that TCOS meet outside
  3803.      of the U.S. mainland every 12 to 18 months to encourage
  3804.      international participation.  It did not object to meeting
  3805.      outside the U.S., but thought the requirement did not belong in
  3806.      the plan.
  3807.  
  3808. 4.  Decisions made in this meeting
  3809.  
  3810. 4.1  Formatting nits still block ISO UNIX
  3811.  
  3812. The 9945-1 document (the ISO version of 1003.1) still has problems.
  3813. WG15 recommended registering it as an International Standard (IS), but
  3814. is now stuck in a loop: ISO demands a format change, the IEEE makes
  3815. the change, then ISO finds a new formatting problem.  The TAG thinks
  3816. this loop has gone on long enough, and recommended that WG15 form an
  3817. ad hoc committee to determine what ISO will accept.
  3818.  
  3819. 4.2  P1003.1 updates go international
  3820.  
  3821. WG15 is balloting to make 9945-1.2 (which corresponds to 1003.1a,
  3822. draft 5) a Draft International Standard (DIS). The TAG approved the
  3823. U.S. position with comments.  What's that mean?
  3824.  
  3825. Voting within WG15 is done by member country.  To arrive at the U.S.'s
  3826. position on a WG15 ballot, the TAG members draft a position then vote
  3827. on it, one vote per corporation.  (POSIX participation, in contrast,
  3828. is by individuals.) The final ballot resolution is presented to WG15
  3829. as the U.S. position, Sometimes a voice vote suffices, but DISs, NPs
  3830. (New Proposal, formerly New Work Item), or CDs (Committee Document,
  3831. formerly Draft Proposal), require a letter ballot.
  3832.  
  3833. The initial letter-ballot vote was nine yesses, two noes (with
  3834. comments), three abstentions; the two negative ballots were from Sun
  3835. and AT&T.  We considered three options for AT&T's comments:
  3836.  
  3837.   1.  do nothing and write a response to AT&T explaining why,
  3838.  
  3839.   2.  pass the comments on to WG15, or
  3840.  
  3841. July, 1990 Standards Update         U.S. TAG to ISO/IEC JTC1 SC22 WG15
  3842.  
  3843.  
  3844.                 - 4 -
  3845.  
  3846.   3.  pass the comments on to the 1003.1 working group, who could
  3847.       better judge their technical merits,
  3848.  
  3849. and chose the third.  In contrast, we incorporated Sun's comment into
  3850. our position.  Though someone suggested that AT&T might not be getting
  3851. fair treatment, Sun's comment (which simply noted that a change made
  3852. in chapter eight was not reflected in chapter two) was only a response
  3853. to the TAG ballot, while the AT&T comments, were more far-reaching
  3854. responses to 9945-1.2 itself and demanded a different forum.
  3855. Nevertheless, the group asked the ad hoc committee reforming TAG
  3856. procedures to reconsider the ballot resolution process.
  3857.  
  3858. 4.3  How can you be two places at once (when you're ... )?
  3859.  
  3860. In light of the amount of time TAG meetings keep members from
  3861. attending working groups, we decided to meet Sundays before and
  3862. Thursdays and Fridays during the POSIX meetings.  This new schedule
  3863. will start with the Seattle meeting in October. The idea is to
  3864. complete as much as possible on Sunday and have Thursday and Friday
  3865. available if necessary. We agreed that the TAG should allocate this
  3866. much time to avoid one-day meetings like this one.  The SEC meeting
  3867. schedule may force this to change; several TAG members are TCOS
  3868. officers, committee chairs, or Institutional Representatives, all of
  3869. which are automatically SEC members.
  3870.  
  3871. 4.4  Last, least
  3872.  
  3873. Both P1237 and X3T5.5 are working on remote procedure calls (RPC).
  3874. X3T5.5 is specifying the data stream encoding and P1237 is working on
  3875. the Application Programming Interface (API).  The TAG recommended that
  3876. the API work be brought to the ISO level under the WG15 umbrella.
  3877.  
  3878. July, 1990 Standards Update         U.S. TAG to ISO/IEC JTC1 SC22 WG15
  3879.  
  3880. Volume-Number: Volume 20, Number 151
  3881.  
  3882. shar.tag.8174
  3883. echo x3b11.1
  3884. cat >x3b11.1 <<'shar.x3b11.1.8174'
  3885. From jsq@longway.tic.com  Sat May 19 15:44:21 1990
  3886. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  3887.     id AA28141; Sat, 19 May 90 15:44:21 -0400
  3888. Posted-Date: 19 May 90 19:32:16 GMT
  3889. Received: by cs.utexas.edu (5.61/1.62)
  3890.     id AA06961; Sat, 19 May 90 14:44:15 -0500
  3891. Received: by longway.tic.com (4.22/4.16)
  3892.     id AA11079; Sat, 19 May 90 14:32:52 cdt
  3893. From: <usenix.org!jsh@longway.tic.com>
  3894. Newsgroups: comp.std.unix
  3895. Subject: Standards Update, ANSI X3B11.1: WORM File Systems
  3896. Message-Id: <694@longway.TIC.COM>
  3897. Sender: std-unix@longway.tic.com
  3898. Reply-To: std-unix@uunet.uu.net
  3899. Date: 19 May 90 19:32:16 GMT
  3900. Apparently-To: std-unix-archive@uunet.uu.net
  3901.  
  3902. From: <jsh@usenix.org>
  3903.  
  3904.  
  3905.            An Update on UNIX*-Related Standards Activities
  3906.  
  3907.                                May 1990
  3908.  
  3909.                  USENIX Standards Watchdog Committee
  3910.  
  3911.                    Jeffrey S. Haemer, Report Editor
  3912.  
  3913. ANSI X3B11.1: WORM File Systems
  3914.  
  3915. Andrew Hume <andrew@research.att.com> reports on the April 17-19, 1990
  3916. meeting in Tucson, AZ:
  3917.  
  3918. Introduction
  3919.  
  3920. X3B11.1 is working on a standard for file interchange on write-once,
  3921. non-sequential (random access) media: a portable file system for
  3922. WORMs.  This was our fourth meeting.  With many major issues somewhat
  3923. settled, our main, remaining decisions are how to implement directory
  3924. hierarchies and how to manage free space.
  3925.  
  3926. Multi-Volume Sets
  3927.  
  3928. WORM file systems store a fair amount of information per file (such as
  3929. most of the fields in struct stat), per directory, per partition, and
  3930. per volume.  A volume is a logical address space associated with a
  3931. piece of physical media.  For example, a WORM disk that can only be
  3932. accessed one side at a time would be two volumes.  Each volume has a
  3933. label block describing its size, partitions, directory hierarchies,
  3934. free-space management, and so on.  (Free-space management is discussed
  3935. below; for now, this could mean a pointer to the next free block.)
  3936.  
  3937. Informally, multi-volume sets means files and directories can be
  3938. spread over several volumes.  Here are some requirements for this
  3939. feature:
  3940.  
  3941.    - A file can be bigger than a volume (file sizes are limited to
  3942.      2**64 bytes).
  3943.  
  3944.    - You can append to a file.
  3945.  
  3946.    - You can update any part of a file.
  3947.  
  3948.    - All volumes need not be simultaneously accessible.  (That is, if
  3949.      you have a three-volume volume set, you don't need three drives.)
  3950.  
  3951. __________
  3952.  
  3953.   * UNIX is a registered trademark of AT&T in the U.S. and other
  3954.     countries.
  3955.  
  3956. May 1990 Standards Update              ANSI X3B11.1: WORM File Systems
  3957.  
  3958.  
  3959.                                 - 2 -
  3960.  
  3961.    - Each volume, and the whole volume set, must be consistent after
  3962.      an update.
  3963.  
  3964.    - Usable, although perhaps not fast, on a single drive.  The idea
  3965.      is that you can't mandate that the control structures for the
  3966.      volume set be distributed over the set, because that would mean
  3967.      that on single-drive systems, users might have to mount every
  3968.      volume to recover even a single file.  We would like to require
  3969.      only that the user mount the volume the file is on and perhaps
  3970.      one other (the master volume).
  3971.  
  3972.    - Each volume must be self-contained (for disaster recovery),
  3973.  
  3974.    - Security control is per volume, directory, and file.
  3975.  
  3976. After convincing ourselves that we all spoke roughly the same
  3977. language, we came to consensus decisions for the following questions:
  3978.  
  3979.    - Can a file description point to extents (files are spread across
  3980.      a list of extents) on later volumes? (Yes)
  3981.  
  3982.    - Can a directory entry point to a file description on a later
  3983.      volume? (Yes)
  3984.  
  3985.    - Must a directory be completely contained on a single volume? (No)
  3986.      Why?  There's no reason to require it.  All implementations are
  3987.      likely to use the same primitives to manage files and directories
  3988.      (that is, they'll implement directories as files); if you can
  3989.      handle multi-volume files correctly, directories should be easy
  3990.      too.  Some people were concerned about being able to get the
  3991.      directory in one (more or less) I/O or block (especially for MS-
  3992.      DOS) but that can't happen in general; directories and files are
  3993.      likely to be spread all over the volume.
  3994.  
  3995.    - must all the file descriptions for a single directory hierarchy
  3996.      fit on a single volume? (no)
  3997.  
  3998.    - should each volume of a volume set point to the volume describing
  3999.      the root of the main directory hierarchy for that set? (yes)
  4000.  
  4001. The above involve subtleties not readily apparent; details available
  4002. on request.
  4003.  
  4004. Directory Hierarchies
  4005.  
  4006. Much discussion centered on how to implement directory hierarchies --
  4007. at least, after our initial surprise discovery that we are committed
  4008. to support multiple directory hierarchies.  This commitment comes from
  4009. the CD-ROM standard, ISO 9660, where the intent was to have an ASCII
  4010. directory tree and one or more national-character-set trees.
  4011.  
  4012. May 1990 Standards Update              ANSI X3B11.1: WORM File Systems
  4013.  
  4014.  
  4015.                                 - 3 -
  4016.  
  4017. [Editor: CD-ROMs, like WORMs, are on write-only media, but solve
  4018. different problems.  Both provide tremendous storage capacity, but
  4019. CD-ROMs appear to the user to be read-only, while WORMs appear to
  4020. provide read and write access.  Nevertheless, on WORMs, writing to a
  4021. file means either appending characters to a pre-allocated chunk of
  4022. disk, or rewriting a new version of the file in a new place.  Once a
  4023. file, or file version, is discarded, the piece of the physical medium
  4024. it's stored on is forever lost, not released for re-use.  CD-ROMs are
  4025. for storing the Encyclopedia Britannica; WORMs are for storing
  4026. backups.  ]
  4027.  
  4028. Our basic choice is between what I call the scattered directory tree,
  4029. which is much like the standard, UNIX file system, and path tables
  4030. (linearized encodings of the tree structure).  ISO 9660 supports both.
  4031. Scattered directories are simpler to deal with and somewhat easier to
  4032. update, but probably slow to access because they require too much
  4033. seeking.  Path tables seem faster at first glance (large contiguous
  4034. reads, etc.), but their simplicity and speed seem to evaporate when
  4035. the tables are modified.  There is no consensus on which method to
  4036. use.  I originally held out for two methods, a flexible one and a
  4037. really fast one, but have come to the conclusion, reinforced by
  4038. conversations with Ken Thompson, that it is better to have one
  4039. flexible method in the standard -- scattered directories --  and
  4040. handle accelerators, such as directory trees cached on magnetic disk,
  4041. as system-dependent structures outside the standard.
  4042.  
  4043. Suppose you update a file; doesn't that mean you also have to re-write
  4044. the directory, and, therefore, its parent directory, and, therefore,
  4045. its parent directory, and so on all the way up to the root directory?
  4046. And the volume header?  How do you find the root directory, the volume
  4047. header, and so on?  This stuff is not yet decided but we envision that
  4048. the file description stuff will have preallocated spare space so that
  4049. a few updates can be done without changing anything outside the file
  4050. description.  Once this space is full, the system will have to get
  4051. free space elsewhere, which implies updating some other area
  4052. describing the free space.  The volume header is in a fixed location
  4053. (probably 8KB in from the start of media) and will point to any later
  4054. volume headers and other stuff (such as where the root of the various
  4055. directory trees are).
  4056.  
  4057. Requirements for the directory hierarchy include space and time
  4058. efficiency, robustness (e.g., to minimize damage from a single I/O
  4059. error), a single, fast structure (unlike ISO 9660's two), and that a
  4060. directory entry for a file must be complete (that is, point to all the
  4061. extents for that file).
  4062.  
  4063. May 1990 Standards Update              ANSI X3B11.1: WORM File Systems
  4064.  
  4065.  
  4066.                                 - 4 -
  4067.  
  4068. Space Allocation and Management
  4069.  
  4070. We must support pre-allocation of space (e.g., ``Reserve 40MB of
  4071. contiguous space for file `xyz'. '') both for speed and to support
  4072. systems like the MacIntosh.  Because of the latter, we also need to
  4073. support giving back unused reserved space for later use.
  4074.  
  4075. These two requirements appear to force the standard to address
  4076. describing the free space in a volume set, which will also be
  4077. important if the standard is extended to cover R/W optical disks,
  4078. where freed blocks need to be cleared before reuse.  The two choices
  4079. appear to be run-length encodings of the free space or bitmap
  4080. techniques.  The former can degrade to being quite large, while the
  4081. latter have a fixed, but high, overhead (current media hold up to
  4082. 8.2GB/side!).
  4083.  
  4084. Finale
  4085.  
  4086. We hope to conduct a letter ballot soon after the October, 1990
  4087. meeting.  If we can approve a proposal by January, 1991 then it may be
  4088. an ANSI standard by January, 1992.  Our next meeting is in Murray
  4089. Hill, New Jersey, on July 17-19, where we expect to adopt the proposal
  4090. being edited by Howard Kaikow as our working proposal.  Anyone
  4091. interested in attending should contact either the chairman, Ed Beshore
  4092. (edb@hpgrla.hp.com), or me (andrew@research.att.com).
  4093.  
  4094. While this standard may seem of limited interest, because it deals
  4095. only with WORMs, X3B11.1 expects approval shortly to develop a similar
  4096. standard for R/W optical media.  It doesn't take much imagination to
  4097. see that standard being extended to apply to all rewritable, direct-
  4098. access media.  (Unlike the CD-ROM standards committee, which ignored
  4099. UNIX, this committee has a significant number of UNIX users, including
  4100. representatives from AT&T Bell Labs, Sun, Hewlett-Packard.  That, at
  4101. least, insures filenames won't be required to have a compulsory
  4102. three-character suffix and a version number.) Once we have a working
  4103. paper, anyone who cares about portable, multi-volume, multiple-
  4104. character-set file systems should take a look.  [Editor: Pay
  4105. attention.  He's giving you fair warning.]
  4106.  
  4107. May 1990 Standards Update              ANSI X3B11.1: WORM File Systems
  4108.  
  4109.  
  4110. Volume-Number: Volume 20, Number 4
  4111.  
  4112. shar.x3b11.1.8174
  4113. exit
  4114.