[comp.unix] how brain dead is AIX?

jsm@ss01.pppl.gov (John Scott McCauley Jr.) (10/10/90)

I am a little worried about two of the statements made: 

A) When there are conflicts, they are resolved with priority 1) POSIX
	2) SVID 3) 4.3 BSD 4) AIX/RT. (p. 3). 

   I gather that AIX is System V kernel with the Berkeley stuff emulated.
   So, do you get:
     1) the System V file system or the 'Berkeley Fast File System'
     2) streams or sockets
     3) job control (control-Z)
     4) AT&T or Berkeley terminal device driver.

B) 'Most 4.3 BSD commands, system calls, and library routines are supported.'
 	(p.3) and features include a '4.3 BSD compatibility library'.  (p.5)

  Ok, what is missing? 

One more question: we already have several BSDish systems (Dec- and Sparc-
  stations).  Things are currently seamless: all programs we have needed so far
  will compile on both and run fine on both. Would the same be true of an AIX
  system? Will we have to hire someone full time to support the AIX? How many
  lines like '#ifdef AIX' are there in the source code for gnu-emacs? X11R4?

	Thanks,

		Scott

steve%ibmsupt@uunet.uu.net (Steve DeJarnett) (10/10/90)

>I have a copy of 'IBM RISC System/6000 Software Offerings Overview' brochure.
>I am a little worried about two of the statements made: 
>
>A) When there are conflicts, they are resolved with priority 1) POSIX
>	2) SVID 3) 4.3 BSD 4) AIX/RT. (p. 3). 
>
>   I gather that AIX is System V kernel with the Berkeley stuff emulated.
>   So, do you get:
>     1) the System V file system or the 'Berkeley Fast File System'

	Neither.  You get the new Journaled File System (JFS).  Basically it's
designed to ensure that you don't lose any files when the system crashes (all
file creation is logged on a special logging filesystem).  Thus, if the system
crashes, upon reboot it simply goes through all of the logs and makes sure it
has all of the files.

>     2) streams or sockets

	Sockets.

>     3) job control (control-Z)

	You bet.

>     4) AT&T or Berkeley terminal device driver.

	Actually, what you get is a POSIX line discipline and a BSD line
discipline, although almost the entire BSD line discipline was duplicated in
the POSIX (default) line discipline, so unless you're using a Hazeltine 
terminal with no '~', you'll probably never notice.  Also, be aware that in
4.4 (or whatever it will be called), CSRG has said that they will be shipping
a POSIX-compliant line discipline, and will be deprecating the BSD line
discipline.  I believe Sun is already shipping a POSIX line discipline in SunOS.

>B) 'Most 4.3 BSD commands, system calls, and library routines are supported.'
> 	(p.3) and features include a '4.3 BSD compatibility library'.  (p.5)
>
>  Ok, what is missing? 

	Briefly:

Libraries: getmntent, addmntent, etc. (the *mntent functions), endusershell,
	getdiskbyname, getusershell, ns_addr, ns_ntoa, quota, setquota,
	setusershell, tell, x3wind.

Commands:  arff, bad144, badsect, dcheck, diskpart, drtest, error, edquota,
	gcore, kgmon, lpc, mset, quot, quotacheck, quotaoff, quotaon, 
	repquota, systat, trsp, and XNSrouted.

	Fairly simple workarounds are supplied for all of the *mntent routines.

>One more question: we already have several BSDish systems (Dec- and Sparc-
>  stations).  Things are currently seamless: all programs we have needed so far
>  will compile on both and run fine on both. Would the same be true of an AIX
>  system? Will we have to hire someone full time to support the AIX? How many
>  lines like '#ifdef AIX' are there in the source code for gnu-emacs? X11R4?

	Well, there are 2 fairly comprehensive documents shipped with the 
system just for those of us with BSD backgrounds.  There is a document telling
you what to expect from the header files, how to set up the compiler to behave
the way you want, and describing the differences between AIX Version 3 and BSD.
There is another document that describes the differences in administering an
AIX Version 3 system versus a BSD system, with detailed discussions on:

	Accounting, Backup, Boot and Startup, Cron, Devices, Finding 
Information, Hard Disks, Paging Space, the Network, Passwords, Performance
Measurement and Tuning, Printers, the System Resource Controller, Terminals,
and UUCP.

	The Free Software Foundation has indicated that they will ship the 
necessary config files for Emacs, so you should be able to build it the same
way you would for a DECStation, Sun, or any other FSF-supported system.  The
current AIXWindows product is X11R3-based, with several extensions.  Since it's
a product, we haven't given it away to the Consortium.  :-)

>		Scott

Steve DeJarnett			Internet: steve%ibmsupt@uunet.uu.net
IBM AWD Palo Alto		UUCP:	  ibmsupt!steve@uunet.uu.net
(415) 855-3510	  These opinions are my own.  I doubt IBM wants them.......

jwh@flam.ifs.umich.edu (Jim Howe) (10/11/90)

|> In article <508@ss01.pppl.gov@ccc.nmfecc.gov>
jsm@ss01.pppl.gov@ccc.nmfecc.gov (John Scott McCauley Jr.) writes:
|> >I have a copy of 'IBM RISC System/6000 Software Offerings Overview'
brochure.
|> >I am a little worried about two of the statements made: 

|> >A) When there are conflicts, they are resolved with priority 1) POSIX
|> >	2) SVID 3) 4.3 BSD 4) AIX/RT. (p. 3). 

|> >   I gather that AIX is System V kernel with the Berkeley stuff emulated.
|> >   So, do you get:

|> >     1) the System V file system or the 'Berkeley Fast File System'
|> An AIX fs that handles 255-char filenames, BSD and S5 structs, etc.

|> >     2) streams or sockets

|> Both, I believe.

As far as I can tell streams is not currently supported.  Can anyone tell me if
and when AIX might support streams?  I'm currently working on a port of some
software written for System V which is heavily dependent on streams.  I would
rather not convert the streams code to work with sockets if I don't have to.


James W. Howe			   internet: jwh@ifs.umich.edu
University of Michigan             uucp:     uunet!mailrus!ifs.umich.edu!jwh
Ann Arbor, MI   48103-4943         

guy@auspex.auspex.com (Guy Harris) (10/11/90)

>discipline, although almost the entire BSD line discipline was duplicated in
>the POSIX (default) line discipline, so unless you're using a Hazeltine 
>terminal with no '~', you'll probably never notice.  Also, be aware that in
>4.4 (or whatever it will be called), CSRG has said that they will be shipping
>a POSIX-compliant line discipline, and will be deprecating the BSD line
>discipline.  I believe Sun is already shipping a POSIX line discipline in
>SunOS.

Sun is shipping a POSIX-compliant "line discipline" streams module in
SunOS 4.1; 4.0[.x] had one that was almost POSIX (IEXTEN was missing,
because that part of the POSIX spec was still Under Construction at the
time 4.0 was being done).

It doesn't have a BSD "line discipline"; instead, it has another streams
module that intercepts V7-style and BSD-style "ioctl"s and maps them
into the extended S5/POSIX "ioctl"s supported by the aforementioned
streams module.

The extensions were based on a POSIX draft (the stuff was sliced out
later, because the Berklish extensions in question were user-interface
extensions; some S5isms were sliced out for the same reason, but, alas,
snuck back in); does the AIX 3.0 POSIX line discipline provide the same
extensions, or is it *sui generis*?

I hope it's compatible; the last thing we need is a continuation of the
"multiple tty driver interfaces" headache in UNIX.  S5R4 offers both of
the aforementioned SunOS streams modules as its "tty driver", with
additional extensions such as support for multibyte characters. 
Berkeley basically picked up those extensions for 4.4BSD as well....

The extensions *don't* include the LTILDE bit, so if you have a
Hazeltine terminal with no "~", you lose.

richard@locus.com (Richard M. Mathews) (10/17/90)

steve%ibmsupt@uunet.uu.net (Steve DeJarnett) writes:

>>I have a copy of 'IBM RISC System/6000 Software Offerings Overview' brochure.
>>I am a little worried about two of the statements made: 
>>
>>A) When there are conflicts, they are resolved with priority 1) POSIX
>>	2) SVID 3) 4.3 BSD 4) AIX/RT. (p. 3). 
>>
>>   I gather that AIX is System V kernel with the Berkeley stuff emulated.
>>   So, do you get:
>>     1) the System V file system or the 'Berkeley Fast File System'

>	Neither.  You get the new Journaled File System (JFS).

Since the question refers the the RISC System/6000, this answer is
correct.  It is worth pointing out, however, that implementation details
differ between the various AIX platforms even though the user interface
is all based on the same Family Definition.  On the PS/2 and 370, you
get a kernel (built from a common source!) which evolved over many
years from a BSD 4.1 kernel, had Locus Operating System features added,
then SVR2, then 4.2, and so on.  Neither BSD nor System V features are
emulated.  System V and BSD features are each integral parts of a well
merged system (IMHO).  The same sort of statement could probably be made
about the 6000 kernel, but I know less about its history.

The file system on AIX/370 and AIX PS/2 has features such as long names
and symbolic links, but in most respects it is more similar to the System
V file system.  It really isn't either.  Changes have also been made to
support replication and other features of TCF.

>>     2) streams or sockets

>	Sockets.

Same answer for AIX/370 and AIX PS/2.

>>     3) job control (control-Z)

>	You bet.

Same answer for AIX/370 and AIX PS/2.

>>     4) AT&T or Berkeley terminal device driver.

>	Actually, what you get is a POSIX line discipline and a BSD line
>discipline, although almost the entire BSD line discipline was duplicated in
>the POSIX (default) line discipline, so unless you're using a Hazeltine 
>terminal with no '~', you'll probably never notice.  Also, be aware that in
>4.4 (or whatever it will be called), CSRG has said that they will be shipping
>a POSIX-compliant line discipline, and will be deprecating the BSD line
>discipline.  I believe Sun is already shipping a POSIX line discipline in SunOS.

On AIX 370 and AIX PS2/2 (version 1.2 of each) you get a terminal driver
which accepts BSD and SysV ioctls and which I believe passes POSIX tests.

>>B) 'Most 4.3 BSD commands, system calls, and library routines are supported.'
>> 	(p.3) and features include a '4.3 BSD compatibility library'.  (p.5)
>>
>>  Ok, what is missing? 

>	Briefly:

>Libraries: getmntent, addmntent, etc. (the *mntent functions), endusershell,
>	getdiskbyname, getusershell, ns_addr, ns_ntoa, quota, setquota,
>	setusershell, tell, x3wind.

>Commands:  arff, bad144, badsect, dcheck, diskpart, drtest, error, edquota,
>	gcore, kgmon, lpc, mset, quot, quotacheck, quotaoff, quotaon, 
>	repquota, systat, trsp, and XNSrouted.

I'm sure the list is a bit different for AIX/370 and AIX PS/2, but I can't
give details.  We do have BSD quotas.  We do have the "quot" command.  We
do have {get,set,end}usershell.  We may be missing some things not listed
above.  I just don't have the data available right now (I'm at home).

Note that the emphasis in the above is on the differences between AIX
on different platforms.  Despite this, I would still say they are more
like each other than are any other 2 implementations of Unix systems.

Disclaimer: I only speak for myself.  In addition, all statements here
were made from memory, and my memory has been known to be faulty at times:-)

Richard M. Mathews			D efend
Locus Computing Corporation		 E stonian-Latvian-Lithuanian
richard@locus.com			  I ndependence
lcc!richard@seas.ucla.edu
...!{uunet|ucla-se|turnkey}!lcc!richard