Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!cbmvax!jesup From: jesup@cbmvax.commodore.com (Randell Jesup) Newsgroups: comp.sys.amiga.tech Subject: Re: Help --> How to prevent the visit from the dreaded guru Keywords: Flip answers are no help Message-ID: <17130@cbmvax.commodore.com> Date: 5 Jan 91 04:06:45 GMT References: <611@caslon.cs.arizona.edu> <1991Jan4.224833.24914@ncsuvx.ncsu.edu> Reply-To: jesup@cbmvax.commodore.com (Randell Jesup) Organization: Commodore, West Chester, PA Lines: 85 In article <1991Jan4.224833.24914@ncsuvx.ncsu.edu> kdarling@hobbes.ncsu.edu (Kevin Darling) writes: > Larry Phillips says about preventing GURU visits: >>> A new OS will not protect you from errors in your code, or ill-behaved >>> programs, or hardware failures. Investigate; do some digging. > > Dave Schaumann replies: >> Those are some rather flip answers to what, IMHO, is the Amiga's greatest >> shortcoming: any program can crash the whole system quite easily. > >Umm. But they were correct answers for the _real world_ case: the current >Amiga OS/hardware configuration. Blue-skying begs the question. Correct. First of all, 80-90% of all Amigas do not have an MMU, and aren't likely too (though maybe eventually - nowhere near soon - low-end machines may have MMUs). Also, using protected-process-techniques for inter-process communication would slow down the OS a lot (unacceptably so on a 68000 machine). They add a lot of overhead, and add it even when there's no MMU in the system. Witness the Bill Gates comments that multitasking will require 4Meg, a 386, and your first-born son. >There are three main scenarios for multitasking machines: > 1. Used by developer only > 2. Used by end user only > 3. Used by both developer and enduser > >In (1), crashing is a pain, but not "unacceptable". In (3), crashing >would be unacceptable...on a multiuser system... but since almost all Amigas >are **single-user** systems, the offending programmer is also the enduser >and should surely recognize when he's about to try something dangerous ;-). Amigas also boot about 10-100 times faster than most Unix boxes. If you care and are a developer, test programs on a second machine - they're cheap, and it helps to have a base configuration around to test on. (Since most developers are running '030's with lots of mem and HD nowadays). Personally, I usually test stuff on my development machine. We have enough debugging utilities (such as enforcer) that I rarely have to reboot (though installing a dead Dos will force it... ;-) >That leaves (2), and the culling out of unstable programs renders a totally >stable enduser system... it's as simple as that. And Commodore has been working HARD to provide developers with utilities to make code bug-free when shipped. Enforcer, Mungwall (aka MemMung and MemWall), io_torture, suck, snoop, drip, scratchr, memoration (those last two from Bill Hawes), angel (traps free mem references with the MMU), etc, etc. If something passes all of these, it's damn safe. How many Unix programmers do you know who ever tested their memory allocation failure paths (or other uncommon failure paths)? With memoration, it's easy (and we're using it to check all the failure paths in the ROMs for 2.0x). The combination of Mungwall and Angel (or enforcer) should cover almost all problems related to the fact that it's shared-memory OS. >So in return, here's _my_ own beefs : First, the unspeakable horror >of today's CS majors who rely on hardware to catch their mistakes. Second, >the unrealistic expectation that inexpensive personal computers should have >all the bells and whistles of the expensive "machines I use at school". In an A500, true. An A3000 does have them, which is why it also makes a good Unix platform, or a _really_ fast AmigaDos platform. >a $99 Tandy CoCo-3... it's got an MMU :). And I'd be terribly surprised if >Amiga Unix doesn't use it. Further, I think you're right that _eventually_ >all personals will have and use an MMU. But I also think it's gonna take >some radical changes to most current personal OS's to add that capability. >Or rather, it would break most current programs. MMU's (at least for modern processors) aren't cheap, and '030's aren't cheap enough to put in A500's. They will be, one day, but not soon. Oh, and of course Amiga Unix uses the MMU (Unix effectively requires it, along with massive amounts of memory and HD and CPU power - at least compared to AmigaDos). AmigaDos isn't likely to support protection any time soon - it's not designed for it, and attempting to add it would break almost any program that uses anything more complex than Dos functions (tty-style). This may be a (very slight) exaggeration, but it's mostly true. VM is far easier. -- Randell Jesup, Keeper of AmigaDos, Commodore Engineering. {uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.commodore.com BIX: rjesup The compiler runs Like a swift-flowing river I wait in silence. (From "The Zen of Programming") ;-)