[comp.unix.aix] how brain dead is AIX?

jsm@ss01.pppl.gov@ccc.nmfecc.gov (John Scott McCauley Jr.) (07/03/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'
     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

jsalter@slo.uucp (James Salter) (07/03/90)

In article <508@ss01.pppl.gov@ccc.nmfecc.gov> jsm@ss01.pppl.gov@ccc.nmfecc.gov (John Scott McCauley Jr.) writes:
>A) When there are conflicts, they are resolved with priority 1) POSIX
>	2) SVID 3) 4.3 BSD 4) AIX/RT. (p. 3). 

It's sure real close.

>   So, do you get:
>     1) the System V file system or the 'Berkeley Fast File System'

None of the above.  You get the AIXv3 JFS (Journalling File System).
See the description of it under InfoExplorer.

>     3) job control (control-Z)

Well, you get csh and ksh.

>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? 

See the documents "Porting 4.3 BSD programs to AIX Version 3.1" in
/usr/lpp/bos/bsdport and "AIXv3 for 4.3 BSD System Administrators" in
/usr/lpp/bos/bsdadm.

They give a good list of differences between AIXv3 and 4.3 BSD stuff.

There is also a 4.3 BSD library available for library routines and system
calls that weren't normally in AIXv3 - /usr/lib/libbsd.a.

>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?

See the "Porting 4.3 BSD programs to AIX Version 3.1" guide.  It describes
how to do this relatively painlessly.  Specifically the "bsdcc" stanza
description.  Your mileage may vary.

>	Thanks,
>		Scott

jim/jsalter  IBM AWD, Palo Alto  T465/(415)855-4427   VNET: JSALTER at AUSVMQ
Internet: ibmsupt!jsalter@uunet.uu.net         UUCP: ..!uunet!ibmsupt!jsalter 
  "Life can be modelled as a hidden Markov process with infinite states and
   no a-priori knowledge of the probability density functions." - dakramer

steve@qe2.uucp (Steve DeJarnett) (07/03/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'

	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.......

mbrown@osf.osf.org (Mark Brown) (07/03/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.
>     3) job control (control-Z)
POSIX
>     4) AT&T or Berkeley terminal device driver.
Both: switchable on the command line or via ioctl. Also, if switched by ioctl,
the ability to switch back to the old one, which was stored when you made the
change.
>
>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? 
Not very much. The most pain you are likely to see is the need to use a special
-D flag and a special BSD library if you want 'old-fashioned' (non-standard)
signal and wait behaviors...
>
>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?
You *shouldn't* have much trouble in the released version, other than the time
it takes to RTM to find out the compiler flags needed to compile for your
particular code (remember, we default to standards behavior -- BSD{43|tahoe}
is *not* standards conformant...)


Mark Brown   IBM AWD / OSF  |  "The tricky part is common usage."
The Good     mbrown@osf.org |
The Bad     uunet!osf!mbrown|       ---B.2.8.2, "POSIX Symbols",
The Ugly     (617) 621-8981 |                 POSIX 1003.1-1988

jwh@flam.ifs.umich.edu (Jim Howe) (07/04/90)

In article <10283@paperboy.OSF.ORG>, mbrown@osf.osf.org (Mark Brown) writes:
|> 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) (07/04/90)

>	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.

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.

mbrown@osf.osf.org (Mark Brown) (07/04/90)

In article <1990Jul3.180901.27912@terminator.cc.umich.edu> jwh@ifs.umich.edu writes:
$In article <10283@paperboy.OSF.ORG>, mbrown@osf.osf.org (Mark Brown) writes:
$|> >     2) streams or sockets
$|> Both, I believe.
$
$As far as I can tell streams is not currently supported.  Can anyone tell me if
$James W. Howe			   internet: jwh@ifs.umich.edu

I am mistaken. We support sockets in AIX V3.

Mark Brown   IBM AWD / OSF  |  "The tricky part is common usage."
The Good     mbrown@osf.org |
The Bad     uunet!osf!mbrown|       ---B.2.8.2, "POSIX Symbols",
The Ugly     (617) 621-8981 |                 POSIX 1003.1-1988

drake@drake.almaden.ibm.com (07/05/90)

In article <508@ss01.pppl.gov@ccc.nmfecc.gov> jsm@ss01.pppl.gov@ccc.nmfecc.gov (John Scott McCauley Jr.) writes:

>   So, do you get:
>     1) the System V file system or the 'Berkeley Fast File System'

You get the IBM Journalled File System, with better reliability characteristics
than the others.  Filesystems can be dynamically extended into non-contiguous
space while the system runs.  From the user's perspective, the system has
Berkeley-like long file names, not 14-character SysV names.

>     2) streams or sockets

Sockets.

>     3) job control (control-Z)

Yes.

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

Both, plus a POSIX 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? 

I can't give you any exhaustive lists, but IBM has a book entitled the
"AIX Family Definition Overview", order number GC23-2002, that lists every
command and function in SysV and BSD and tells which ones are supported
by the AIX Family Definition.


Sam Drake / IBM Almaden Research Center 
Internet:  drake@ibm.com            BITNET:  DRAKE at ALMADEN
Usenet:    ...!uunet!ibmarc!drake   Phone:   (408) 927-1861

geoff@edm.uucp (Geoff Coleman) (07/05/90)

From article <508@ss01.pppl.gov@ccc.nmfecc.gov>, by jsm@ss01.pppl.gov@ccc.nmfecc.gov (John Scott McCauley Jr.):
> 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'

How about IBM's own file system. I don't believe it shares much in common
with BSD as it has logical volumes which can span physical volumes etc.

>      2) streams or sockets

Both.

>      3) job control (control-Z)

Yes

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

Both of these plus a third. Actually you get "posix" rather than AT&T and
an ioctl call to switch between the three (I forget what the third is called).
It would appear that "posix" is the default for ttys and "bsd" is the default
for ptys.

> 
> 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?

	This depends on the type of code. How big you are at present etc.

Geoff Coleman
Unexsys Systems

> 
> 	Thanks,
> 
> 		Scott