Amiga.org
Operating System Specific Discussions => Amiga OS => Amiga OS -- Development => Topic started by: bloodline on April 01, 2008, 11:52:00 AM
-
AeroMan wrote:
Thanks for the explanation Bloodline,
One more question:
Would it be possible to treat memory under three different areas like this:
1) System (system structures and stuff that wasn't previously allocated) - memory has no protection and everyone can see and modify it.
BANG! You are no longer memory protected... any rogue task can take the sysetm down.
Also pretty much the entire OS would need to be shared... what kind of weird OS protects it's tasks and not the OS :lol: ;-)
2) Code (all of it...) - only system can play around with that. Let's sacrifice self modifyable code.
That's a good one, I think OS4 does this... but without full memory protection, one naughty task and the whole system integrity is gone... BANG! No more memory protecction!
3) Data (all allocated memory) - only tasks and sub tasks may modify it.
The Tasks don't provide enough info to the OS for it to know what needs to be shared and what doesn't... it would all have to be shared... BANG! No more memory protecction!
It is not perfect, but maybe it can improve a little bit the situation. ;-)
A little protection is more dangourus than no protection... it might hide a more serious problem with your program!!! :-(
-
shoggoth wrote:
In FreeMiNT (ok, I'm from the other side of the fence, sorry), it's possible to specify the level of protection for each process through dedicated flags in the program header. In practice, this means that you can flag two apps as belonging to "global" memory, causing them to share the same address space. These two applications can then access eachothers memory freely. (Ok, it's not considered perfectly clean, but it provides some degree of compatibility for older applications). Well behaved applications can run as "private", and their memory can't be touched nor can they touch other memory belonging to other processes.
Couldn't this approach be used in AmigaOS as well?
It's easy to put Memory Protection into AmigaOS... but it will break all exisiting apps since they do not tell the OS that that want to share data...
What you seem to be sugesting is sandboxing the old apps... this is indeed the only way to add MP :-)
-
Einstein wrote:
biggun wrote:
My 2 cents,
* Memory protection is nearly impossible to implement under the idea of AMIGA OS.
So apple fans don't regard MacOSX as Mac(OS) ?
Actually I'm a bit of an Apple fan... and I don't consider anything pre MacOSX to be MacOS :-D :lol: But then I've only ever really used and owned OSX based Macs.
Biggun has a point though, as soon as we add MP, we essentially have a new operating system... in much the same way as OSX isn't the same OS as System x.x
If we want MP, we will need to sandbox all the old apps... in the same way Apple sandboxed Classic apps in OSX :-)
* That AMIGA OS does not require memory protection gives it a VERY BIG speed boost.
What is the performance boost useful for when you will *not* use it for anything meaninful when slightest bug in any running task can destroy, say, the CD/DVD I was burning. Now it's (the CD/DVD) just useless and intended for the garbage can, and I'm now loading XP to do it the *safe* way, sheesh!
Yeah, trouble is I agree with both of you here! :crazy:
* I would like to point out that there are other ways to stabilize a system. 99% of crashed come from bad pointer arithmetic. You can try to reduce the harm cause by the bad pointer by enforcing memory protection (for a high cost) or you can use coding styles which will not cause this problem in the first place. A would like to point out that the Amiga Oberon programs did NEVER crash!
It's like saying we don't need Police Departments, only if people behave than we could rid of'em have gain an economic boost, but unfortunately this is not reality.
[/quote]
Actually I'm actinated by Managed code systems... but it's not an option for AmigaOS, unless you band the use of C/C++/ASM/E/Etc...
I agree that this topic has nothing to do with the Coldfire.
And that for continues discussion opening another thread makes good sense.
Well, claims need to be answered, on spot, sorry about that.
Well lets keep all replies in this thread now :-)
-
bloodline wrote:
Actually I'm a bit of an Apple fan... and I don't consider anything pre MacOSX to be MacOS :-D :lol: But then I've only ever really used and owned OSX based Macs.
Biggun has a point though, as soon as we add MP, we essentially have a new operating system... in much the same way as OSX isn't the same OS as System x.x
But users don't dwell in the OS internals :)
If we want MP, we will need to sandbox all the old apps... in the same way Apple sandboxed Classic apps in OSX :-)
I agree, it's the only way to remain truely compatible while freeing the OS from stone age technology.
* That AMIGA OS does not require memory protection gives it a VERY BIG speed boost.
What is the performance boost useful for when you will *not* use it for anything meaninful when slightest bug in any running task can destroy, say, the CD/DVD I was burning. Now it's (the CD/DVD) just useless and intended for the garbage can, and I'm now loading XP to do it the *safe* way, sheesh!
Yeah, trouble is I agree with both of you here! :crazy:
Well one either trades off safety or speed, I do the latter since I'm perfectly sane :-P
Well lets keep all replies in this thread now :-)
Sure thing :)
-
Einstein wrote:
bloodline wrote:
Actually I'm a bit of an Apple fan... and I don't consider anything pre MacOSX to be MacOS :-D :lol: But then I've only ever really used and owned OSX based Macs.
Biggun has a point though, as soon as we add MP, we essentially have a new operating system... in much the same way as OSX isn't the same OS as System x.x
But users don't dwell in the OS internals :)
AmigaOS users do... it's all we have left! :-D
If we want MP, we will need to sandbox all the old apps... in the same way Apple sandboxed Classic apps in OSX :-)
I agree, it's the only way to remain truely compatible while freeing the OS from stone age technology.
Bring on AROS 2.0!! :lol:
* That AMIGA OS does not require memory protection gives it a VERY BIG speed boost.
What is the performance boost useful for when you will *not* use it for anything meaninful when slightest bug in any running task can destroy, say, the CD/DVD I was burning. Now it's (the CD/DVD) just useless and intended for the garbage can, and I'm now loading XP to do it the *safe* way, sheesh!
Yeah, trouble is I agree with both of you here! :crazy:
Well one either trades off safety or speed, I do the latter since I'm perfectly sane :-P
Well, the lack of MP (or rather AmigaOS's weird modular everything in user space kernel-type-thing) is probably the only real difference between AOS and all other OSs...
AmigaOS is a wierd beast, it's not quite one thing or the other... :-)
Well lets keep all replies in this thread now :-)
Sure thing :)
Woohoo! ~7800 posts and finally, my own thread :-)
-
bloodline wrote:
AmigaOS users do... it's all we have left! :-D
It's sad the day *users* start making out with the corpse :violin:
Woohoo! ~7800 posts and finally, my own thread :-)
I knew deep down I was a kind soul :-P
-
bloodline wrote:
shoggoth wrote:
Couldn't this approach be used in AmigaOS as well?
It's easy to put Memory Protection into AmigaOS... but it will break all exisiting apps since they do not tell the OS that that want to share data...
What you seem to be sugesting is sandboxing the old apps... this is indeed the only way to add MP :-)
Maybe I'm completely lost, but let's say there is a default state for legacy applications, identical to what I referred to as "global" in my previous post. Any application that hasn't explicitly declared itself as being memory protection aware will run in this mode. An extra hunk in the binary format could declare the protection mode for each segment. The OS treats such binaries differently compared to legacy binaries. The result is protection for "modern" apps, while keeping compatibility (and risks) with older apps.
(note - I haven't exactly fooled around with kernel design, so take this as food for debate rather than proper argumentation)
-
shoggoth wrote:
bloodline wrote:
shoggoth wrote:
Couldn't this approach be used in AmigaOS as well?
It's easy to put Memory Protection into AmigaOS... but it will break all exisiting apps since they do not tell the OS that that want to share data...
What you seem to be sugesting is sandboxing the old apps... this is indeed the only way to add MP :-)
Maybe I'm completely lost, but let's say there is a default state for legacy applications, identical to what I referred to as "global" in my previous post. Any application that hasn't explicitly declared itself as being memory protection aware will run in this mode. An extra hunk in the binary format could declare the protection mode for each segment. The OS treats such binaries differently compared to legacy binaries. The result is protection for "modern" apps, while keeping compatibility (and risks) with older apps.
(note - I haven't exactly fooled around with kernel design, so take this as food for debate rather than proper argumentation)
Yes, that's right. This is almost exactly as apple did it... The OS detects via the file header that the app predated MP and then that app is loaded into a sandbox environment that has no Memory protection... in AROS this is how one could use an integrated UAE :-)
But this thread isn't about how to build a sandbox, it is about ideas to retrofit MP into AmigaOS and why it isn't really possible :-)
-
bloodline wrote:
But this thread isn't about how to build a sandbox, it is about ideas to retrofit MP into AmigaOS and why it isn't really possible :-)
Ah, sorry, my bad. I thought it was about memory protection in an AmigaOS-like environment :)
-
shoggoth wrote:
bloodline wrote:
But this thread isn't about how to build a sandbox, it is about ideas to retrofit MP into AmigaOS and why it isn't really possible :-)
Ah, sorry, my bad. I thought it was about memory protection in an AmigaOS-like environment :)
Well, I suppose it is really... But, there is nothing really to debate on the "Sandbox" issue... :-D
What is interesting is to give people a greater insight into how AmigaOS works at a fundamental level, it's a facinating topic, and one that I really enjoy thinking about... AmigaOS is the last of it's kind... a living fossil, if more people studied it they would have a better idea of operating system design, for sure!
-
@bloodline whats up with the extreme doubble posting always "the higher the multiplyer the better" ? Surely you must know how to use edit ? Does not make sense to me ? :lol:
-
adonay wrote:
@bloodline whats up with the extreme doubble posting always "the higher the multiplyer the better" ? Surely you must know how to use edit ? Does not make sense to me ? :lol:
I'm sorry, I've not double posted... :-?
-
The Amiga - coelacanth of computers!
:hat:
-
bloodline wrote:
Well, I suppose it is really... But, there is nothing really to debate on the "Sandbox" issue... :-D
Yes there is :-D:-D.
People often don't make a distinction between memory protection and virtual/private address spaces. But it are two different things.
On UNIX, Linux, Windows private address spaces are used as a mechanism to implement memory protection. That's also why a lot of people think that it is the only true way to implement MP. This is not true.
You can also have a single address space memory protected OS. IMO this is the way MP should be introduced into amiga-like OSes and I would implement it on the Memory Pool level. Per memory pool a program can decide which other programs can access this memory; old program would then just allocate memory from pools that can be read and written by all tasks. This makes also the 'sandboxing' much less intrusive then what people normally assume.
greets,
Staf.
-
bloodline wrote:
What is interesting is to give people a greater insight into how AmigaOS works at a fundamental level, it's a facinating topic, and one that I really enjoy thinking about... AmigaOS is the last of it's kind... a living fossil, if more people studied it they would have a better idea of operating system design, for sure!
First off, adding MP to Amiga OS after the launch of the A1000 has been brainstormed and debated for over 20 years by some of the brighest people ever, starting with the original Lorraine developers themselves - and the conclusion that it would break all pervious apps has never changed. I once heard RJ Mical say at an Amiga show that's a big lesson they remembered when they designed the 3DO.
Although MP would be great, the Amiga OS single address space design is one of the things that make it the most facinating OS I've ever used, and the only one I'll devote any time whatsover to when I'm not getting paid for it. I used unix at work before the Amiga came out, and what a breath of fresh air when it did - a machine that is actually FUN, and understandable to the core without devoting a lifetime to it. I still get paid to do unix, and it has gotten even bigger and more complicated, while the Amiga has gotten more fun!
An workable approach to stability was described long ago by Dr. Peter Kittel of CBM Europe, the SAS/C guys, and others: use the tools like Enforcer & dump any badly programmed apps. But I like to be on the edge :)
-
and the only one I'll devote any time whatsover to when I'm not getting paid for it.
I know that feeling. I use linux, windows (and previously OSX) all day long at work. Whilst on the linux side a lot of my colleagues are constantly tinkering and spending hours messing around with their systems for fun, I just want mine to work. My choice of window manager, for example, was determined solely on the grounds of whichever one the system first booted into. I have no more passion for current 'modern' OS than I do for a garden spade. They are just tools with which to do work.
If I want to actually have fun, I'll fire up my cranky and quirky old miggy, maybe crash it a few times with some bad code I'm tinkering with and simply not worry that I've ruined my uptime and just get a coffee instead.
-
Fats wrote:
People often don't make a distinction between memory protection and virtual/private address spaces.
Don't be so sure :)
hardlink wrote:
, while the Amiga has gotten more fun!
Loosing data once every x minutes cannot be fun (?), unless one only uses the OS as a single-tasking one, that is only run one app at any given moment 8-)
Yet still, the previous app might have done something nasty, so I change it to: run one app and reboot before the next. :hammer:
-
Edit: whoops, misunderstood the discussion :crazy:
-
![/quote]
Loosing data once every x minutes cannot be fun (?), unless one only uses the OS as a single-tasking one, that is only run one app at any given moment 8-)
Yet still, the previous app might have done something nasty, so I change it to: run one app and reboot before the next. :hammer: [/quote]
Fortunately many good programmers learned to program well enough that Amiga crashes are less common the win98se crashes (in my experience having spent years using both) but far more common than winxppro (lots of individual program crashes but NOT ONE system crash in 18 months)
-
I agree, it's the only way to remain truely compatible while freeing the OS from stone age technology.
The thing is: how many OS9.x software people are using with MacOSX now ?
And what do we want ? Being able to run transparently IBrowse which only handles tables, or FireFox in a new clean box ?
I don't get why people are so attached to running software from *stone*! Emulators/Sandboxes are there for that... There's no question of program that asks for memory protection... That's pure nonsense and loss of time...
-
@warpdesign
None if you bought your Mac in the past 2 years (cos that would mean x86).
But thats not the question, the question is how many OS9 app (or 68k apps back when PPC was introduced) were people running when the 1st switched to OSX ?
And that was with the Mac market being relativly healthy, a still functioning mother-corp actually investing into it etc.
On the other side, just ask any OS4 or MOS how far he would get without 68k-emu .... sure some might say "no problem", but only till someone had a deeper look into the actual system.
AROS has been going for over a decade now, and it still lacks apps for even some of the most basic task, resulting in virtually 0 real user which then discourages developers from building native apps.
An MP-AOS wouldn't even be compatible on the source level, so instead of a recompile (+ a few patches) we would talk about more or less a rewrite. Not very motivating.
-
But thats not the question, the question is how many OS9 app (or 68k apps back when PPC was introduced) were people running when the 1st switched to OSX ?
Seeing how difficult to make it run (you needed a true copy of OS9.x, etc...), I guess not that much.
And I would add to that: how long did they use it before switching to OSX native equivalent apps ?
And when did developer switch to OSX ? As soon as they saw the benefits from using it...
-
warpdesign wrote:
But thats not the question, the question is how many OS9 app (or 68k apps back when PPC was introduced) were people running when the 1st switched to OSX ?
Seeing how difficult to make it run (you needed a true copy of OS9.x, etc...), I guess not that much.
And I would add to that: how long did they use it before switching to OSX native equivalent apps ?
IIRC Apple have OSX out as MacOS Server etc, 2 years before Actually releasing it to the consumer... plus it had it's NeXT heritage, so there was plenty of time to develop for it... And they put in a MacOS classic compatible API (al la Carbon - Probably quite easy due MacOS classic's simplicity), to allow easy porting of existing source code... so I doubt OS9 stuff hung around for too long... I joined the Mac brigade in 2005... so None of my software was ever OS9 or 68k... and a year later I was intel Mac :-)
And when did developer switch to OSX ? As soon as they saw the benefits from using it...
As soon as they could I expect.
-
The thing is: how many OS9.x software people are using with MacOSX now ?
And what do we want ? Being able to run transparently IBrowse which only handles tables, or FireFox in a new clean box ?
It is not fair comparison. Apple sells millions new Macs every year.
-
Mac made the switches as a living vibrant corporation, there hasn't been a living company behind the Amiga in over a decade. Ideally the transitions would have taken place slowly in the 90's
1) move to PowerPC architecture, provide a walled garden for Motorola users software to run.
2) upgrades to PPC, walled garden breaks, nobody notices because current software is better
3) New OS with classic emulator, free of memory management, etc problems. Give this a couple years for software to catch up.
4) Move to Intel hardware with compatibility layer...
Each step takes time, waiting for software to catch up. Amiga is faced with the daunting task a new OS whilst "building a bridge to the 20th Century."
My professional computer is an Intel Mac, I have no software that's over two years old. Life goes on.
Unless you are willing to have Classic Amiga handled by a UAE port you can't have a modern OS.
-
3) New OS with classic emulator, free of memory management, etc problems. Give this a couple years for software to catch up.
This OS is there: it's call MorphOS. The only problem is that the focus is made on the classic environment instead of a new envvironment which would benefit of all new features...
4) Move to Intel hardware with compatibility layer...
No, because Intel sucks, and Intel is evil ;) (for me this is ironic...)
-
@warpdesign
warpdesign wrote:
3) New OS with classic emulator, free of memory management, etc problems. Give this a couple years for software to catch up.
This OS is there: it's call MorphOS. The only problem is that the focus is made on the classic environment instead of a new envvironment which would benefit of all new features...
MorphOS' q-box has full memory protection? I haven't heard anything about the q-box in years. AFAIK, all the development has been for the a-box (i.e., classic Amiga environment).
Hans
-
warpdesign wrote:
And what do we want ? Being able to run transparently IBrowse which only handles tables, or FireFox in a new clean box ?
I don't get why people are so attached to running software from *stone*! Emulators/Sandboxes are there for that...
Kronos gave an enough descriptive answer that I don't see any reason to duplicate.
There's no question of program that asks for memory protection... That's pure nonsense and loss of time...
I did not understand this part, could you be alittle more clear ?
-
MorphOS' q-box has full memory protection? I haven't heard anything about the q-box in years. AFAIK, all the development has been for the a-box (i.e., classic Amiga environment).
That's what I was saying... development is focused on the abox (classic env). And that's too bad, because everything is already the for the memory protection,...
-
stefcep2 wrote:
Fortunately many good programmers learned to program well enough that Amiga crashes are less common the win98se crashes (in my experience having spent years using both)
but far more common than winxppro (lots of individual program crashes but NOT ONE system crash in 18 months)
Well even if many amiga programmers made less buggy apps there were/are always bugs to be found, those cannot always be detected by debugging/enforcer, and I'm sure you know why, but I don't have any clue regardig Win9x series, almost no experience with'em, and as far as I have understood people seem to regard it unstable and very volnurable (single user).
-
I really like it in OS X where when a program goes careening off a cliff the rest of the Mac is largely unaffected. All you need to do is Apple --> Force Quit the app. Unless of course the careening app is Finder...
:popcorn:
-
stefcep2 wrote:
!
Loosing data once every x minutes cannot be fun (?), unless one only uses the OS as a single-tasking one, that is only run one app at any given moment 8-)
Yet still, the previous app might have done something nasty, so I change it to: run one app and reboot before the next. :hammer: [/quote]
Fortunately many good programmers learned to program well enough that Amiga crashes are less common the win98se crashes (in my experience having spent years using both) but far more common than winxppro (lots of individual program crashes but NOT ONE system crash in 18 months)[/quote]
Amiga programs are not even half as complex as any program I use on my Mac... No program as big as Logic Pro 8 will be totally bug free...