shaun@sauron.OZ (Shaun ARundell) (08/04/86)
Pyramid is not the only vendor to offer a Dual ported UNIX. Gould's UTX/32 (releases 1.3 and above) offer a similar facility, as do a number of other vendors. Any body who has worked in a post sales position in the last year or so will see why this is necessary, at least from an economic standpoint. A large number of the tenders that have come out recently have specified a particular version of UNIX as a mandatory. Most Universities and DOD sites specify BSD4.2 has necessary and a lot of commercial sites specify S5V2 as becessary. This means that a vendor has the choice of offering one varient and losing business or offering A - S5 and BSD4.2 seperately B - A superset C - A Dual port Choice A is usually ruled out as too difficult to maintain (every support site would need access to two machines or have to reboot to move from one UNIX to the other) Choice B was the track that GOULD had first taken (with the help of the BRL emulator). This caused a lot of flack from system adminstrators. Some commands behaved in fashion that was neither pure BDS 4.2 or pure System V. Choice C is Gould's current strategy. There is a /usr/bin and a /usr/5bin a /usr/lib and a /usr/5lib a sv and a bsd command, etc. Having worked on Pyramids, Goulds and single SV5 and BSD4.2 machines, I favour choice C. Choice A is unweildy. Choice B is 98% ok, but those 2% of commands that behave funny cause real headaches. It is really fairly easy to do a dual port. Both Pyramid and Gould started off with a BSD kernal added some S5 support (mainly IPC) and then just wrote two lots of system libaries. All the different /bin, /usr/bin, /usr/ucb, etc. just compile straight in. If your carefull how you do your kernal, updating to BSD4.3 and S5V3 is fairly straight forward. There are a few gray areas with signals and terminal handling but both Pyramid and Gould have solved these issues in a workable fashion. Anthor real problem is init, ttys (and some other /etc stuff). Pyramid has done a superset, Gould stuck with the BSD stuff. I see the real point as offering the USER (both system supervisor and general user) not just both lots of commands but a choice. With the current length of stay for UNIX programmers being 7 months he bounces between S5 and BSD systems on a regular basis. With a dual port he has all the tools and facilites he is use to. A dual port also allows the vendor to go for all the UNIX tenders not just his particular varient. \XX Shaun Arundell ARPA: munnari!sauron.oz!shaun@SEISMO \X Technical Support UUCP: seismo!munnari!sauron.oz!shaun XXXXX \XXXX GOULD COMPUTERS ACS: shaun@sauron.oz XXXXX /XXXX /X Telephone STD: (02) 957-2522 /XX ISD: +61 2 957-2522
gwyn@brl-sem.ARPA (Doug Gwyn ) (08/09/86)
In article <156@sauron.OZ> shaun@sauron.UUCP (Shaun ARundell) writes: >Choice B was the track that GOULD had first taken (with the help of >the BRL emulator). This caused a lot of flack from system adminstrators. >Some commands behaved in fashion that was neither pure >BDS 4.2 or pure System V. > >Choice C is Gould's current strategy. There is a /usr/bin and a /usr/5bin >a /usr/lib and a /usr/5lib a sv and a bsd command, etc. Shaun's UTX/32 history is partly wrong. The BRL UNIX System V emulation did not contribute to UTX/32 Release 1.2 or earlier (has anything after 1.2 been released yet?), although it was included on some of the "D4" user-contributed software tapes and is recognizably the inspiration for the method taken by what Shaun calls "Choice C". The early releases of UTX/32 were Gould's (Compion's) attempt to merge the two major UNIX variants (4BSD and SysV) into a single environment. It is true that there were customer complaints due to incompatibilities between the merged version and whatever native version the user preferred. This doesn't prove that a merged version is unworkable, however, although it indicates that individual vendors may not be able to make their own private merged version stick. Customers really don't want a third UNIX variant; two is already one too many. The desire is to CONSOLIDATE the variants, and few vendors are in a position to do this for more than their own processor product line. I think the key points are first of all to take great care to form a true superset whenever possible (Gould could have done better on this), and secondly to get the merger BOUGHT BACK by the "owners" of the UNIX variants, namely Berkeley and AT&T. The main hope I see for this at present is the AT&T-Sun agreement; if AT&T UNIX System V Release N (N > 3.0) incorporates the majority of this work, then there would be little reason to continue evolution of the Berkeley variant as a contender in the commercial marketplace (as opposed to research and educational uses). One force in this direction is the fact that 4BSD is not very close to conformance with evolving official industry standards, whereas System V is; if one were to alter a 4BSD system to conform to the standards, the result would be much the same as a 4BSD- SysV merger anyway. Some vendors such as DEC who started out with 4BSD have been assimilating portions of UNIX System V, while others have split into two simultaneous environments a la Pyramid or the BRL package. If the two environments diverge much more, my feeling is that 4BSD would lose further ground in the marketplace. (Much of its current position in the science/engineering market is due to the early spread of VAX UNIX in the days when 4BSD was the only good version available for the VAX.) As the author of the BRL UNIX System V emulation for 4.2BSD, I should point out that it was designed as a means of obtaining an approximation of the eventual standard environment NOW on 4BSD kernels, so that local programmers could develop software with an assured future within a SINGLE environment. (Not everyone at BRL picked up on this idea, but several did.) Lack of network support in pre-Release 3 UNIX System V forced some reliance on 4BSD facilities, but as of SVR3 even this can be merged (the TLI library functions noticeably resemble BSD socket calls; I suspect sockets could be emulated using streams but not vice-versa). I never intended that the, to me comparatively primitive, 4BSD environment be perpetuated without improvement into the indefinite future! The improvement that I hope(d) to see in 4BSD includes picking up AT&T library and utility developments made since the 1979 reference point (UNIX/32V) that 4BSD was derived from. AT&T has picked up some of the Berkeley enhancements, and I also hope that this will continue, although in many areas SysV is now technically ahead of 4BSD. Vendor kernel gurus are usually aware of just how much either major UNIX variant could stand to be improved. Much of the innovation I now see is being done by vendors of systems with unusual (multi-processor, etc.) architectures; I would urge them too to share their improvements as much as possible. If the UNIX subindustry can cooperate, there is more than enough potential money in it for everybody. The real "enemy" is not the "other UNIX variant", but rather the traditional DP shop concept of computing (and, these days, the approaches taken by some primitive micros). In case you hadn't noticed, often when the UNIX forces go out to do battle against the philistines, they are laughed out of the game because "UNIX people can't even agree on what a UNIX system is". An unnecessary state of affairs; rather than splitting into camps, let's get our act together.
guy@sun.uucp (Guy Harris) (08/09/86)
> A - S5 and BSD4.2 seperately > B - A superset > C - A Dual port > > Choice B was the track that GOULD had first taken (with the help of > the BRL emulator). This caused a lot of flack from system adminstrators. > Some commands behaved in fashion that was neither pure > BDS 4.2 or pure System V. > > Choice C is Gould's current strategy. There is a /usr/bin and a /usr/5bin > a /usr/lib and a /usr/5lib a sv and a bsd command, etc. > > Having worked on Pyramids, Goulds and single SV5 and BSD4.2 > machines, I favour choice C. Choice A is unweildy. Choice B is 98% ok, > but those 2% of commands that behave funny cause real headaches. At this point, it seems the term "dual port" covers a multitude of implementations; the definition, I guess, is "any system that has two versions of 'tr'" or something like that. The question is whether you have duplicate versions of *every* command, or just the ones where they are incompatibly different, not just where one can be made into a superset of the other by adding the (possibly null) set of additional features from the other. For instance, keeping two versions of "fgrep" is just dumb; the main difference between them is that the 4.2BSD version derives from the version supplied with an addendum to V7, and thus has a bug fix that the S5 version, which seems to derive either from the original V7 version or a later version that still predated the V7 addendum, does not. The same question applies to things like "stat"; if you read the S5 manual page, the 4.2BSD version of "stat" is 100% compatible with it, so there's no good reason to revive the 4.1BSD "stat" call and use it in the S5 environment. There are some S5 programs that incorrectly assume that "st_atime" and "st_mtime" are contiguous (this is NOWHERE stated or implied in the S5 manual page, and in fact the S5 "lint" library entry and manual page entry for "utime" make pains to ensure that you do NOT pass "&st_atime" to "utime"), but those programs ("cpio", "pack", and "file") should be fixed. -- Guy Harris {ihnp4, decvax, seismo, decwrl, ...}!sun!guy guy@sun.com (or guy@sun.arpa)