Welcome, Guest. Please login or register.

Author Topic: What is memory protection and why is it so hard to implement for the AmigaOS?  (Read 20663 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline psxphill

Quote from: Piru;569429
With a shared global memory space OS this leads to massive address space fragmentation.

You can alleviate that by virtualising the address space, although that causes other problems.
 

Offline psxphill

Quote from: Amiga_Nut;569434
Windows may have memory protection since XP (as well as all versions of NT of course but that's not a desktop OS) BUT Windows still gets ass raped at the mere sniff of a TCP/IP connection so why is it so important?

I ran NT4 as a desktop OS, then switched to windows 2000.
Back then it was no more vunerable than any other OS.
 
These days I wouldn't trust any other desktop OS.
 

Offline psxphill

Quote from: Piru;569462
Indeed. The amiga APIs (and thus apps) are full of dependencies of single global memory space (you can add tons of various caller passed structures to system for instance, say PutMsg().. the struct Message will be added to foreign struct MsgPort. There are no strict rules how to allocate either. Many apps allocate them from stack, and that is perfectly legal with AmigaOS). It'd never work... Unless if you redesign the whole API, which in this plan was supposed to be avoided.

Back in the day I theorised about having friend processes. Any process that you talk to would be allowed to access any of your memory. However you'd automatically have to become friends with any of your friends friends as they may pass your memory on. There are some things you would have to change to make that work, because anything talking to a filesystem would end up with a lot of friends.
 

Offline psxphill

Quote from: kolla;569560
Just what the world needs, an OS that behaves like facebook :lol:

Facebook isn't that bad. It's more like http://www.imdb.com/title/tt0196217/
 

Offline psxphill

Quote from: freeaks;583937
osx didn't reinvented the wheel, they just took kernel bits and bobs and made their sauce ..
and their product is kind of popular..

OSX is a bad example. Apple needed a new OS and spent alot of money on it, without it they wouldn't have been able to jump to yet another CPU & would be struggling to compete.
 
Take a look at how they solved the problems:
 
Old apps are run in an emulator, we can use UAE for that.
New apps run in a completely different environment, this is where your problems start.
 
You could base your new environment on linux. To make it practical you'd have to drop any idea of keeping C: S: LIBS: etc.  An Amiga lookalike window manager is doable (in fact I think it's been done), unfortunately it looks pretty dated.
 
Or you could start from AROS, but you've just gone round in a circle. It's hard to do memory protection in AOS because the way it was designed makes it hard. Your only option is to change the API, but that one change will ripple through everything. Even if you ever succeed you'll end up with another AOS alike system that will get ignored.
 
Your only real option is to make AROS compatible with AOS4.