Linked by David Adams on Mon 4th Oct 2010 19:32 UTC, submitted by Idefix
OSNews, Generic OSes Once upon a time, operating systems used to matter a lot; they defined what a computer could and couldn't do... Today, there's only one operating system: Unix (okay, there are two, but we'll get to that). This is why I contend that the OS doesn't matter - or that we need to take another look at the word's content, at what we mean when we say 'Operating System'.
Thread beginning with comment 444247
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[5]: "There is only one."
by tylerdurden on Thu 7th Oct 2010 03:31 UTC in reply to "RE[4]: "There is only one.""
tylerdurden
Member since:
2009-03-17

If you had the option of having fine-threaded managed code over course-threaded memory protection, the fine-threaded version would be more stable. The memory protection would be just as slow. With optimization, the main processor could be redesigned with a less obnoxious and invasive MMU to allow more cores and speedups for the same production processes that are used for existing processor models.


what exactly is "obnoxious and intrusive" about an MMU? And what part of the memory management are you referring (the memory controller, the TLB, what?)

And why are you mixing apples with oranges? Managed code/coarse vs. fine threading/etc. What are the actual justifications for your claim regarding "fine grained" managed code?


UNIX will only win the PC market in time for Windows to come up with something different in time to make the PC obsolete.


That is funny given all the talk about cloud-based computing making the PC obsolete. And most cloud systems are running under Unix-like OSs.

The point is that you are claiming something to be dead, while at the same time proclaiming the future to be something that is based on an even more dead OS (BeOS).


Clang/LLVM is also a good compiler, if a bit young. It is more modular than GCC. It optimizes nearly as well (with the single exception of autovectorization). It is being designed for C++0x from the ground up as well as Objective C and is used internally by Mono and several JVMs as well. It avoids RTTI in its code base by using templates internally to achieve the same results faster. It is used to optimize shader programs in OpenGL drivers, and is used as a backend by several functional languages as well, namely GHC Haskell and OCaml. GCC is only keeping up with the modular C++ code base of LLVM by sheer brute force of the development staff devoted to it. Put simply, GCC!=LLVM. A compiler is not just a compiler, if it is also a compiler framework.


I don't think "keeping up" means what you think it does, since LLVM just started compiling reliable C++ code and it is at a beta level, with a lot of stuff missing. But as of this point, most of the effort in Clang land is to just be at the same level of features as GCC, so technically LLVM is "catching up."

Reply Parent Score: 2

RE[6]: "There is only one."
by SamuraiCrow on Thu 7th Oct 2010 16:43 in reply to "RE[5]: "There is only one.""
SamuraiCrow Member since:
2005-11-19

What exactly is "obnoxious and intrusive" about an MMU? And what part of the memory management are you referring (the memory controller, the TLB, what?)

And why are you mixing apples with oranges? Managed code/coarse vs. fine threading/etc. What are the actual justifications for your claim regarding "fine grained" managed code?


I'm not talking about threading at all. I'm talking about the fact that managed code manages it down to the byte while traditional hardware-based memory management techniques only manage down to about a 4k page size due to MMU limitations.

What makes an MMU so obnoxious is that it takes at least one stage in the main processor pipeline to implement thus causing the processor to be less agile. A short pipeline means that it can branch more readily without relying so heavily on branch prediction logic. This means that it is possible to build a faster processor if the MMU was lighter than it is.

That is funny given all the talk about cloud-based computing making the PC obsolete. And most cloud systems are running under Unix-like OSs.

The point is that you are claiming something to be dead, while at the same time proclaiming the future to be something that is based on an even more dead OS (BeOS).


Actually I favor even deader OSs. I'm an AROS programmer. But with the advent of the Gallium 3D drivers, getting cross-platform drivers is easier than ever. I'm hoping that this will liberate the desktop from the big-3 of OSs and get some better-written ones into circulation.

re:LLVM
I don't think "keeping up" means what you think it does, since LLVM just started compiling reliable C++ code and it is at a beta level, with a lot of stuff missing. But as of this point, most of the effort in Clang land is to just be at the same level of features as GCC, so technically LLVM is "catching up."


I said Clang was a bit young. Look up at my previous post if you don't believe me. They used to use LLVM-GCC for a while before the FSF tightened the screws on the GPL version 3. I like LGPL 3 but GPL 3 is pushing it. The reason for writing Clang is to make a lighter compiler with a lighter license.

As for the features of GCC, just compare the performance of the JIT compilers. Oh wait! GCC doesn't have a JIT compiler! Personally, I prefer static compilers over JITs anyway but it's nice to have the option there.

Reply Parent Score: 2