Welcome, Guest. Please login or register.

Author Topic: Dave Needle on Amiga...  (Read 6838 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Iggy

  • Hero Member
  • *****
  • Join Date: Aug 2009
  • Posts: 5348
    • Show only replies by Iggy
Re: Dave Needle on Amiga...
« Reply #14 on: May 05, 2013, 04:37:09 PM »
Reentrant code is not solely a function of a compiler switch.
Many of us were actually using assemblers in the 80's.

In any case, it was not a common function of Amiga programs.
Although it is a great way to write modular threaded code
"Not making any hard and fast rules means that the moderators can use their good judgment in moderation, and we think the results speak for themselves." - Amiga.org, terms of service

"You, got to stem the evil tide, and keep it on the the inside" - Rogers Waters

"God was never on your side" - Lemmy

Amiga! "Our appeal has become more selective"
 

Offline psxphill

Re: Dave Needle on Amiga...
« Reply #15 on: May 05, 2013, 05:31:02 PM »
Quote from: Iggy;733827
In any case, it was not a common function of Amiga programs.

That is irrelevant, you're blaming the OS for bad software.
 

Offline Iggy

  • Hero Member
  • *****
  • Join Date: Aug 2009
  • Posts: 5348
    • Show only replies by Iggy
Re: Dave Needle on Amiga...
« Reply #16 on: May 05, 2013, 06:24:41 PM »
Quote from: psxphill;733832
That is irrelevant, you're blaming the OS for bad software.


And you are being dismissive.
I had to write reentrant code for the OS I was using.
It was required.
AmigaOS allowed for bad programming practices.
So, yeah, I'm blaming the OS.

But, on the other hand, you have a strong point.
The programmers were frequently self taught and not always schooled on a variety of issued that compromised what they were creating.

And the OS, left to its own, was as stable (maybe more so) then many alternatives.
"Not making any hard and fast rules means that the moderators can use their good judgment in moderation, and we think the results speak for themselves." - Amiga.org, terms of service

"You, got to stem the evil tide, and keep it on the the inside" - Rogers Waters

"God was never on your side" - Lemmy

Amiga! "Our appeal has become more selective"
 

Offline psxphill

Re: Dave Needle on Amiga...
« Reply #17 on: May 05, 2013, 08:38:30 PM »
Quote from: Iggy;733837
It was required.

How could the OS detect or enforce it? Did you just run into problems if you ran more than one copy?
 

Offline Iggy

  • Hero Member
  • *****
  • Join Date: Aug 2009
  • Posts: 5348
    • Show only replies by Iggy
Re: Dave Needle on Amiga...
« Reply #18 on: May 05, 2013, 09:00:12 PM »
Quote from: psxphill;733841
How could the OS detect or enforce it? Did you just run into problems if you ran more than one copy?


No, it is a required function.
It also explain why the OS wasn't ported to Intel platforms until the '386 was introduced. Not enough CPU power to pull of something that Motorola had been doing since the time of their 8 bit products.
It was also useful to be able to assign priority values to processes so that processes that didn't need too much CPU time didn't waste it.
"Not making any hard and fast rules means that the moderators can use their good judgment in moderation, and we think the results speak for themselves." - Amiga.org, terms of service

"You, got to stem the evil tide, and keep it on the the inside" - Rogers Waters

"God was never on your side" - Lemmy

Amiga! "Our appeal has become more selective"
 

Offline A6000

  • Sr. Member
  • ****
  • Join Date: Nov 2007
  • Posts: 443
    • Show only replies by A6000
Re: Dave Needle on Amiga...
« Reply #19 on: May 05, 2013, 09:22:12 PM »
I do not understand, what function in OS9 forced you to write code in a pre-ordained way.
Should that function be added to AROS if it doesn't already have it?
 

Offline Iggy

  • Hero Member
  • *****
  • Join Date: Aug 2009
  • Posts: 5348
    • Show only replies by Iggy
Re: Dave Needle on Amiga...
« Reply #20 on: May 05, 2013, 10:16:50 PM »
Quote from: A6000;733846
I do not understand, what function in OS9 forced you to write code in a pre-ordained way.
Should that function be added to AROS if it doesn't already have it?


No, we aren't talking Mac OS here, and AROS is based on the AmigaOS 3.1 API.
Why would you want to force AROS to do something that is optional.
The entire matter was much more important when memory was expensive.
"Not making any hard and fast rules means that the moderators can use their good judgment in moderation, and we think the results speak for themselves." - Amiga.org, terms of service

"You, got to stem the evil tide, and keep it on the the inside" - Rogers Waters

"God was never on your side" - Lemmy

Amiga! "Our appeal has become more selective"
 

Offline desiv

  • Hero Member
  • *****
  • Join Date: Oct 2009
  • Posts: 1270
    • Show only replies by desiv
Re: Dave Needle on Amiga...
« Reply #21 on: May 05, 2013, 10:22:06 PM »
Quote from: Iggy;733849
No, we aren't talking Mac OS here, and AROS is based on the AmigaOS 3.1 API.

I get the feeling that, until you actually answer the question they are asking over and over about what it is specifically in OS9 that prevented the "bad code", they are going to keep asking...

Might as well just answer it..  ;-)

desiv
Amiga 1200 w/ ACA1230/28 - 4G CF, MAS Player, ext floppy, and 1084S.
Amiga 500 w/ 2M CHIP and 8M FAST RAM, DCTV, AEHD floppy, and 1084S.
Amiga 1000 w/ 4M FAST RAM, DUAL CF hard drives, external floppy.
 

Offline psxphill

Re: Dave Needle on Amiga...
« Reply #22 on: May 05, 2013, 10:22:39 PM »
Quote from: Iggy;733844
No, it is a required function.

Required by who and how was that requirement tested for and enforced?
 

Offline Pentad

Re: Dave Needle on Amiga...
« Reply #23 on: May 05, 2013, 11:34:48 PM »
That was a great video!   I am always surprised with something like this pops up.  YouTube is full of great finds like this.

I still like the Amiga Boing Ball logo/icon than the checkmark.  I always thought they should have kept that.


Iggy:  About 99% of your posts are always wrong.  Every single time you post something technical I cringe because it is full of errors.   You remind me of my students who thing they know more than they really do.  Ack!  I can't take it anymore, I have to add him to my filter list...

-P
Linux User (Arch & OpenSUSE TW) - WinUAE via WINE
 

Offline Iggy

  • Hero Member
  • *****
  • Join Date: Aug 2009
  • Posts: 5348
    • Show only replies by Iggy
Re: Dave Needle on Amiga...
« Reply #24 on: May 06, 2013, 12:44:11 AM »
Quote from: psxphill;733851
Required by who and how was that requirement tested for and enforced?

I've already explained this so I'll walk you through it again in more detail.
Under Microware's OS-9 task scheduling and the assignment data areas (which are separate  from program areas and will be multiple IF more then one process calls another program) are some of the kernal's primary activities.
Could you create non-reentrant code? Of course you could if you had a module that would never be called by more than one process.
And that would probably fall back to loading a second copy of that module if two processes called it.

But since the compilers were already designed for reentrancy AND the core of the operating system was optimized for it, you wouldn't have seen it very often.

You guys need to look at how a microkernel based OS is designed to work. It encourages specific programing habits.
I don't know if MorphOS relies as heavily on this, but I would not be surprised to see that it had been implemented.

You see, again, by separating program modules and data modules, you're optimized to implement reentrancy.

Now, short of loaning you a Pascal09 or Basic09 manual, or walking you through how you would set this up under C, I can't see how to explain this to you further.
« Last Edit: May 06, 2013, 12:47:06 AM by Iggy »
"Not making any hard and fast rules means that the moderators can use their good judgment in moderation, and we think the results speak for themselves." - Amiga.org, terms of service

"You, got to stem the evil tide, and keep it on the the inside" - Rogers Waters

"God was never on your side" - Lemmy

Amiga! "Our appeal has become more selective"
 

Offline desiv

  • Hero Member
  • *****
  • Join Date: Oct 2009
  • Posts: 1270
    • Show only replies by desiv
Re: Dave Needle on Amiga...
« Reply #25 on: May 06, 2013, 01:39:00 AM »
Quote from: Iggy;733857
I've already explained this so I'll walk you through it again in more detail.

Just went back thru your posts..

Where exactly did you "explain this before?"

Where you said:

Quote
No, it is a required function.
It also explain why the OS wasn't ported to Intel platforms until the '386 was introduced. Not enough CPU power to pull of something that Motorola had been doing since the time of their 8 bit products.
It was also useful to be able to assign priority values to processes so that processes that didn't need too much CPU time didn't waste it.

All that says is that it (whatever "it" is) is a required function and hints there is CPU overhead, but not why..

Here:
Quote
I had to write reentrant code for the OS I was using.
It was required.
Doesn't seem to explain anything there...

This:
Quote
Reentrant code is not solely a function of a compiler switch.
Many of us were actually using assemblers in the 80's.
Again, nothing I see there is an explanation....

Not this:
Quote
Even without memory protection, our program were structured better and were always written for position independent addressing.

That just implies you did it as a programmer, not that anything required it..

So, if you thought you had already explained it...

I'm not seeing it...

But the "I'm so much better than you and if I HAVE to explain it again" attitude is kind of funny...  

desiv
Amiga 1200 w/ ACA1230/28 - 4G CF, MAS Player, ext floppy, and 1084S.
Amiga 500 w/ 2M CHIP and 8M FAST RAM, DCTV, AEHD floppy, and 1084S.
Amiga 1000 w/ 4M FAST RAM, DUAL CF hard drives, external floppy.
 

Offline Iggy

  • Hero Member
  • *****
  • Join Date: Aug 2009
  • Posts: 5348
    • Show only replies by Iggy
Re: Dave Needle on Amiga...
« Reply #26 on: May 06, 2013, 02:09:30 AM »
Quote from: desiv;733864
Just went back thru your posts..

Where exactly did you "explain this before?"

Where you said:



All that says is that it (whatever "it" is) is a required function and hints there is CPU overhead, but not why..

Here:

Doesn't seem to explain anything there...

This:

Again, nothing I see there is an explanation....

Not this:


That just implies you did it as a programmer, not that anything required it..

So, if you thought you had already explained it...

I'm not seeing it...

But the "I'm so much better than you and if I HAVE to explain it again" attitude is kind of funny...  

desiv


Good point.
Until I'd mention that the OS had several module classes, it would have been hard to explain while modular reentrant code was an advantage.
Plus you have the ability to load and unload module dynamically (and I really don't want to explain the advantage of that).
But actually its not that processor intensive and we were able to create some processes that were so generalized that they were never unloaded.
One early 6809 based point of sales system was composed of slightly less then 255 modules.
One low level clean up 'gnome' only got a processor slice every few seconds
but its presence made the system very stable.
Unless you've already experienced coding like this, its hard to explain the advantages.

Besides, this is WAY off topic.
"Not making any hard and fast rules means that the moderators can use their good judgment in moderation, and we think the results speak for themselves." - Amiga.org, terms of service

"You, got to stem the evil tide, and keep it on the the inside" - Rogers Waters

"God was never on your side" - Lemmy

Amiga! "Our appeal has become more selective"
 

Offline psxphill

Re: Dave Needle on Amiga...
« Reply #27 on: May 06, 2013, 08:59:38 AM »
Quote from: Iggy;733868
Until I'd mention that the OS had several module classes, it would have been hard to explain while modular reentrant code was an advantage.
Plus you have the ability to load and unload module dynamically (and I

So do all versions of AmigaOS & libraries and devices are "required" to be re-entrant on AmigaOS (*). You can't unload code while it's in use though, I don't know if OS-9 can do that.
 
Later (Kickstart 1.3 IIRC) they added the option of also marking applications as re-entrant so the code can be shared for those too. Again you could preload or unload them.
 
(*) You could use a semaphore internally to serialise access to certain parts of the code, which you'd want to do if the library/device talk to a resource that can only satisfy one request at a time & this technique could also be used if you wanted to do something strange like self modifying code as well.
 
Quote from: Iggy;733857
You guys need to look at how a microkernel based OS is designed to work. It encourages specific programing habits.

AmigaOS is microkernel, what makes you think it isn't?
« Last Edit: May 06, 2013, 09:04:01 AM by psxphill »
 

Offline B00tDisk

  • VIP / Donor - Lifetime Member
  • Hero Member
  • *****
  • Join Date: Dec 2002
  • Posts: 1670
    • Show only replies by B00tDisk
    • http://www.thedelversdungeon.com
Re: Dave Needle on Amiga...
« Reply #28 from previous page: May 06, 2013, 03:20:31 PM »
I was wondering why the crap anyone cared about Win95 and then I realized that video is almost 20 years old. :)
Back away from the EU-SSR!