Linked by Thom Holwerda on Sat 2nd Jan 2010 10:38 UTC
Amiga & AROS People, this is an interesting thing to follow first-hand. Hyperion, the company behind AmigaOS4, has been talking about its "Most Ambitious Project" for a while now, but on December 31, they started teasing the Amiga community like crazy. They opened a site called a-eon.com, which is most likely about the MAP.
Thread beginning with comment 402078
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: BSD hosted OS
by ciplogic on Sat 2nd Jan 2010 17:44 UTC in reply to "RE[2]: BSD hosted OS"
ciplogic
Member since:
2006-12-22

Yes, BSD in which way? As userland? Or as kernel locking and memory allocation policy? If you write a program that runs on BSD, this program will not work on OS X because the binaries are different format (ELF against FatELF). The work only as API. So writing a program that will compile on FreeBSD (or any Posix BSD), will work unmodified on OS X. The calls are translated in OS X XNU kernel semantics that may be different.
When you link to cygwin DLL, and you make your programs on Windows, calling pipe function will end by calling a CreatePipe Win32 API function. The Cygwin is the best equivalent that I know that explains fairly well this.

Also, if you will look on BeOS (given in the previous post), BeOS was not an UNIX operating system, but exposed a lot of Unix functionality. (in fact BeOS do not use the concept of runlevel, but it have more servers - or kits - that run to expose functionality that run their OS).

Reply Parent Score: 1

RE[4]: BSD hosted OS
by computeruser on Sat 2nd Jan 2010 18:59 in reply to "RE[3]: BSD hosted OS"
computeruser Member since:
2009-07-21

If you write a program that runs on BSD, this program will not work on OS X because the binaries are different format (ELF against FatELF).

OS X isn't FatELF, either; it uses Mach-O. Binary compatibility (or lack thereof) has little to do with OS X being or not being BSD.

Indeed, BSD doesn't use ELF universally. BSD certainly didn't use ELF before ELF was created, and modern BSDs on some platforms still use a.out, it seems.

I don't think you'll be able to run binaries between different BSD-derived operating systems today, and not between different architectures either.

The calls are translated in OS X XNU kernel semantics that may be different.

No, the UNIX/BSD/POSIX syscalls are handled directly be Xnu, it seems. See /usr/include/sys/syscall.h on an OS X system.

When you link to cygwin DLL, and you make your programs on Windows, calling pipe function will end by calling a CreatePipe Win32 API function. The Cygwin is the best equivalent that I know that explains fairly well this.

This is how Cygwin works, but that isn't because it's the only way to implement a Unix-like API on Windows. Microsoft itself offers a POSIX implementation via Services for UNIX/Subsystem for UNIX Applications. POSIX becomes a NT subsystem at the same level as Win32. Both Win32 and POSIX calls are implemented as NT kernel calls.

Reply Parent Score: 3