Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!bellcore!texbell!sugar!peter
From: peter@sugar.uu.net (Peter da Silva)
Newsgroups: comp.sys.amiga
Subject: Re: ST PROGRAMMING
Message-ID: <3036@sugar.uu.net>
Date: 30 Nov 88 13:22:13 GMT
References: <3009@sugar.uu.net> <36@raider.MFEE.TN.US> <3028@sugar.uu.net> <2231@bucsb.UUCP>
Organization: Sugar Land Unix - Houston, TX
Lines: 101

In article <2231@bucsb.UUCP>, crewman@bucsb.UUCP writes:
> In article <3028@sugar.uu.net> peter@sugar.uu.net (Peter da Silva) writes:
> >In article <36@raider.MFEE.TN.US>, dana.holt@raider.MFEE.TN.US seems to
> >>      This reply is directed toward the cooment you made about the Atari ST 
> >> inability to survive a ^C in any of the built-in input functions.

> >No, I said that there is no way of surviving ^C using the standard I/O
> >functions. That is, the UNIX-style file routines directed at the console
> >device.

> Is that supposed to be undesirable?  After all, as you say yourself, these are
> UNIX-style routines which act just like UNIX does in case of ^C.

They act like UNIX does on a ^C?

As shipped, UNIX ignores ^C... DEL is the default interrupt character. Strike
one: you can't change ^C.

In UNIX a program can easily tell the system to ignore or let you catch the
interrupt character. In a high level language. Strikes two and three: you
can't ignore it and to catch it you have to write an assembly interrupt
routine.

In UNIX you can even turn interrupt processing off globally. Strike four. What
sort of crazy game is this anyway?

> These 
> routines are there for the console device - a text-based shell, not some
> fancy graphics-based input filter.

The console device is a simple terminal emulator. There is no text-based
shell delivered with the ST at all. At the time, there wasn't one available
for third parties. That was what I was trying to write.

> It's not that there is no way to survive
> ^C; the ^C exit was put in deliberately to resemble UNIX!

The ^C handling is put in deliberately to resemble MS-DOS, actually. What they
call the "UNIX-style" calls are actually bug-for-bug compatible with what
Microsoft calls the "UNIX-style" calls in MS-DOS. The major difference between
MS-DOS and TOS is that in MS-DOS you can disable ^C, and there's a shell
(COMMAND.COM) shipped with the thing.

> >Yes, but as soon as you call printf() you're a dead puppy.

> Don't use printf().  Use sprintf() followed by one of the ROM string output
> routines.

This sounds like that joke... "Doctor, it hurts when I do this" "So don't do
that". Sorry, doc, I need to be able to do that.

> Again, printf() works just like it should -- just like in UNIX.

Again, this is complete BS.

> >>    'Amiga!? What the hell is an Amiga?'

> >Simply the only personal computer on the market with a modern operating
> >system as the standard user environment.

> This must be a joke.  I have a [bunch of computers and] I prefer *ancient*
> UNIX on my Sun 3/50 at work to the toy OS on my Amiga anyday!

Well, UNIX is a modern operating system. MS-DOS, MacOS, and TOS are simple
program loaders and file servers that would be quite up-to-date in the early
'60s. TOS has a decent graphics library, and the Mac's toolkit is the best
graphics library for pixel-based graphics I've seen... but there's nothing
but dust, cobwebs, and an old '60s style monitor underneath them.

> I even like the ST OS better than the Amiga's.  It's simple, it has all the
> graphics one needs, and it's compatible with MS/DOS.

No scheduler, no shell, no virtual devices, won't run on a 68020,... simple,
yes. Compatibility with MS-DOS is a major count against it.

> What the hell is a modern operating system?

I don't have Douglas Comer's XINU book here. I'd suggest you have a look at
it...  it's got the best description of what a modern operating system is,
and what it is not, that I've ever seen. Basically a modern operating system
consists of a small number of functional parts: a scheduler, a file system,
a program loader, a memory manager, and a device manager. Each of these parts
can be considered a resource manager, where a resource is something like CPU
time (scheduler) or disk space (file system) that the manager administers.

Since the book, an additional resource... the display... has become a fairly
common subsystem. Without multitasking, though, windowing is a fairly useless
tool.

> How long does an OS stay modern?

Some never make it in the first place. I guess you could say "until the point
where it's missing major subsystems that have become common". CP/M and its
derivitives don't rate. Microsoft Windows is a very good attempt, though. It's
a pity it's suffering so badly from politics. Multifinder... well... the less
I say of THAT the better.
-- 
		    Peter da Silva  `-_-'  peter@sugar.uu.net
		     Have you hugged  U  your wolf today?

	          Disclaimer: My typos are my own damn busines#!rne