Having worked with VxWorks for several years (sans memory protection) I know how difficult it is to track down memory tramplers. They occur whether you are careful or not because you cannot control everything and never will. It is one of those impossible to fix problems which is probably why memory protection is rather popular.
The debate will never end and shared memory architectures keep coming back but I suppose it is fun to discuss it in web forums from time to time to keep the boredom away.
"Well, but atm. we have the tools to check the software. Are they really used? How many programs are out there throwing a GR which is not fixed?"
Such tools are never a substitute for a rubust OS. And it's still impossible to catch everything without spending endless hours profiling your program, drawing up state diagrams and whatnot for every little detail.
"Another one: Any of you experienced these "interesting" quirks with some software on systems with full MP? I do each day and I see, that full MP leads most coders to do it with a "well, at least it doesnt crash" attitude.
Not really the path to HQ software, don't you think?"
Well in the real world, you know the world outside the tiny Amiga bubble, using that as an argument against MP is like reading about clerics in Iran claiming that women with too revealing clothing are causing devastating earth quakes by upsetting the powers at be or Afghanistanis claiming that the weird rocket phenomenon over Norway is really a Norwegian/American wormhole experiment that sucks the atmosphere into space causing global weather cooling.
I mean seriously, it's so far off the map that there isn't even a point in arguing against it.
People really need to start to understand how the real world works and stop dreaming about magically ending up in a fairy tale 'perfect software' world. IT'S NOT GOING TO HAPPEN.
There's bad coders everywhere, no matter if you have memory protection or not. And there's nothing anyone can do about it, except make sure that the OS does what it can to prevent bad or malicious coders from making your day into a very sour one.
Edit: Just to clarify, I'm not claiming that you in particular are using that as an argument against MP
Well, I hope Hans enjoys the discussion, too, then
@orgin
"People really need to start to understand how the real world works and stop dreaming about magically ending up in a fairy tale 'perfect software' world. IT'S NOT GOING TO HAPPEN."
Yeah, you see my point, but you didnt understand it
Well, MP might help to keep the system stable if a "bad coder" (I call them "lazy coders") released his program to the public. But does it help then to make the software better? Does it help to make the bad, lazy coder an excellent one?
No, it doesnt. It helps to drop software quality to a level that is, well, "accepted" by the public. Thats what the origins of the quirks I told of before are. These are e.g. drivers distorting the timing of Windows, distorting other processes, and the OS isnt able to do anything against it. I have to reboot to get rid of them. Until next distortion...
"Accepted" flaws in software engineering that would have been fixed if the OS wouldnt catch those flaws the "comfortable way".
This "help" by catching software flaws in "a comfortable way" supports lazyness of developers, who are more and more working with highly abstracted layers for things that arent as complex in reality without thinking about it.
I never denied the fact that "modern" software becomes more complex each month, levels of abstraction are raising each day, all points that are hard to control by a single coder.
But is this raise in complexity and abstraction really needed? Whats the point of e.g. HD codecs that are modified to more complexity each year? Could you really see a "better quality" in moving pictures? Is it worth all the complexity, needed CPU power, special hardware, money?
I really think that the word "simplify" matches AmigaOS best. If, and only if, we dont go the way of unneeded complexity, we can simplify the experience of computing, even developing, making it fun again, as it was advertised not so long ago. Its no easy way, right, but we still can go this way and if we decide to make the first step on this way, it will become more and more easier with each single step forward.
Theres still one little obstacle: Amigans would have to open their minds to things that arent really new, but will be seen as new, as most people forgot about their existence.
"Well, MP might help to keep the system stable if a "bad coder" (I call them "lazy coders") released his program to the public. But does it help then to make the software better? Does it help to make the bad, lazy coder an excellent one?"
It does help, a lot, in making better (as in stable) software. And it's not about being lazy, you can literally spend millions trying to make a program perfect by using code reviews and whatnot and you can still end up with problems. The rest of the world has no interest in spending the massive amounts of time and resources that would be needed to develop 'perfect' software for a non MP OS and amiga devs simply doesn't have the time and resources to do it (as for example is shown by the countless amounts of bad behaving software that has been produced for this platform, problems that, besides causing random crashes, only start to show up when you start to put up restrictions from the OS side because there was previously little available in terms of detecting said problems.).
Quote:
It helps to drop software quality to a level that is, well, "accepted" by the public."
"Accepted" flaws in software engineering that would have been fixed if the OS wouldnt catch those flaws the "comfortable way".
This "help" by catching software flaws in "a comfortable way" supports lazyness of developers, who are more and more working with highly abstracted layers for things that arent as complex in reality without thinking about it.
I never denied the fact that "modern" software becomes more complex each month, levels of abstraction are raising each day, all points that are hard to control by a single coder.
But is this raise in complexity and abstraction really needed? Whats the point of e.g. HD codecs that are modified to more complexity each year? Could you really see a "better quality" in moving pictures? Is it worth all the complexity, needed CPU power, special hardware, money?
I really think that the word "simplify" matches AmigaOS best. If, and only if, we dont go the way of unneeded complexity, we can simplify the experience of computing, even developing, making it fun again, as it was advertised not so long ago. Its no easy way, right, but we still can go this way and if we decide to make the first step on this way, it will become more and more easier with each single step forward.
Wow, thats' an amazing amount of Iranian cleric argumentation there.
Well, MP might help to keep the system stable if a "bad coder" (I call them "lazy coders") released his program to the public. But does it help then to make the software better? Does it help to make the bad, lazy coder an excellent one?
:) You think all the coders want to be "excellent coders" ?:) I can say that i hate programming, and hate coding, and i always think that "good coders", it's ppls with big glasses, without womans, without money, without femaly and such. Because of it, i hope i will never be "excelent coder" with start fever and big ego.
Why i say that: because as Orgin point, there will be all the time, and always bad programs from any coders. From bad one, from good one, from even Excelent Coders With Big Glasses Over The All Head. I can see all the times how "excelent coders" do bugs in their "excelent code". Because it just umpossible to do any big project, in fast time, without bugs.
And saying today, that "no, AOS is Fine already ! but let's coders be excelent, and the OS will be stable..", it's .. it's some kind of "ideal world", which of course will be never happenes, and more of it, some of us (i am) , just do not want to be "excelent coder(brr)", but still, from time to time i do something when have some motivation, and i am really in uninterest, reboot AOS all the time, when i make a typo/mistake/lazy bug, and running again all those notepads/cubicide/dopus/filers/shells/etc. There is must be still something done on OS side, to make live of users/coders more easyly. And MP/resource tracking can help with it for sure. And yes, MP/etc will help a lot to make more better programm even if it try to do bad/lazy programmer, just because, he do not need to reboot all the time his OS when he develop.
It's sometime just annoy so well, that i just power off amiga. Because it's really suck to run everything again, because of every-little bug. And GR here help not so good. It's can catch the bug, then, it happy crash/slowdown system in most of cases.
Correct. Plus, check the date that this thread was started. I'd actually forgotten about it.
Personally, I'd like to see full memory protection because it would help me to find more bugs, and it would protect the system from being taken out by one single bad app.
I agree with everybody who wants full memory protection. I have a situation where using certain three programs together causes system instability but I don't know which one to blame. Grim reaper doesn't catch everything.
Rock lobster bit me - so I'm here forever X1000 + AmigaOS 4.1 FE "Anyone can build a fast CPU. The trick is to build a fast system." - Seymour Cray
Hm, did I something bad to you or why youre calling me "Iranian cleric"? Just because I say that the "normal" way of coding need not be the best one? That there are different approaches to the same "problems"?
Clerics tend to reject any new (or not "conform") ideas to handle things. Seeing it this way, you would be the "Iranian cleric". But I would never call you like this. I try to convince, not to blame.
Dont think that I dont know what Im talking about. I had all the problems you told of myself. I needed a lot of time to find my errors. And I learned from them. Some of these errors where of those kind full MP would magically "repair" for me. With this POV, full MP would hinder me to learn, what I did wrong.
In fact, OS4 teached me to become better in coding.
Windows didnt.
Uhm, by the way, why "Iranian cleric"? Are catholic clerics better or more free in thinking? Or any other clerics?
kas1e wrote: :) You think all the coders want to be "excellent coders" ?:) I can say that i hate programming, and hate coding, and i always think that "good coders", it's ppls with big glasses, without womans, without money, without femaly and such. Because of it, i hope i will never be "excelent coder" with start fever and big ego.
hmm... you think, prejudice is a good way to make things better? I dont.
Quote:
Why i say that: because as Orgin point, there will be all the time, and always bad programs from any coders. From bad one, from good one, from even Excelent Coders With Big Glasses Over The All Head. I can see all the times how "excelent coders" do bugs in their "excelent code". Because it just umpossible to do any big project, in fast time, without bugs.
Why should it be "umpossible"? Because there are always "bad coders" who could do their bad coding for a long time with the help of full MP? Coders who could commit bad code to a big project which slip through unnoticed? Coders who give us "big projects" on platforms with full MP, projects with lots of quirks and plain bugs?
I tell you something: Those bad coders would leave quite fast, if their bad practices would be rejected by users. Simple market principles.
As it is now, little typo errors up to really bad bugs are "accepted" because it is said over and over that its impossible to avoid these bugs and "all is fine as long as the OS doesnt crash". And this saying is plain wrong. It is possible to avoid those bugs, but it isnt done at all. Another market principle: Make more money with less effort. If "umpossible", make the customer believe that bugs are "normal".
Quote:
And saying today, that "no, AOS is Fine already ! but let's coders be excelent, and the OS will be stable..", it's .. it's some kind of "ideal world", which of course will be never happenes, and more of it, some of us (i am) , just do not want to be "excelent coder(brr)", but still, from time to time i do something when have some motivation, and i am really in uninterest, reboot AOS all the time, when i make a typo/mistake/lazy bug, and running again all those notepads/cubicide/dopus/filers/shells/etc.
Well, if youre not interested in learning to avoid all these lazy bugs/mistakes/typos, thats fine.
But I want to learn. And Im not interested in a system hiding bugs from me. I want the system to show me the bugs I invented. I want a system that wont work with a faulty program of mine. A system that forces me to learn.
Quote:
There is must be still something done on OS side, to make live of users/coders more easyly. And MP/resource tracking can help with it for sure. And yes, MP/etc will help a lot to make more better programm even if it try to do bad/lazy programmer, just because, he do not need to reboot all the time his OS when he develop.
Why do you think that less reboots will make "better software"? Because the coder can invent even more bugs to catch by the OS in the same or lesser time?
I believe, the things we really miss are a good debugger (and no, for this no MP would be needed. Just a dogma change would be needed. Away from GNU toolchain) and quality information about the principles the OS uses.
Quote:
It's sometime just annoy so well, that i just power off amiga. Because it's really suck to run everything again, because of every-little bug. And GR here help not so good. It's can catch the bug, then, it happy crash/slowdown system in most of cases.
Then its a quite heavy bug you invented there. A bug that is not a simple typo/mistake. Here most GR go away without crashes/slowdown.
And, not to forget, the OS itself is still not really bug free (not to speak of some hardware). I bet that implementing full MP would introduce even more bugs, bugs that are more harder to find...
Uhm, by the way, why "Iranian cleric"? Are catholic clerics better or more free in thinking? Or any other clerics?
Having talked to someone who has lived in Iran, I would say yes, they are. For example, Catholic clergy won't threaten to beat you if you question whether the bible really is the word of God; don't try that with the Koran in Iran. In fact, Catholic clergy (and I suspect most Christian clergy) would probably be more than happy to discuss the origins of the bible, and why the church teaches what it does, assuming that you're genuinely interested. You're allowed to question church teachings, just be prepared for a detailed answer.
Quote:
"Already I had learned from thee that because a thing is eloquently expressed it should not be taken to be as necessarily true; nor because it is uttered with stammering lips should it be supposed false. Nor, again, is it necessarily true because rudely uttered, nor untrue because the language is brilliant. Wisdom and folly both are like meats that are wholesome and unwholesome, and courtly or simple words are like town-made or rustic vessels ? both kinds of food may be served in either kind of dish." -- St. Augustine
So... At least some kind of temporary/optional MP (that breaks all old apps) would be wery welcome for SW developers to find FATAL bugs easier.
- Kimmo --------------------------PowerPC-Advantage------------------------ "PowerPC Operating Systems can use a microkernel architecture with all it�s advantages yet without the cost of slow context switches." - N. Blachford
If the goal is to get out of the hobby OS category then it's actually essential that the system is rebuilt ground up supporting memory protection, enforced resource tracking (incl release), isolated memory spaces and more. A modern OS need to be secure and rubust, something which AOS isn't. Old apps would have to be relegated to a closed environment isolated from the rest of the system. Without these changes* it just won't make it outside the current sphere.
On the other hand, if the goal is to keep it as a hobby OS then it's all fine as it is. Though rebooting all the time does get quite tiresome while developing.
* there are some other changes needed as well so it doesn't depend on these things alone. But discussing those topics would be even more out of the scope of this thread.
Why should it be "umpossible"? Because there are always "bad coders" who could do their bad coding for a long time with the help of full MP? Coders who could commit bad code to a big project which slip through unnoticed? Coders who give us "big projects" on platforms with full MP, projects with lots of quirks and plain bugs?
Because we all live in real world. We always see apps, which need fixing, fixing and one more time fixing. In reality, from all the os4depot uploads, can you found many apps, which not need to fix, or which was done for the first version without bugs ? Imho not so many, or none at all. Even AOS4 is good example, how long way was for the aos4.1update1 (which more or less bug free now, if compare with even os4.0 final, or betas). And that is not because bad coders, that is because it's real problems, when need testing, bug hunting, and so on.
And MP just help any developer to work more easyly. I just only about, that OS always reboot by any problematic programm and that is weird for everyday and real usage.
For now, i fully agree with total removing of 68k support inside the OS, and put all that emulation to e-uae. And let's at last aos4 start to be modern OS, which, then, can attrackt more users, commercical companies (maybes) and alt.
Because i know how everything happenes: user run os4, run any bad programm , os freezes. User think - ah, ok, any bug = freeze of os. No thanks.
Imho that is real, and important problem and let's be 68k already die if that stop to make Aos4 modern.
Quote:
And Im not interested in a system hiding bugs from me. I want the system to show me the bugs I invented. I want a system that wont work with a faulty program of mine. A system that forces me to learn.
I not say that need hide the bugs. Let's it be optionally (for developers). Then, users can swith it on/off for bug reports, coders/programmers always will have it ON when works. But MP and resoruce tracking, will avoid AOS from reboots/freezes and hangs. Users which switch that off, just will see that programm buggy, and remove it from memory/kill taks/process/remove windowses/does not matter how.
Of course, even with MP/etc, as you say before, still will be sometime problems, when still, some process can overwrite some memory, and it will cause a crash/bsod/bluescreenofdeath/segfault/etc. But if we compare even win95 (which was with MP already, but was done in initial/bad way), with XP - then, XP, have it normally. As everyone (in more case) wants it.
And now here (winxp) mostly bugs are "security related", and users have their winxp runnings by years with no problems (with running and killing bad apps, with coding and so on).
AOS can have the best from other world (why not), just if core developers will want to make it modern. Of course integration of MP for first will buggy, with problems, etc. But need to start to works on it radically, with removing 68k, with adding/changing api, etc.
Personally I think that resource tracking is the most important thing, from a user perspective, because OS4 seems to do quite a good job of catching crashes (with the Grim Reaper), but even if the system is still stable after that, you still have annoying windows & screens, valuable video memory being wasted by them (64MB isn't much), and potentially open files also causing problems. Full resource tracking shouldn't require a complete rewrite of how AmigaOS works, so I favour seeing it added before full memory protection (which is conceptually harder to add).
I guess ideally we would have a new API, which supported resource tracking, memory protection, SMP, etc, and new apps using it would get those benefits. While old apps would continue to work, but would crash the system (or at least the "box" containing the old system), etc. Quite big job though, very ambitious at least...
- Kimmo --------------------------PowerPC-Advantage------------------------ "PowerPC Operating Systems can use a microkernel architecture with all it�s advantages yet without the cost of slow context switches." - N. Blachford
Indeed interesting idea .. Should be not so hard to implement, and, if it will works fast .. why not ..
But what about 5 copies of OWB, with opening pages and alt ? Will it saves too ?:) If it will be save everything just 1:1, and reboot will be no more than 5-10 seconds, then, it can be really good solution.
kas1e wrote: Because we all live in real world. We always see apps, which need fixing, fixing and one more time fixing. In reality, from all the os4depot uploads, can you found many apps, which not need to fix, or which was done for the first version without bugs ? Imho not so many, or none at all.
At least some native applications are there, not crashing and working as expected.
In fact, the highest number of crashing applications is located in the group of ports of programs developed on MP enabled systems. Go figure.
Quote:
Even AOS4 is good example, how long way was for the aos4.1update1 (which more or less bug free now, if compare with even os4.0 final, or betas). And that is not because bad coders, that is because it's real problems, when need testing, bug hunting, and so on.
Even here are examples of bad coding. AmigaInput is a quite good example.
Quote:
And MP just help any developer to work more easyly. I just only about, that OS always reboot by any problematic programm and that is weird for everyday and real usage.
Well, its weird for you and this is ok. But what about people finding it not as weird as you?
Quote:
For now, i fully agree with total removing of 68k support inside the OS, and put all that emulation to e-uae. And let's at last aos4 start to be modern OS, which, then, can attrackt more users, commercical companies (maybes) and alt.
Why do you think that a "modernization" which resembles to mimic a un*x like OS would attract more users? I dont see this and there are lots of examples for my POV out there. There are lots of un*x derivates out there which are even not a hobby OS, they are just a curiosity.
Curiosities, at least with full MP, resource tracking, automatic stack extension, more or less working gdb and so on. Seems MP helped them a lot not being simple curiosities, hm?
Quote:
Because i know how everything happenes: user run os4, run any bad programm , os freezes. User think - ah, ok, any bug = freeze of os. No thanks.
Ah, I see... thats why there are still users interested in OS4/SAM/X1000? Because they think "No thanks"? I believe you (and others) underestimate the appeal of Amiga because youre frustrated by the quite bad development tools we actually have. Not to speak of the API chaos that was invented in the hope to get something done. We will see when we actually get e.g. MESA. And how good it works.
Quote:
Imho that is real, and important problem and let's be 68k already die if that stop to make Aos4 modern.
What about you using any "modern" OS available out there? What prevents you from using e.g. Linux with E-UAE or Windows with WinUAE? They are there, why dont you use them instead? They are "modern", hardware is cheap, development work is a joy there (according to you).
So tell me: Why dont you use them?
Quote:
I not say that need hide the bugs. Let's it be optionally (for developers). Then, users can swith it on/off for bug reports, coders/programmers always will have it ON when works. But MP and resoruce tracking, will avoid AOS from reboots/freezes and hangs. Users which switch that off, just will see that programm buggy, and remove it from memory/kill taks/process/remove windowses/does not matter how.
I think you dont know much about MP within an OS. It will hide many bugs from you just because of the way MP works.
If it werent this way, many bugs in e.g. Windows applications wouldnt exsist. There are quite simple stack problems for example. Why are those not fixed before a program was released? They went through unnoticed.
Quote:
And now here (winxp) mostly bugs are "security related", and users have their winxp runnings by years with no problems (with running and killing bad apps, with coding and so on).
Hmmm... isnt MP said to make a system more stable and secure? Why are so many security problems there? Why is it such hard for a multi-billion business to avoid those security problems on a system with full MP? Why does MP not help them to find those problems forefront?
Quote:
AOS can have the best from other world (why not), just if core developers will want to make it modern.
But what is "best"? Compositing for example, which is way too heavy for the machines actually available? Which needs a rather expensive machine to be used to its extend?
CUPS as a driver system which will not bring drivers for modern printers, as most modern drivers are developed for Linux x86, some as closed source, some as drivers not using the full capabilities of the printer?
"Best" is quite relative. Actually I see mostly mediocre or bad solutions taken from other worlds.
Ok, these days its near to impossible to develop new, really good things, as we lack developers and, even more important, money. But I really believe that a lot of development power is wasted in the attempt to get "the best from other worlds".
Quote:
Of course integration of MP for first will buggy, with problems, etc. But need to start to works on it radically, with removing 68k, with adding/changing api, etc.
As I said: No radical change needed, all those nifty APIs, MP, SMP etc. etc. are already there.
But you would have to use them. I strongly believe that there are reasons why you dont use them...
Having talked to someone who has lived in Iran, I would say yes, they are. For example, Catholic clergy won't threaten to beat you if you question whether the bible really is the word of God; don't try that with the Koran in Iran. In fact, Catholic clergy (and I suspect most Christian clergy) would probably be more than happy to discuss the origins of the bible, and why the church teaches what it does, assuming that you're genuinely interested. You're allowed to question church teachings, just be prepared for a detailed answer.
Hmm... give the Pope the power from inquisition times back and see what will happen.
And I bet that there are Iranian clerics who are rather open-minded, although they would have the power to threaten people who are of other mind.
But all this still doesnt explain why I should be like an "Iranian cleric".
Just because I think that MP is not the holy grail?
Quote:
"Already I had learned from thee that because a thing is eloquently expressed it should not be taken to be as necessarily true; nor because it is uttered with stammering lips should it be supposed false. Nor, again, is it necessarily true because rudely uttered, nor untrue because the language is brilliant. Wisdom and folly both are like meats that are wholesome and unwholesome, and courtly or simple words are like town-made or rustic vessels ? both kinds of food may be served in either kind of dish." -- St. Augustine
Hmm... give the Pope the power from inquisition times back and see what will happen.
Most of what you've heard about "inquisition times" is a load of nonsense; even the Spanish Inquisition which, BTW, was run by the King of Spain, not the Pope. I'll skip the historical and political context of the time, but the Pope tried to stop the inquisition due to it being misused, but the Spanish monarchy threatened to withdraw support for protecting Rome from invasion by the Turks. The Pope of the time also tried to allow those found guilty to appeal to Rome, which was also blocked by the monarchy (who made it a crime punishable by death to do so without royal permission).
If you study what actually happened, including the political environment and norms of the time, you'll discover that Inquisitions were NOT the lunatic church administered reign of terror that it is often portrayed to be. That's not to say that the inquisitions weren't manipulated for terrible purposes by some, but it is very wrong to use the actions of a few, to tar and feather the many.
Quote:
And I bet that there are Iranian clerics who are rather open-minded, although they would have the power to threaten people who are of other mind.
You can find exceptions to almost every rule.
Quote:
But all this still doesn't explain why I should be like an "Iranian cleric".
That's between you and Origin. I had a problem with your suggestion that Catholic clergy (and even any clergy) are a bunch of closed-minded people who suppress free thought. I know more than enough clergy to know that this is NOT the case. I have also met theologians, and am almost always struck by their wisdom, depth of thought and knowledge, and their understanding of theology, philosophy, and the world. As a Catholic I get all sorts of nonsensical accusations levelled at my church and myself based on prejudice, ignorance and fables. Most of the time I just ignore them, but saying absolutely nothing will only let the prejudice and ignorance grow.
I hope that I can leave it at that. I don't have the time or the interest to get into a debate about religion. Plus, we're now waaaay off-topic.
"But what about 5 copies of OWB, with opening pages and alt ? Will it saves too ?:) If it will be save everything just 1:1, and reboot will be no more than 5-10 seconds, then, it can be really good solution."
That is the idea.
The implementation works pretty well in latest Ubuntu. If I have firefox running and I restart linux, I'll end up to the same situation that I was before the restart. (and I could have changed kernel etc. "on the fly") The problem with Linux is that it's slow. (not as slow as winXP, but anyway) AOS has the potential of being many times faster.
In the (partly my idea) OS just tells the application to quick save everything it was doing and after some delay (for example one second) the OS could tell the application to shut down, saves the information of what apps were running and after another second the OS tells disk I/O to stop and then reboots/powers off.
At the next start up, the OS can (optionally) ask the user what he/she wants. I the user wants to "restore", then the OS could start all apps that were running before shutdown/reboot. And the application checks it's "quicksave" information if it has data to restore for the user.
Everything must be configurable with good presets for Amiga newbies. (as usual)
************ In the future of MP AOS7, the OS could freeze applications separately (or suspend/hibernate like in Win) & save to disk, if so desired, then the restore would be close to atomic solution.
(untill we have MP I see no real use for hibernation, when quicksave+restore works faster and more reliable and it can be used after there's problem in the system (some app already crashed, potential wild pointer/memory corruption on the loose))
****************
@popetalk
Sorry, if I do not participate.
- Kimmo --------------------------PowerPC-Advantage------------------------ "PowerPC Operating Systems can use a microkernel architecture with all it�s advantages yet without the cost of slow context switches." - N. Blachford