[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Getting Along (was: Re: Joe Kohn to moderate csa2 (was: METAL is now FREE!!!!!!)



This is a long ranting so if you're not interested about the optimistic,
idealist, possible future of the Apple II, junk this file and move on.

In article <1993Apr19.214305.1387@gallant.apple.com> Jim Murphy writes:
>In article <C5pI5q.Eyr@news.iastate.edu> Ian Schmidt, irsman@iastate.edu
writes:
>>Of course, Jawaid wants the GS to be a powerful multitasking computer,
and
>>the Apple guys want it to be a powerful single-tasking computer.  Since
>>neither side is likely to give, of course friction will result.  SI and
TM

[ 3 lines imploded *]
>attempting to redefine fundamental rules this late in the GS game just
>won't work. For example, anyone can both load and store data in unlocked
>blocks so long as they don't make any GS/OS or toobox calls and expect
>the block to remain in the same location. This has been a fundamental
>truth since the GS was released, and many, many programs rely on being
>able to do this.

>     However, this presents problems when you use a preemptive
>multitasking system when you can be switched out when you may have been
>accessing an unlocked block. There are quite a few solutions to the
>problem, but the one that seems to be the simplest, "lock all blocks when
>using them" won't work with 100% of the software that exists, because
>they aren't being revised to comply with a redefinition of a fundamental
>truth.

That's a bad fundamental as all my programs lock the blocks whenever they use
them. But, that's not my point. My point is why not just have a configuration
option or some sort of flag somewhere that marks a particular applications as
unable to be preempted such as in The Manager. Doing it this way lets old
applications run, but without multitasking, but leaves the door open for
future applications that can handle preemptive multitasking.

I not sure exactly how one could switch out of these 'old applications'
I would think of something like the way The Manager and SwitchIt! works.
When a non-preempt applic is in the foreground, freeze background processes.
When a non-preempt applic is in the background, put it to sleep and let the
system preeemp.

Windows 3.1 isn't true preeemptive multitasking, but it give a pretty good
impression that it is and I think it handles this switching in a similar way.

I realize this is messy and probably requires a lot of code, but I'm just
trying to show that dead-ends aren't always what they seem to be. There should
always be some way to get around a problem.

>     From my perspective as GS system software engineer, we have to take
>a rather conservative view on making changes in the way the GS
>environment works. With a core base of applications that people rely on
>daily, but aren't going to be updated, we can't do things that would
>suddenly cause them to break. In fact, there are many instances in the

I think that's part of the problem.  Being totally backwardly compatible does
cripple all new products.  Look at the GS. If it didn't have to be totally
compatible with the 8-bit IIs then, we probably wouldn't have a 1-mhz
bottleneck and many other limitations. I think there should be a limit on
how far backwardly compatible things should get. This creates the compatibility
bottleneck, but what can one say in the name of progress. We don't want a
underdeveloped Space Shuttle on our hands, do we?

Look at what System 7 did to the macs. It created a lot of incompatibility
problems, but it let the system advance (backtrack?) a step and told
developers that things have to change and they did.

We don't have that many developers for the Apple II anymore and it's not
likely that they would update their old products, but I don't think this
is a good reason to cripple any chance the Apple II has to advance past
what it is and have a new start and fresh breath of air.  Look at GNO. It
has potential to totally revolutionlize the Apple II, and probably will soon.
Let the people who are still around to fill in the spaces if we just give
them a newer and more powerful environment.

>system software where we do things to make older applications even _more_
>compatible (for such instances when they did illegal things, or relied on
>certain non-guaranteed behaviour).

>     So, _that's_ why I frequently argue that "you can't do that". :-)

>(Sheesh, I wish csa2.programmer existed so we could have lots of
>discussions like this. :-)

Will soon hopefully.

>Jim Murphy          Apple II System Software Engineer
>murph@apple.com

O.K. don't take this article wrong. It's just a view, an opinion, an
argument, etc. Not a flame. Ok? 8^)

Joseph
--
jlee@bonnie.ics.uci.edu          | The wind blows and it's cool on my face.
                                 | I take a breath and feel the coolness calm
                                 | my blood. In this calm, I feel my strength
                                 | return again and I start anew. -- me