[mod.std.unix] P1003 Draft 6 -- Comments, criticisms etc.; V4N11

std-unix@ut-sally.UUCP (Moderator, John Quarterman) (12/12/85)

Date: Wed, 11 Dec 85 17:06:10 EST
From: Arnold Robbins <arnold%gatech.csnet@CSNET-RELAY.ARPA>

Over a few nights, I sat down and read Draft 6 of the P1003 draft
standard.  Overall, it is really good, and the committee has done a
good job. Many of my comments are related to spelling, typographical,
and grammar errors. These are not important relative to the comment,
but should be cleaned up. The moderator should feel free to delete
those comments from what gets posted, as long as they get passed on to
the editor(s).
 
[ Might as well post them.  Besides, it's easier to pass things on
if they're all in one place.  -mod ]

The rest of my comments are just comments; something is referred to in
one place that was dropped elsewhere, or something left out, things of
that nature. Some of this should (I hope) stimulate good discussion.
Replies should probably go to the net, since I won't be here at Georgia
Tech for much longer.

I'll be posting several articles, to keep the size down, probably one
per chapter of the draft. Here is the Introduction, and Chapters 1 and 2.
Stuff quoted from the draft is indented, my comments are flush with the
left margin. The moderator should feel free to edit as he sees fit.

[ I've mostly just run fmt over stuff that wouldn't fit on 80 column
screens and added comments like this.  -mod ]

Arnold Robbins
CSNET:	arnold@gatech	ARPA:	arnold%gatech.csnet@csnet-relay.arpa
UUCP:	{ akgua, allegra, hplabs, ihnp4, seismo, ut-sally }!gatech!arnold
---------------------------
COVER PAGE:

	Prepared by the P1003 working group of the Operation System Standards...
							^^^^

Should be "Operating System"
		 ^^^
FORWARD:
[ That's FOREWORD, i.e., a word that goes in front, not a direction to go in.
-mod ]
CHAPTER 1:
	No comments.

CHAPTER 2:
Sect 2.2:
	... Non-standard extenstions
			      ^		(spelling error)

Sect 2.3 General Terms:

	Address Space
		The range of memory locations, both code and data, that
		can be referenced by a process.


Neither "code" nor "data" are defined anywhere. Is this one of those things
everyone knows what they are?
[ There's supposedly an IEEE dictionary of such things.  -mod ]

-----
	Process Lifetime
		... When a process executes a _wait()_ primitive for an
		inactive process, ....

Should clarify that the inactive process can only be waited on by certain
processes (its ancestor(s)), not just any arbitrary process.

-----
	Parent Process ID

Should indicate that the parent process ID may change if the parent dies
before the child.

-----
	Real User ID and Real Group ID
		Each user is also a member of a group.

Should say something like "Each user is also a member of at least one group."
This helps with 4.2BSD systems.


		... and real group ID. respectively, of the ...
				     ^

The period should be removed.
[ Should be a comma, actually.  -mod ]

-----
	Pipe

Should indicate that a pipe has the same behavior as a FIFO file for the
_close()_ primitive as well.


-----
	Directory

Should have an additional statement to the effect that directories are not
writable by normal user code; only system calls (_link()_, _mkdir()_, _rmdir()_,
etc., give a full list) shall be used to modify directory contents.

-----
	Root Directory and Current Working Directory
		... A process's root directory need not be the root directory
		of the root file system.

What is the "root file system"? This isn't defined.
[ And we thought we'd rooted out all references to file systems.  :-) -mod ]

===========================================

Sect 2.4 Error Numbers:

	ENOENT	No such file or directory
		This error occurs when a file name is specified **and the file
		should exist but doesn't**, or when a directory in a path name
		does not exist.

The starred phrase just doesn't ring true. Maybe something like "but the file
does not exist" would be better. Who's to say whether or not the file "should"
exist?

===========================================

Sect 2.6 Environment Description:

	It is recommended the follwoing variable names....

Should be "It is recommended that the..."
			     ^^^^

===========================================

2.7 C Language Definitions

	A character is any bit pattern able to fit into a single byte.

"Byte" is left undefined here. Maybe it should be specified that it is
at least 8 bits?

===========================================

2.8 Numerical Limits

	{SYYS_OPEN}	Maximum number of files that can be open	16
			on the system at one tiime.

This number seems awfully small to me.
[ Historically accurate, though.  -mod ]

Volume-Number: Volume 4, Number 11