Quote:
Originally Posted by PurpleMelbourne
IIRC the upper 2GB memory area was reserved for a Motorola idea of memory protection. Lower 2GB being alterable and upper 2GB being read only.
How about CPU_0 + CPU_SMP(1-4)
|
Won't work. The problem is not memory, but synchronization. The AmigaOs synchronization primitives are actually constructed "the wrong way round". While sane operating systems built on top of semaphores or mutexes to synchronize tasks, AmigaOs uses Forbid-style locking to protect its structures to a major degree.
Unfortunately, Forbid() is not even an exec function, it is also a macro that just increments a counter in ExecBase. That is not at all sufficient to stop another CPU from executing any critical code.
Thus, please understand: AmigaOs is a museum piece. It is not a modern operating system, and it cannot be made a modern operating system. If you want something modern and scalable, there are many alternatives.