some AmigaOS/UNIX comparison points, from faulty memory

Rick Hohensee (humbubba@smarty.smart.net)
Sat, 10 Jul 1999 17:14:59 -0400 (EDT)


AmigaOS was based on TRIPOS, which was an OS developed by Martin Richards
et. al. at Cambridge. Martin Richards also wrote BCPL, which C is
descended from.
TRIPOS was designed in full view of and knowledge of UNIX, and
apparently, full comprehension of UNIX, to be everything you ever wanted
in a UNIX, and less. TRIPOS was true pre-emptive multi-tasking, SINGLE
user. AmigaOS perms are similar to UNIX file perms, but there are fewer
fields. The only user is root. There is no process memory protection; one
bad program takes down the box. Interprocess communication is very fast.
What Amiga realtime did in hardware is somewhat similar to what rtLinux
permits in software. The nature of reality is that one computer can have
one hard-realtime task it services at some periodicity. A periodic event
can be divided into different tasks on sub-periods of the top frequency,
somewhat like overtones of a pitch upside-down. The Amiga CPU was clocked
to a multiple of a video signal. The hardware interrupts were periodic to
a horizontal video scanline. Broadcast video, NTSC or PAL. At the
beginning of each horizontal screen trace, several interrupts were
serviced in hardware. Disk IO and audio, as I recall. Something else too.
Now, gee, this is fun, due to the nature of hard-realtime, audio on the
Amiga is an "undertone" of the video. On an NTSC machine the max sample
rate for the native DACs was some wierd thing like 28.7 khz. Or anything
less than that, basically.
The Amiga/user feedback loop was very well thought out. Everything that
was interested could see the mouse. The Amiga lacked text-mode hardware.
This is a lack. The "snip" program, similar to "selection" or gpm, had to
do a sort of "digital font recognition". Text was slow, and large in
memory.
Also synced to horizontal scan lines was the Copper chip, one of the video
co-processors. The Copper could change what is analagous to an X "visual"
between horizontal traces. "Visuals" were pull-down; you could grab a
screen at the top and pull it down, and if there was another one under it
it would be revealed at scanline ply, and these two screens might be
entirely different video modes, such as # of bitplanes and Hold-and-modify
or not. HAM, hold-and-modify video mode, might vaguely be described as
hardware-jpeg.
The IFF file format was developed on the Amiga, IIRC. Idono, but I think
IFF is basically an un-bounded data description language. Icons were
separate files, mercifully, and could thus be deleted en mass from a box
based on thier standard suffix of .info.

What does this have to do with Linux? Ah, this is true Marxist Linux,
Harpo-style. Recall Harpo Marx at the grand piano in "Night at the Opera".
He can't deal with a piano. He bangs. Wrong sound. He bangs harder. He
destroys the piano. He flings the soundboard, the clavier, the pedestals,
the lid. Flappers scatter in terror. He is struck placid at the sight of
the brass frame of the strings. He gently raises it into it's natural
upright position. A HARP! .*pluck*. ahhh. Harpo has found his voice.

To some extend AmigaDOS is a subset of Linux. The multi-user part is easy,
ignore it. As to multi-media, rtlinux is a move in this direction, but in
software. The one-addressspace thing is doable. If Bash had virtual FDs
for builtins, i.e. if cat could be a builtin, then bash could be the
beginnings of shell=amiga_within_linux. UNIX doesn't make much distinction
between a process and a user. I'd like to see "user = addressspace". I'm
told, but I don't comprehend, that there are ways to do this in Linux now
at reasonable cost. Even in a multi-user environment, if all a user's
processes share an addressspace, if one process takes a dive, taking out a
whole user, just one user is effected. This is acceptible in "production
environments".

I thought Be was going to save me from klone hardware, but they aren't.
The klone model of a video card still cannot assume sprites. IBM couldn't
do sprites for the same reason Microsoft can't be too closely affiliated
with a UNIX, IMO. When you're that big it's expensive to admit someone
else had a good idea. Anyway, there's not much that can be done about the
hardware mess.

I see one general categorization of Linux users. There's the net.gods,
i.e. the classico UNIXers, which the core developers mostly are, and the
orphaned Amigans. I, obviously, am the latter. So why don't I get an
Amiga? Because, given open source, Linus' management style, poor hardware
designs but with plenty of speed at low cost, and so on, Linux is now
better for what the Amiga was about than it appears to me the Amiga ever
will be again. I hope I'm wrong, but it was over for me when they
announced x86 support.

So, as mutated Linuces appear with no concern for "production
environments", keep in mind that they may not have your looks, but they
have your vigor.

Rick Hohensee

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/