[comp.unix.sysv386] What is UNIX? Re: wanted: UNIX or clone

peter@ficc.ferranti.com (Peter da Silva) (04/04/91)

In article <1991Mar27.192257.21635@turnkey.tcc.com> jackv@turnkey.TCC.COM (Jack F. Vogel) writes:
> No big mystery, UNIX is a not some philosophical notion or abstraction.

UNIX is a family of operating systems with a common API. If you can compile
a UNIX program on it it's UNIX.

In fact, UNIX is:

	access alarm brk chdir chmod chown close creat dup exec
	exit fork getpid getuid getgid ioctl kill link lseek mknod
	mount open pause pipe read setuid setgid signal stat sync
	time umask umount unlink wait write

Any operating system that provides these 35 system calls with the semantics
described in Section 2 of the PRM is UNIX.

> Furthermore, the name "UNIX" is a registered
> trademark of AT&T. Philosophy and its abstractions...BAH!!

Marketing and its legalisms... BAH!

If it walks like a duck...
-- 
Peter da Silva.  `-_-'  peter@ferranti.com
+1 713 274 5180.  'U`  "Have you hugged your wolf today?"

alan@ukpoit.co.uk (Alan Barclay) (04/06/91)

In article <QWGALK@xds13.ferranti.com> peter@ficc.ferranti.com (Peter da Silva) writes:
>
>In fact, UNIX is:
>
>	access alarm brk chdir chmod chown close creat dup exec
>	exit fork getpid getuid getgid ioctl kill link lseek mknod
>	mount open pause pipe read setuid setgid signal stat sync
>	time umask umount unlink wait write
>
>Any operating system that provides these 35 system calls with the semantics
>described in Section 2 of the PRM is UNIX.

This is possibly the worst definition of UNIX I've every seen, hang on
a minute though, VMS with the right lib supports these calls, does this
mean we can stop all the UNIX/VMS wars by saying they're both the same?
If so then I do like this.

em@dce.ie (Eamonn McManus) (04/09/91)

Peter da Silva writes:
>>	access alarm brk chdir chmod chown close creat dup exec
>>	exit fork getpid getuid getgid ioctl kill link lseek mknod
>>	mount open pause pipe read setuid setgid signal stat sync
>>	time umask umount unlink wait write
>>Any operating system that provides these 35 system calls with the semantics
>>described in Section 2 of the PRM is UNIX.

I'm not sure how serious a definition this is supposed to be.  Everyone
could provide their own favourite set of necessary system calls.  For
instance, the omission of getppid from the above list is curious.

Alan Barclay writes:
>This is possibly the worst definition of UNIX I've every seen, hang on
>a minute though, VMS with the right lib supports these calls, does this
>mean we can stop all the UNIX/VMS wars by saying they're both the same?
>If so then I do like this.

VMS cannot support all of these calls with the right semantics.  For
example:
    chmod - cannot set setuid, setgid, or sticky bits, because they
	don't exist;
    exec - likewise no setuid or setgid;
    fork - no equivalent with data duplication, though it could be
	expensively supported with difficulty;
    kill - no VMS concept of signals;
    link - VMS does not support links (properly);
    mknod - VMS does not support device files;
    mount - VMS does not support mounting at arbitrary points in the
	hierarchy;
    open - VMS allows access if any of owner, group, or other permissions
	grants it, while Unix only looks at the permissions of the first
	appropriate set;
    stat - VMS does not have equivalents for some of the information,
	such as inode change time;
    unlink - apart from not supporting multiple links, VMS requires
	delete access to the file.
There are other differences too.  The VMS C library provides emulation of
nearly as much of Unix semantics as it could, but some things are just not
possible without completely layering a new OS on top of VMS.

,
Eamonn, who has spent far more time programming VMS than he would like and
    doesn't intend to do it again.