Welcome, Guest. Please login or register.

Author Topic: Why is SMT (multicore) support hard for Amiga OS?  (Read 20429 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Trev

  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show all replies
Re: Why is SMT (multicore) support hard for Amiga OS?
« on: June 29, 2010, 12:10:58 AM »
@Karlos

Haha. Maybe it's a suicide talisman--something she forgot to take with her.

Jumping in with my layman response: I like the sandbox idea. Run legacy and blacklisted software--second class processes--in an unprivileged, protected partition and devise a mechanism to marshal messages between first class and second class processes. Calls to privileged instructions could be caught and emulated within the sandbox. OS4 software should, hopefully, already be well-behaved. If not, it can be fixed and recompiled.

Personally, I don't care whether or not my OS4 box runs classic (680x0 or PPC) software, so long-term, I'd like to see support for legacy software disappear entirely. If you wanted to keep them, though, you could keep the first 32 bits of a 64-bit address space reserved for that stuff and create as many individual or shared sandboxes as the user wants. Think VM86 and DOS under OS/2 and Windows NT.
 

Offline Trev

  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show all replies
Re: Why is SMT (multicore) support hard for Amiga OS?
« Reply #1 on: June 29, 2010, 09:03:32 PM »
Quote from: psxphill;568003
You could also do it by running legacy applications on one CPU with ExecBase and have new applications that are designed for multiple CPUS run on a new scheduler.
 
However this violates both requirements.
1. It's not AmigaOS
2. It requires new applications.
 
Technically it would be little different to running AROS hosted on Linux.


Whose requirements are those? What is AmigaOS, exactly? The kernel? The API? The coupled hardware? Regarding new applications, isn't that the point?

If the legacy kernel is itself a process under a new kernel--one that did all the magic necessary to support the legacy kernel as a process--then barring hardware incompatibilities, how would old applications know the difference? New applications could use the same APIs we use today, minus the bits we know to be "bad."
 

Offline Trev

  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show all replies
Re: Why is SMT (multicore) support hard for Amiga OS?
« Reply #2 on: June 29, 2010, 10:12:12 PM »
Quote from: wawrzon;568022
isnt it still the same on win/mac/ix that apps have to be designed in order to take advantage of multiprocessor/multicore? so why makes it any difference on amiga in thi case.

at least i recall such about lightwave or photoshop earlier..

Sort of. A thread running on one of those operating systems may be scheduled on any available processor. The same could be done under Exec; however, Windows, Mac OS, and Linux prevent unassisted user code from modifying kernel structures, suspending scheduling, and disabling interrupts. Many (most) Amiga applications (read: programmers) know too much about the kernel, and rather than using a solid and safe design, they manipulate kernel objects directly.

As most Amiga users would rather run software written in 1990 than software written today, these unsafe programming practices pose a problem for innovation.
 

Offline Trev

  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show all replies
Re: Why is SMT (multicore) support hard for Amiga OS?
« Reply #3 on: July 06, 2010, 01:42:57 AM »
Quote
I think in the end the OS X model is probably where it needs to go.

Can you be more specific? Apple dropped support for the classic environment after 10.5, and it was never supported on Intel Macs. I expect Apple will drop Rosetta once all major developers have made the switch to Intel. (Are there any major PowerPC developers left?)