Page 2 of 7
Posted: Wed Feb 28, 2007 4:03 pm
by Brynet-Inc
Crazed123 wrote:I have one last tidbit for the troll here. Troll, if Unix and BSD are the best operating systems on Earth and research efforts towards better operating systems can server no use, why in hell have you come to a board devoted to operating system development? Why are you making something new when the best already exists?
Oh, and I've always wanted to use that Harry Potter line.
Stop calling me a troll.. troll
I joined this forum with the simple interest in seeing how many people have made Unix-like or POSIX compliant Operating Systems. It's a hobby of mine.. everyone has a hobby
OpenBSD will never replace my Desktop OS.. but I still find it interesting to see who's interested in similar design philosophies..
You seem to freely defend your opinion.. but call other people "Weenies" if they have opinions of their own.. This is how you're hypocritical.
I myself often tell people my opinion of Microsoft.. but If I'm a troll you yourself are one too
Posted: Wed Feb 28, 2007 4:09 pm
by Crazed123
C# is not the intermediate language. C# is a high-level language with C-like syntax and a feature-set mostly stolen from Java and Delphi that happens to compile to Microsoft's Common Intermediate Language.
As to using it in an OS... I see no reason why you couldn't put the JIT compiler into a library or module and simply attach its inputs and outputs to memory locations instead of files.
It's like bootstrapping a microkernel. You would load a small stub-kernel and the JIT compiler. The stub would JIT the real kernel, and then jump to it. Bammo.
Of course, this would all work rather slowly. I would recommend generating a native binary of your kernel itself.
The major feature of using CIL, however, is supposed to be moving protection into the language. An intermediate language that doesn't actually allow unsafe operations would allow an operating system to run all of its programs in supervisor mode. Everything could even run in one address space.
Of course, you have to expose "privileged" operations like I/O and interrupt handling to somebody. How can you do that without breaking the safety of CIL? Code scanning is one solution. The JIT compiler could scan for privileged instructions and refuse to compile any program that used them without proper authorization.
Singularity is aiming for something like all this. There's also a system called Go! that does something similar in native x86 code, IIRC.
Posted: Wed Feb 28, 2007 4:13 pm
by Colonel Kernel
Crazed123 wrote:As to using it in an OS... I see no reason why you couldn't put the JIT compiler into a library or module and simply attach its inputs and outputs to memory locations instead of files.
There is no JIT compiler in Singularity for many reasons... Read the papers. Bartok compiles MSIL to x86, much like ngen, only Bartok is more sophisticated.
Posted: Wed Feb 28, 2007 4:15 pm
by Crazed123
That seems a good deal more efficient.
Posted: Wed Feb 28, 2007 4:18 pm
by Crazed123
Brynet-Inc wrote:You seem to freely defend your opinion.. but call other people "Weenies" if they have opinions of their own.. This is how you're hypocritical.
What got you branded as a Weenie was calling Singularity and C# "an abomination". Simply insulting something without actually making a point against its technical merits is the Mark of the Weenie.
Posted: Wed Feb 28, 2007 4:27 pm
by Brynet-Inc
Crazed123 wrote:What got you branded as a Weenie was calling Singularity and C# "an abomination". Simply insulting something without actually making a point against its technical merits is the Mark of the Weenie.
Because they are abominations, True this was a personal opinion..
But I'm free to have a personal opinion just like you are, I also have equal dislike for Java and using Interpreted languages like Python or Perl..
Why? Because I see them as fundamentally flawed.. Some languages are getting less and less sophisticated and let have no place in the world of system programming.
You seem to state countless personal opinions about peoples design choices.. (Your other topic as an example).
I'm definitely not a Weenie, but I'm going to tell people my opinion of the crap Microsoft produces.
A very good quote to live by:
The day Microsoft makes something that doesn't suck is the day they make a vacuum cleaner.
If you don't like what I have to say you're perfectly free to ignore me..
Posted: Wed Feb 28, 2007 4:36 pm
by Alboin
Brynet-Inc wrote:I'm as free to having a personal opinion as you are, I also have equal dislike for Java and using Interpreted languages like Python or Perl..
Less and less sophisticated? Are you joking? Are you saying that the only 'sophisticated' language is C? C and it's relatives are amongst the simplest languages. Have you ever tried Lisp, Haskell, etc? (And, to note, Python is much more 'sophisticated' than C.)
Posted: Wed Feb 28, 2007 5:01 pm
by bubach
Hrmm.. If you know that you'll get angry responses by writing something, then for the sake of this forum, don't write it. Punch a hole in the wall instead.
Posted: Wed Feb 28, 2007 5:02 pm
by Crazed123
Brynet-Inc wrote:
Why? Because I see them as fundamentally flawed.. Some languages are getting less and less sophisticated and let have no place in the world of system programming.
So exactly how and why are all interpreted languages "getting less and less sophisticated"?
Re: .Net OS
Posted: Wed Feb 28, 2007 6:20 pm
by B.E
phantom wrote:Hi all,
since I saw the Singularity videos on Channel 9 I've wanted to try to make an OS in c#. My main problem is that I don't have any experience in programming compilers and I can't find any information about it on the internet. So my question would be does anybody know a free or open-source msil to x86 compiler or a website with information about making one?
Thanks
The MSIL is an open standard "protocol", which means that you can download the specifications.
Qoute from
uk.builder.com
CTS/CLS
The MSIL Instruction Set Specification is included with the
.NET SDK, along with the IL Assembly Language Programmers Reference. If a developer wants to write custom .NET programming languages, these are the necessary specifications and syntax. The CTS and CLS define the types and syntaxes that every .NET language needs to embrace. An application may not expose these features, but it must consider them when communicating through IL.
That aside, Why C#, If you like the extra utilities that C# offers, you will still have to implement them yourself. If you like C# for it's OO, then try C++ (everything you can do in C# you can do in C++ (and anything you can do in C++ you can do in C), except garbage collection, which can be emulated in C++ using a wrapper class), the only thing left is that you've been hypnotized by advertising. Well, in OS development you will some where discover the Alternative and wonder why you hadn't found it before(I'm talking about Unix)).
Posted: Wed Feb 28, 2007 6:27 pm
by Crazed123
If you really want C#'s better OOP features, try Object Pascal. Microsoft bought the guy who designed Object Pascal for Borland straight off them and assigned him to C#. Wouldn't you know it, there's a bizarre resemblance...
Posted: Wed Feb 28, 2007 6:56 pm
by B.E
Crazed123 wrote:C# is not the intermediate language. C# is a high-level language with C-like syntax and a feature-set mostly stolen from Java and Delphi that happens to compile to Microsoft's Common Intermediate Language.
This is the exact reason I hate M$.
Let me make that a template for you if you ever have to say something about a M$ product product again
<insert M$ product> is not <insert competitors product> . <insert M$ product> is a <insert misconception> and a feature-set mostly stolen from <insert competitors product(s)>, that just happens to <insert contradiction to the previous misconception>.
Posted: Wed Feb 28, 2007 7:17 pm
by Tyler
Singularity is a terrible idea. The idea of an operating system is to run code on a processor and manage it. Not in order to get inbetween the processor and program. The slowdown it causes is unacceptable and singluaritys concept, while good, has been terribly implemented.
A far better system would be better hardware context switiching, or (given the 64GB address space that make Singularity possible) for speciifc process protection that takes no switiching. There is too much concern about adding more software to balance hardware problems instead of a better, streamlined computer architecture that makes it simpler and far faster.
I advise you do not try writing a compiler for MSIL at the low level, though if you want to get on the side of Windows Users it should be implemented in the Upper levels. The thing that sickens me is this makes the idea of writing an OS in VB all that more realistic.
Also ignore the blasphomy, Singularity is not faster because it is better. It has none of the backward services Windows runs, none of the stupid backward compatability windows runs and Windows would be faster if implemented in a single Giant address space, which really would not be that hard.
Posted: Wed Feb 28, 2007 7:59 pm
by Crazed123
Tyler wrote:A far better system would be better hardware context switiching, or (given the 64GB address space that make Singularity possible) for speciifc process protection that takes no switiching. There is too much concern about adding more software to balance hardware problems instead of a better, streamlined computer architecture that makes it simpler and far faster.
You know how Windows sucks because it started with a bad design, never had any extensibility or orthogonality, kept adding "features", never broke backwards compability, and somehow wound up dominant? Well x86 is the Windows of the architecture world.
In fact, I dare say that there has never been a "micro-architecture" that could support various architecture "personalities" in software the way a microkernel like L4 can support operating-system personalities in user-space.
Posted: Wed Feb 28, 2007 8:03 pm
by Tyler
Too true... i have nightmares about the bad code that sits on the worlds important computers because of those too companies. I do not see why i they cannot just restart, we have to transition to 64-bit anyway.