Amiga.org
Amiga computer related discussion => General chat about Amiga topics => Topic started by: hishamk on May 04, 2013, 11:18:58 PM
-
Apologies if this was posted before, but I've just come across it and thought I'd share.
http://www.youtube.com/watch?v=nesWip4Nft0
Gotta love that tee on Dave.
-
Awesome I had not seen this video. Growing up in Australia everyone of my friends who owned an Amiga tended to blame the marketing or lack of marketing of the Amiga by Commodore. I'm not sure about other countries but there tended to be a stronger following both in the UK and Europe ( Population also has something to do with this I'm sure) As I think you still see today.
-
@hishamk
Thanks for sharing, I enjoyed that.
-
I think it's raining :( ...Yes, it's definitely raining...And...These onions, these onions are very strong
I'm going to need a second
-
Thanks for posting. I never saw that before. Pretty sad though.
-
thanks for the link. interesting vid.
-
thanks for the link. interesting vid. Of course the first comment is by that moron franko. Every time he talks he embarrasses himself.
For God's sake magnetic, get over it.
At least he never meddled in MorphOS.
-
Oh, and as a quick note on the "we could open multiple copies of a program" comment.
As they former vendor of 68K based OS-9 systems, WE could run multiple instance of a program and only have ONE copy of it in memory with multiple user/data areas.
That's where you guys blew it.
Loose sloppy coding that created all those lovely guru meditation crashes.
Even without memory protection, our program were structured better and were always written for position independent addressing.
SO...there is still a currently update 68K version of OS-9 available while AmigaOS 4 struggles to convince everyone that it is an AmigaOS (which of course it is, Hyperion can even incorporate the entirety of OS3.1 into OS4 if it desires).
I'd still love to see a tight micro kernel based OS that uses position independent addressing with a good tight graphic user interface.
-
WE could run multiple instance of a program and only have ONE copy of it in memory with multiple user/data areas.
The Amiga could do this too.
Even without memory protection, our program were structured better and were always written for position independent addressing.
Amiga software was position independent.
You can't really blame the OS for buggy software, that is down to the programmers that use it. If I released a ton of buggy OS-9 apps then would you change your opinion of the OS? Of course not.
-
The Amiga could do this too.
Amiga software was position independent.
Amiga addressing is rarely designed to be reentrant.
In fact some coders used the heinous practice of creating self modifying code..
That makes reentrancy virtually impossible.
And the OS doesn't manage this function leaving the task to "friendly" applications.
That why older Amiga (and Windows) apps sometimes cause the system to go bye-bye.
And most code on 68K and later machines is position independent (or at least position relative).
-
Of course AmigaOS is supporting pure/resident programs.
You only have to set a compiler switch or make your programs reentrant by yourself.
-
Programs with self modifying code are crashing because of the cpu caches, not because of the OS.
-
thanks for the link. interesting vid. Of course the first comment is by that moron franko. Every time he talks he embarrasses himself.
Firstly i liked the vid but not this{ that moron franko}
Is this the same guy who shared his knowledge only i know him as the Teacher of the Amiga a guy with passion that overflowed on to everyone who came into contact with him ,who taught myself and many others night after night so as we could just grasp as much knowledge as we could so as become apart of the Amiga world ,So Moron? well if he is ,i hope there are another ten thousand like him Brian
-
So Moron? well if he is ,i hope there are another ten thousand like him Brian
I hope not, the only other positive statement I've heard about him are that some people find his trolling and thread derailling hilarious.
I don't care that he posted a youtube comment though.
And the OS doesn't manage this function leaving the task to "friendly" applications.
The OS manages sharing executables but with no MMU you are reliant on "friendly" applications. You could just as easily write an OS9 application that uses self modifying code.
And most code on 68K and later machines is position independent (or at least position relative).
I'm not sure what you're getting at there. The operating system in machines without MMU's relocate their executables at load time, which AmigaOS does too.
You're still saying the OS is bad because of programmers that wrote applications, those same programmers could write OS-9 applications.
-
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
-
In any case, it was not a common function of Amiga programs.
That is irrelevant, you're blaming the OS for bad software.
-
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.
-
It was required.
How could the OS detect or enforce it? Did you just run into problems if you ran more than one copy?
-
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.
-
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?
-
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.
-
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
-
No, it is a required function.
Required by who and how was that requirement tested for and enforced?
-
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
-
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.
-
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:
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:
I had to write reentrant code for the OS I was using.
It was required.
Doesn't seem to explain anything there...
This:
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:
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
-
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.
-
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.
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?
-
I was wondering why the crap anyone cared about Win95 and then I realized that video is almost 20 years old. :)