Well, which is exactly what I printed above my line.I've read the "Tanenbaum-Torvalds Debate" and I've found the argumentation of Peter da silva very interesting :
His words made me think and raised a question in me: "if the microkernel architecture of the Amiga OS was / is so good, why wasn't it as successful as that of Linux ? In fact even today the Amiga OS is also if technically more advanced than Linux (and than FreeBSD,that is also own a macrokernel), but it has become a niche system, Linux is everywhere. So basically, are we all using a system that has technically been outdated for at least 50 years ? Are we masochists ?
Well, which is exactly what I printed above my line.
You've got to kill your own delusion that microkernel is equal to always better. Also that statement is about the kind of state Linux was in 1992, which was much less developed than nowadays where it runs supercomputers.
Micro and macro kernel is more like benzin and diesel engines: both can be used to power a car or something else, and have their pros and cons.
Those are interesting statements. It sounded to me like a somewhat similar situation as in the later Windows-NT kernel: The architecture and design is "microkernel", but it can't really use the biggest advantage without hardware enforcing the separation ... and while this was a deliberate design decision in Windows-NT for performance reasons, it was at least partially due to hardware limitations of the platform in AmigaOS. Trying to verify my assumption, I found there's a nice Wikipedia article: https://en.wikipedia.org/wiki/Exec_(Amiga).AmigaOS is a microkernel message-passing design, [...]
Quote from Peter Da Silva back from the legendary Linus Torvalds/Tanenbaum debate.
Other comparable microkernels have had performance problems because of the need to copy messages between address spaces. Since the Amiga has only one address space, Exec message passing is quite efficient.
This might have been for performance reasons.Unlike newer modern operating systems, the exec kernel does not run "privileged".
In real life most of the time it doesn't matter if something is technically superior, but which type of system gets more adoption.I still think that the microkernel is technically superior to macrokernel.
And I think we all agree that the brain represents the architecture to copy from when designing an operating system
Which of course has absolutely nothing to do with the fact, that the pr0n industry chose VHS.For example during the VCR wars Sony Betamax was technically superior over JVC's VHS, Philips' Video 2000 even more so; but as we all do know in the end VHS won the race.
Those are interesting statements. It sounded to me like a somewhat similar situation as in the later Windows-NT kernel: The architecture and design is "microkernel", but it can't really use the biggest advantage without hardware enforcing the separation ... and while this was a deliberate design decision in Windows-NT for performance reasons, it was at least partially due to hardware limitations of the platform in AmigaOS. Trying to verify my assumption, I found there's a nice Wikipedia article: https://en.wikipedia.org/wiki/Exec_(Amiga).
Hehe, indeed:
Seems it didn't even use the one feature the hardware would have provided:
This might have been for performance reasons.
At least, on a classic Amiga, the core (non-GUI) parts of the OS ran from ROM, so it was unlikely some faulty program could accidentally kill the kernel (it would have to actively disable scheduling or accidentally trigger bank switching). That's probably the reason an Amiga could at least almost always offer an RS-232 commandline debugger on crashes
All in all, I see how the architecture is indeed that of a microkernel here, but without offering the stability you'd (at least nowadays) expect from such a design....
Carl Sassenrath (born 1957 in California) is an architect of operating systems and computer languages. He brought multitasking to personal computers in 1985 with the creation of the Amiga Computer operating system kernel.
In 1980 Sassenrath graduated from the University of California, Davis with a B.S. in EECS (electrical engineering and computer science). During his studies he became interested in operating systems, parallel processing, programming languages, and neurophysiology. He was a teaching assistant for graduate computer language courses and a research assistant in neuroscience and behavioral biology. His uncle, Dr. Julius Sassenrath, headed the educational psychology department at UC Davis, and his aunt, Dr. Ethel Sassenrath, was one of the original researchers of THC at the California National Primate Research Center.
All of this is complete nonsense. But I guess you'll never stop talking about stuff you don't understand.As I told before,its important to study the human brain to gather all the information that you will use as a solid foundations for developing good OSes. Because what's an OS ? Basically its a little brain.
All in all, I see how the architecture is indeed that of a microkernel here, but without offering the stability you'd (at least nowadays) expect from such a design....
All of this is complete nonsense. But I guess you'll never stop talking about stuff you don't understand.
In real life most of the time it doesn't matter if something is technically superior, but which type of system gets more adoption.
I can, because I had an Amiga, several actually, at that time. I know how much more advanced it was compared to anything else on the market. Sure there were UNIX workstations (SGI, DEC Alpha, etc.) that were much better, they also cost a factor of 10 more.Can you imagine how much it was advanced for the time ?
Torvalds set out to build a UNIX-like kernel, not an AmigaOS clone.My point is : if it was invented 10 years before the birth of Linux and it was so advanced,I'm sure that Torvalds and collegues could have created a better product than that.
Torvalds set out to build a UNIX-like kernel, not an AmigaOS clone.
He set out to build a UNIX like kernel. Whatever else you think he should have done is irrelevant.If the goal was to create a good product,a not obsolete product,a product that it was technically good enough even today,he could have studied the way the Amiga kernel was made to understand some important concepts and could have used them to invent a micro kernel.
He set out to build a UNIX like kernel. Whatever else you think he should have done is irrelevant.
+4 contained the pointer to the exec.library base structure. -4 would get you to interesting places. </nitpick>the magic fixed address-4
.
+4 contained the pointer to the exec.library base structure. -4 would get you to interesting places. </nitpick>
I can, because I had an Amiga, several actually, at that time. I know how much more advanced it was compared to anything else on the market. Sure there were UNIX workstations (SGI, DEC Alpha, etc.) that were much better, they also cost a factor of 10 more.
Torvalds set out to build a UNIX-like kernel, not an AmigaOS clone.
Not exactly. The 68000 has a "supervisor" and "user" mode. The kernel ran in supervisor mode, applications ran in in "user" mode.But IIRC in Amiga everything lived in a single address space including the kernel.
Well the Linux kernel runs pretty well imho...Is relevant to ask how you would fix the problem of the Linux kernel that became too huge and bloated ?
Sorry, but CPU privileges are something entirely different than virtual memory (controlled by an MMU). The original 86000 didn't offer the latter, so, no memory protection.Not exactly. The 68000 has a "supervisor" and "user" mode. The kernel ran in supervisor mode, applications ran in in "user" mode.