Welcome, Guest. Please login or register.

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

Description:

0 Members and 2 Guests are viewing this topic.

Offline lsmart

  • Sr. Member
  • ****
  • Join Date: Jun 2009
  • Posts: 433
    • Show all replies
Quote from: Piru;569429
@Fats

Such MP would be quite pointless to be honest (any non-MP app could easily nuke the whole OS or other apps, including the MP aware ones).

How would the OS know if the caller if MP aware?


You could sandbox all non MP apps into one blob. A simple tooltype or binary chunk could flag an app as MP-aware. A new programs private memory would always be secure. This would apply to workbench and new kernel as well.

But let´s remember. Amiga OS has in the past worked pretty well without memory protection. So as of now it is of lesser importance than some might believe.
 

Offline lsmart

  • Sr. Member
  • ****
  • Join Date: Jun 2009
  • Posts: 433
    • Show all replies
Quote from: freeaks;583897

what i don't understand is why aros, os4 and mos users can't properly kill tasks and free their resources.


I believe the problem here is that ressources aren´t limited to the task claiming them. It is perfectly legal to have one task claiming e.g. RAM giving the pointer to another task, waiting for the task to finish and then releasing the memory. Or the second task may release the memory for the first one.
In fact there is a garbage collector for Amiga Oberon that does just that: tracking the memory of Oberon-programms and releasing it, when there is no reference left. Of course it will also free them if the task is killed. But that is because every allocation or copying of a pointer is tracked by a special library.

There is some beauty in both concepts.