[comp.sys.apollo] Apollos' "sorta" Unix

trb@stag.UUCP ( Todd Burkey ) (11/15/87)

In article <679@zycad.UUCP> kjb@zycad.UUCP (Kevin Buchs) writes:
> [problems with apollo path conventions...]>
>Does anyone have good explanations for this behavior?

In a somewhat related vein, I recently moved my HDSCAN program over
from the Atari ST to the Apollo and found some interesting problems
(all of which I hope go away on 9.7...we are on pre-9.5). First I
should mention that HDSCAN is a program that (on the ST) scans an
entire 30 meg hard disk in about 2 seconds, getting all the file
names, sizes, paths, dates, etc and then allows the user to peruse
the info (and the files) via a mechanism similiar to xtree and
sweep on the PC. Since I couldn't read raw sectors for high speed tree
traversal like I could on the ST, I used the unix opendir/readdir/stat
approach of moving around directory trees and grabbing the necessary
info. I ran into the following problems:

File Names:

When HDSCAN was run under a unix shell (either 4.2 or sysV),
opendir/readdir seemed to work fine, unless they found a file name
with a '-' embedded in it. Then the '-' would get mapped into a ':5'
or some such nonsense. However, stat would need the '-' in the name
to find and analyze the file.

I then tried running HDSCAN from the Aegis shell and encountered still
more problems. Now I was faced with opendir/readdir seeing something
like 'Makefile' correctly, but stat seemed to need a ':makefile'.


CURSES:  (the library)

I had even more fun with curses...Luckily I hadn't made heavy use of
blitting or fancy graphics on the ST, so it was easy to switch over to
the curses package. It was very easy to learn and use, but the poor
Apollo seems to lose its' sanity every once in a while and garbage up
the screen. It only seems to happen if you use a lot of cursor
movement and multiple standout/standend's (to get reverse field
lines). I moved the program over to the Sun's and my Symmetrics and
didn't experience any problems, so I would guess it is either the
vt100 emulator that Apollo's curses uses or some little glitch in the
curses library itself.

SPEED:

I realized that things would run slower when I moved my code from the
Atari ST to a DN3000 (single user->sorta multi user; plus the fact
that I would be adding a layer of unix calls to my tree traversal
routines). The final statistics were somewhat disappointing, however:

To scan about 27 Megabytes of around 1800 files, I used a Supra 30 meg
drive on my ST (1750 files), my directory on the Apollo (DN 3000,
logged on locally, 1680 files, 27 megabytes :-) ), and some source
directories on a SUN and my Symmetrics which were the same size. The
times were:

  ATARI ST:    3 seconds ( my FAT table is getting fractured again)
  APOLLO:    228 seconds (+/- 15 seconds)
  SYMMETRICS: 40 seconds (very very fractured file tables...)
  SUN:        30 seconds (+/-5 seconds...this was on a loaded server to
	                  boot)

I realize that the Apollo Unix is layered on top of Aegis (accounting
for some of the speed problems), so my biggest question is "Will
things improve significantly on the 9.7 or 10.00 releases in this
area?"

-Todd Burkey
 trb@stag.UUCP
 or ...ihnp4!meccts!stag!trb

P.S. No, I haven't decided yet how to release HDSCAN for Unix...I will
probably do a PD or Shareware release. It only took 8 hours to move it
to the Unix environment, but there are a bunch of unix only features
that I am adding in what little spare time I can find...

dclemans@mntgfx.mentor.com (Dave Clemans) (11/20/87)

in article <259@stag.UUCP>, trb@stag.UUCP ( Todd Burkey ) says:
> 
> In a somewhat related vein, I recently moved my HDSCAN program over
> from the Atari ST to the Apollo and found some interesting problems
> (all of which I hope go away on 9.7...we are on pre-9.5).
> 
> I realize that the Apollo Unix is layered on top of Aegis (accounting
> for some of the speed problems), so my biggest question is "Will
> things improve significantly on the 9.7 or 10.00 releases in this
> area?"

From the above comments it looks like you are running a version of
Domain/IX prior to 9.5 (since 9.5 Domain/IX needs Aegis 9.5 or greater
to run).  Based on my experiences, 9.5 Domain/IX is a MAJOR improvement
over previous releases of Domain/IX from Apollo, and is much more
compatible with "standard" versions of Unix.

As to your specific questions, the VT100 emulator is substantially
improved and Domain/IX commands run in a "case correct" environment,
so I don't think you'll see the colon mapping in filenames problem go away.

dgc