'Cosmo' — a C#-Based Operating System 406
Billly Gates writes "A new operating system called Cosmo has been developed, written entirely in C#. It shows the naysayers you can write a full OS kernel without C. So far, you need Visual Studio to compile and run it, as Mono is not supported. However, the source code can be compiled with the Express editions of Visual Studio. The project plans to add VB.NET support soon."
Old news (Score:3, Informative)
There haven't been any updates to the site in many months. Dead links left and right.
Re: (Score:2)
There haven't been any updates to the site in many months. Dead links left and right.
Last release was a year ago. From http://www.gocosmos.org/index.en.aspx [gocosmos.org] :
Aug 3, 2010 - MS5 released
There are bugs! - But we didn't want to hold MS5 any longer since MS4 was released 9 months ago.
That's 13 months without a release. And this is news how?
This is brought to you by Chad Z. Hower, a.k.a. "Kudzu", of ICS (Dephi Internet Connection Suite) fame, and other things.
Can't even get the name right (Score:5, Informative)
Re: (Score:3, Funny)
Sorry, Venkman, I'm terrified beyond the capacity for rational thought.
Failure (Score:5, Insightful)
This article is a failure on so many levels. It's about a dead project that sounds pointless in the first place, and they didn't even get the name right in the headline or summary.
It's a trifecta of fail all at once.
Re: (Score:2)
Re: (Score:2)
The point here being that the operating system is written entirely in a language that was designed to run in a virtual machine environment (relying on garbage collection and lots of other stuff). Turns out you can still compile the code to native binary code that does not need an operating system around it to run. This is an interesting achievement. Microsoft did something similar with Singularity, but they invented an extended variant of C# for their kernel.
Re:Failure (Score:4, Funny)
It's not dead; it's resting.
Re: (Score:2)
Re: (Score:2)
Oh I'm sorry, I don't check out the code for each project mentioned on Slashdot. Apparently that makes me a "neckbeard," which is kind of an ironic accusation in this particular case.
Re: (Score:2)
Yeah, when I first read the headline, I was thinking an OS named "Cosmo" was geared towards 50 new ways to please your man.
Without C? (Score:2)
Re: (Score:2)
Even microsoft doesn't write their OS in C#
Re: (Score:3)
Actually, kind of. Singularity [wikipedia.org] is (mostly) written in Sing#, which is an extension of C#.
Re: (Score:3)
According to this MS dev, they do (although not entirely):
"We use almost entirely C, C++, and C# for Windows. Some areas of code are hand tuned/hand written assembly."
Source: http://social.microsoft.com/Forums/en-US/windowshpcacademic/thread/65a1fe05-9c1d-48bf-bd40-148e6b3da9f1 [microsoft.com]
Re: (Score:3)
open source but (Score:3, Insightful)
Re: (Score:2)
>However, the source code can be compiled with the Express editions of Visual Studio.
From the article, thought I'd clarify that for you. No need to thank me.
Re: (Score:2)
It's still a proprietary product.
Re: (Score:2)
Add-Ins are a bit deeper into the IDE than Extensions. However, they could try using Visual Studio Shell rather than Visual Studio Express.
Re: (Score:3)
What good is an open source OS if it requires me to purchase proprietary products to change or compile it? that's not freedom, that's just extension of Microsoft marketing campaign. And what about threat of Microsoft someday saying things built with their tools have Microsoft IP in them?
The express version of visual studio is free. You do not have to pay anything.
Are you implying Windows is free now, or Visual Studio runs on other OS's? Or is it that you just did not think through the dependencies?
Subsidized by trialware (Score:2)
Are you implying Windows is free now
Windows Home Premium (OEM version) is subsidized by trialware publishers, making it free as in beer to home users.
Re: (Score:3)
Are you implying Windows is free now
Windows Home Premium (OEM version) is subsidized by trialware publishers, making it free as in beer to home users.
Free as in beer? Is that sort of like a free drink when you pay $50 to go to a show? I'll tell you a secret, when something is free with the purchase of something else, it's a bundled cost. You're still paying for it. Your computer is that much more expensive than it would be if there were no such thing as Windows and only free OS's.
Proprietary OS adds entertainment value (Score:2)
Your computer is that much more expensive than it would be if there were no such thing as Windows and only free OS's.
If there were only free operating systems, PCs would be less valuable to home users because the major movie distributors wouldn't be willing to license their movies for PC playback for fear of people using things like Xvfb to tee uncompressed frames into a transcoder. Case in point: Netflix isn't making a client for GNU/Linux, and its client for Android phones uses a whitelist of individual phone models. And when DVD was first being built back in the 1990s, I seem to remember a struggle between the PC maker
Re: (Score:2)
What good is an open source OS if it requires me to purchase proprietary products to change or compile it?
The express version of visual studio is free. You do not have to pay anything.
Are you implying Windows is free now, or Visual Studio runs on other OS's? Or is it that you just did not think through the dependencies?
Are you implying Windows is free now
Are you implying that the computer, the desk it's on, the building it's in and the electricity it uses to run were all free too?
No, but the computer is not proprietary and you can build you own and compile things on any computer you want. You can buy or not buy any desk you want and buy or produce any electricity you want. With this project you have to buy Windows from Microsoft; one vendor, no choice. But then, I'm sure you knew that and are just being intentionally obtuse because you don't want to comprehend the point.
Re: (Score:3, Insightful)
Still closed. Still proprietary. Still encumbered by patents. Stil useless for the basis of operating system development.
Re: (Score:3, Interesting)
You mean like all of your PC hardware? Or have you actually lithographed your own CPU from an open VHDL source, etched the PCB of your motherboard and so on?
Re: (Score:2)
I think that's a valid criticism of GP's point, but there are still reasons hardware and software are different here, and why it's more important for software to be open, particularly in this case.
There does seem to be real competition in hardware production, and there's also the fact that fabrication is still sufficiently expensive that free and open hardware designs aren't terribly useful to your average hacker, nor does it make any sense for a mid-size business to modify and contribute to their CPU desig
Re: (Score:2)
oh goody, I'll load that right up on my Debian 6 xfce desktop. or would my openbsd 4.9 server be better? oh wait. Guess I need that free as in liberty and beer Microsoft Windows 7 DVD ISO download link, could you post it?
Re: (Score:2)
Re: (Score:2)
Stockholm resident here.
I can assure you that Windows costs about the same in Sweden as it does everywhere else.
Re: (Score:2)
no, I don't have access to microsoft desktops, for some reason the schools and libraries around here all run Macs. At home, I've wiped the MS-Windows from every (used) machine as soon as unboxed. poor me
I can whine and warn about potential Microsoft traps, including Miguel de Icaza's MONO. we don't need that kind of shit in the open source world.
Is it dirty? (Score:2, Insightful)
Requiring a Windows environment to compile a OS is like using dirty energy to produce clean energy.
Re: (Score:2)
Requiring a Windows environment to compile a OS is like using dirty energy to produce clean energy.
But... Windows is compiled in a Windows environment...
Re: (Score:2)
Requiring a Windows environment to compile a OS is like using dirty energy to produce clean energy.
Right, where did you think that electric cars got their electricity from? Burning oil in a power plant.
But solar is worse. Google solar-cell production methods. Hydro is clean though... Oh, wait, do you know how much energy (from oil) is used to construct a hydro station?
Nukes are pretty clean... if they are handled properly. That's a pretty big if though.
YAOS (Score:2)
I don't really see the point in this - but that's irrelevant. The people developing this want to spend their time on the project, and that's all that matters. ... or so the discussion would go if the Cosmos creators hadn't built this on a Microsoft foundation. I expect a lot of comments will take a completely different viewpoint, given they'll see this as "tainted" by Microsoft. It'd be nice to be proven wrong, though.
Oh, and they chose the BSD license. That'll rile up some folks as well.
Re: (Score:3)
I think that's fair enough in any case. It's a hobby project, they should work on whatever appeals to them
However ....
Just how dumb are you? (Score:3)
#. It shows the naysayers you can write a full OS kernel without C
Congrats you showed the empty set something. Since nobody with the two brain cells required to know the word kernel would claim C is required for one.
Given we had then before C existed - GM-NAA I/O in 1954 would be the obvious "before C" one.
And we had non-C ones after C existed - LISP machines being the obvious example there.
Re: (Score:2)
OK, that explains that. I was trying to figure out why one would have to write a kernel in C or any subset of the kernel in C. I know that C is commonly used for writing OSes, but I couldn't figure out why one couldn't write the kernel is assembly, other than the impracticality of doing so and the lack of portability of such a kernel.
Re: (Score:2)
Motors.
What a stupid reason to write an OS (Score:2)
This is the stupidest motive for writing an operating system I've ever heard of. What about VMS, written in FORTRAN? Or HP RTE-A, also written in FORTRAN?
Do you think the "classic" operating systems were written in a language that didn't even EXIST yet?
Re: (Score:2)
But yeah, the classic mainframe OS were written non-C like IBM's PL/S and friends (PL/X now). Unisys (formerly Burroughs) OS are written in NEWP (an extended ALGOL)
Re: (Score:2)
I'm going to date myself with this, but Primos (? Pr1mos? It's been a while . . .) was largely written in FORTRAN IV.
Re: (Score:2)
FORTRAN IV of all things: the mind boggles!
If I had the time and the brain power, I'd probably try writing an OS kernel in D [digitalmars.com]
Re: (Score:2)
Perhaps he meant a higher-level language (not assembler). Although that would be false as well, by your examples.
Singularity? (Score:4, Interesting)
How about Singularity [wikipedia.org], Microsoft's own attempt to write an OS in an extended dialect of C#? Is this aiming at similar goals in any way?
Re: (Score:3)
Singularity was basically a demonstrator for a particular process model that took full advantage of the kind of memory isolation that's possible in managed environments. It wasn't trying to prove that you could write an OS in C#, it was trying to (and did) prove that bringing the "managed" level down as low as possible, the basic process model could be provably secure (i.e., it's impossible to insecurely cross process boundaries).
It's a neat project that I hope continues since it wasn't trying to show off
God forbid (Score:5, Insightful)
God forbid anyone just think it's neat for the sake of doing it. No, everyone has to go on an anti-Microsoft rant. Personally, I think it's kinda cool. I'd never use it for anything, but it's still cool that it was done. Instead of shitting on the developers just be happy they did something outside of the norm.
Re: (Score:2)
I think Unununium, an OS written in Python, was an even cooler toy done just for the sake of it.
Re: (Score:2)
That's pretty cool as well, but I doubt 1k people felt the need to crap on it.
Re: (Score:2, Offtopic)
No kidding.
I'm beginning to dread reading Slashdot. Crappy summaries. Crappy choices for summaries. And now truly vile comments about a project that some people got together to do for what seems like shits and giggles. Whatever happened to coding something because you thought it would be cool? Whatever happened for coding something because you could? Whatever happened to doing something different for the sake of being different?
Apparently this is what the community has degraded to. Personally I'd rat
An empty wiki is not documentation (Score:2)
It's hard to tell what, if anything, this thing does. The "documentation" is a mostly empty wiki. There's a useless FAQ [codeplex.com] and a useless technical FAQ. [codeplex.com] Neither answers basic questions like "what does this run on" and "what is the API for programs which run on it". I can't even figure out whether it runs on a bare machine or on Windows or Linux or what. ("Your search for 'installation' has returned 0 results").
What this seems to be is some kind of scheme for running Microsoft .NET on a bare machine. Except
Don't you look at Singularity (Score:2)
If you have looked at Singularity the past, you are welcome to develop on Cosmos however you must be careful not to use your knowledge of Singularity. Unless you were involved deeply into Singularity code this will likely not be a problem. If you are concerned about this, choose purposefully to develop in a different area of functionality in Cosmos.
http://cosmos.codeplex.com/wikipage?title=FAQ
And no, that's not a joke.
.Net Silicon? (Score:3)
This project would interest me (a little) if the assembly that the C# is compiled to were run on silicon that executed CIL as machine instructions. Even if the CIL implementation were microcode that invoked x86 instructions, or a Transmeta-type on the fly conversion to native instructions.
Microsoft already has one (Score:2)
Microsoft Research has been working on this for many years and has at least two such projects:
http://en.wikipedia.org/wiki/Singularity_(operating_system) [wikipedia.org]
http://en.wikipedia.org/wiki/Midori_(operating_system) [wikipedia.org]
The code is ahead-of-time compiled using the Bartok compiler:
http://en.wikipedia.org/wiki/Bartok_(compiler) [wikipedia.org]
I'd just like to know... (Score:4, Informative)
Re: (Score:2)
I expect that it would be possible to write an OS in COBOL. It's not what *I* would choose to do with my spare time, but if it turns your crank, more power to you.
Not as silly as people seem to think (Score:5, Insightful)
Sure, the project hasn't gone anywhere for a while, and C# isn't going to be most people's choice for systems programming without a whole lot of changes. But we need to face the fact that C is outdated.
A lot of the basic tradeoffs made in its design are based on assumptions that are no longer true. An example: C's need to have everything declared in the same functional unit before use and reliance on preprocessor #includes. In 1970, saving compiler effort and putting this burden on the programmer rather than having a more complex system for resolving symbols may have been an acceptable tradeoff; with modern machines it's ridiculous. Many other C design decisions have been shown to cause problems, confusions, and common security-problem-inducing bugs.
In the past 40 years, a lot of new ideas have emerged which make writing software simpler, faster, and better-organized; some ideas which make code safer or allow the compiler etc to do better optimization have emerged too. Parallelization/multithreading and concurrency have come to the forefront of programming problems, and languages can do better at taking it into account.
All this time, we've been writing almost all our most critical software with the same language K&R designed 40 years ago, or with something like C++ which inherits all its problems and none of its simplicity. Sure, people can point out a handful of examples of OSes built in other high-level programming languages back in the day before C had major uptake. But just about every machine out there today runs on a C-based stack.
The industry needs to find a new direction sometime; we can't procrastinate it forever. Very few people have made serious efforts to replace C at the OS level with something more modern. Even D, which is one of the very few newer languages which really try to be able to replace C, has no major OS effort. We really need to get OS developers and language&compiler designers on the same page, find a better standard for systems programming, and create a platform which isn't dependent on the C legacy. I, for one, am not about to laugh at any project which attempts to undertake this daunting task.
Re: (Score:3)
A lot of the basic tradeoffs made in its design are based on assumptions that are no longer true. An example: C's need to have everything declared in the same functional unit before use and reliance on preprocessor #includes. In 1970, saving compiler effort and putting this burden on the programmer rather than having a more complex system for resolving symbols may have been an acceptable tradeoff; with modern machines it's ridiculous. Many other C design decisions have been shown to cause problems, confusions, and common security-problem-inducing bugs.
You're aware this is in the C99 standard?
All this time, we've been writing almost all our most critical software with the same language K&R designed 40 years ago, or with something like C++ which inherits all its problems and none of its simplicity.
That seems rather dramatic.
Re: (Score:2)
You're aware this is in the C99 standard?
C99 does not require #include files (or other form of declaring symbols defined in other translation units)? So what do you use instead?
Last I checked, C++ had a TR proposal for modules (that would fix this once and for all), but it didn't get into C++11. I'm not aware of anything like that for plain C.
Re: (Score:3)
But we need to face the fact that C is outdated. ... Many other C design decisions have been shown to cause problems, confusions, and common security-problem-inducing bugs.
I know, as do most of the other people serious about programming language design. I've written about this before in various forums for years, proposing ways to fix some of the problems in C that lead to decade after decade of buffer overflows and crashes. But there's too much legacy code.
Nobody is even trying. Most of the effort in programming languages today involves late binding, just-in-time compilation, virtual machines, and complex template and object semantics. The last really serious effort to fix
Re: (Score:2)
In the past 40 years, a lot of new ideas have emerged which make writing software simpler, faster, and better-organized; some ideas which make code safer or allow the compiler etc to do better optimization have emerged too.
Parallelization/multithreading and concurrency have come to the forefront of programming problems, and languages can do better at taking it into account.
So what you want is something close to C without the design flaw that have been realised in the last 40 years. Yes you do get something like D but the compiler is not as good and while backwards compatible will still require years of C code to be redone. Avoiding a lot of the problems of C has a direct impact on performance. Increasing Parallelization/multithreading to compensate for slow individual threads is not a solution C is just as capable of multithreading as anything else.
I think when C/C++ starts g
Re: (Score:3)
No, I'm not talking about variables. The main example here is functions. If I want foo() in foo.c to call bar(), in a modern language bar() can be declared after foo() in the same file, in any other source file with the proper visibility, or in any precompiled libraries which have the proper visibility. In C and C++, bar() has to be declared in the same source file as foo() and must be declared before foo(). The only way we can call functions defined in other files or in libraries is by pasting function dec
So what? (Score:2)
Lisp machines showed a quarter century ago that you can have an OS from the iron and up (process management, memory management, graphics, disk drivers, ethernet, ...) in a managed, high level language.
The problem with this industry is its short memory.
If, say, civil engineering were like computing, the newbies would not know what the heck the Eiffel tower is, and marvel at someone's treehouse because it uses "space age" composites or titanium. :)
Re: (Score:2)
Exactly
good luck trying to write a memory manager in a manage language
or a fs
"oh but you can only use a subset of C# there" well, duh
unsafe (Score:2)
good luck trying to write a memory manager in a manage language
-- I'll take C# for 800, Alex. ... Pino.
-- The keyword that enables pointer arithmetic.
-- What is unsafe?
-- Yes!
or a fs
As long as your code can read and write blocks on the device, a file system can be implemented in any language. Some operating systems allow file systems to run as user processes, and not just experimental microkernels either.
-- Linux for 400 please. ... Abi.
-- This electrical current limiter shares its name with a file system framework.
-- What is a fuse?
-- Yes, and you're on the board. G
Re: (Score:2)
This is more complicated than it seems
Granted, this is needed: http://msdn.microsoft.com/en-us/library/chfa2zb8(v=vs.71).aspx [microsoft.com]
Now:
You can write all the code as unsafe, so you're writing almost C
And in certain places of the kernel you can't have a 'malloc' that sleeps. Hence, you can't have a default allocator for objects. Hence, no gc
Also what warranties there are w.r.t. atomicity of operations in C#?
As long as your code can read and write blocks on the device, a file system can be implemented in any language
Yes. Except you have lots of restraints on fs operations, otherwise you're entering a deadlock or looping inf
Re: (Score:2)
So it is not .NET/Visual Studio what you are using but a derivation of what .NET/Visual Studio produces.
Obviously so. Hence why the story says "C#-based", not ".NET-based". C# language specification does not require a conforming specification to run on .NET (or any other runtime). In this case, they have effectively written a two-stage compiler from C# to native code, using VC# as the first stage.
So it is not C# what you are using, but another language which makes it basically C++ (the real one, not that C++.NET bullshit).
That's some weird logic you have. GCC also have plenty of extensions - does it make it "not C, but another language"?
Re: (Score:2)
Re: (Score:2)
s/can't be arsed/don't have the resources.
Given that Microsoft keeps adding stuff to C# and .NET, and that they aren't exactly contributing to Mono, it's not really surprising that things are the way they are. It may technically be better than Wine, especially if you explicitly target Mono, but that's essentially what we're dealing with here.
Re: (Score:2)
Microsoft have the advantage that they know what's going to be in C# and .Net way before Mono and they can design their features based on what's easiest for them to implement on Windows starting from their .Net implementation, whereas Mono has to play catch-up...
Re: (Score:3)
If you're going to replicate an existing project you're always going to be behind it, whether you follow an open or closed development model.
Now, Mono could (and does [wikipedia.org]) add functionality MS doesn't offer, creating exactly the same situation in the opposite direction, assuming the Mono additions become desirable enough that MS would want to keep parity.
...Somewhat. (Score:3)
So, first of all, a lot of the more enthusiastically open source types are much more likely to contribute to other projects which are less likely to be annihilated by patents, and whose direction isn't set by a proprietary competitor. After all, if people actually want to develop a cross-platform app, there are already plenty of ways to do so, and if they don't, Wine and Mono are more or less band-aids to the underlying problem.
It's also worth mentioning that while open source occasionally does produce some
Re: (Score:2)
Re: (Score:3)
What does C# provide that's compelling enough for open source people to disregard the source of the language and it's past rude and evil behavior?
If past rude and evil behavior of the corporation which spawned a language is a reason to avoid the language, WTF are you doing using C?
It's not speed since C covers that. It's not object oriented since C++/python/ruby cover those.
Well, not all at once, though. C++ has OO, but it's a pain to use. Ruby's OO is awesome, but the language is very slow compared to C++, or even to C#. So, it's a nice mix of non-painful OO and programming in general (with garbage collection, closures, etc) and decent performance.
It's also cross-platform in principle (if you stick to the subset that works in both Mono and .N
Re:Full Kernel without C* (Score:4, Informative)
If past rude and evil behavior of the corporation which spawned a language is a reason to avoid the language, WTF are you doing using C?
I'd argue that the reason isn't that the language was created by a rude and evil corporation, but that it is controlled by a rude and evil corporation.
AT&T may have created C, but it didn't control it in any meaningful way. Yeah, the standard for years was "whatever the AT&T compiler will compile", but AT&T as a company didn't care about it. They weren't allowed to sell software because of the monopoly agreement they had with the government. By the time they were allowed to sell it, the cat was already out of the bag, and they focused their efforts on the whole SysV vs. BSD war.
Microsoft views .NET as a tool for lock-in. They intentionally sabotaged Java on Windows for years while they played catchup - hence why Java never really caught on as a language for full applications. Java's no better, really - Sun tried the same thing, more or less.
I'm not saying that you shouldn't use C# or Java or whatever - I don't really care. Just bear in mind these languages were not designed with the goal of creating programs - they were designed to control programmers.
Re: (Score:3)
Why bother when you have C,C++,Shell, perl, python, ruby, lisp,scheme, OCaml, Haskell, hell even Java although to be honest about how the Java community is run, why bother with Java either?
None of those (excepting Java, which you also disdain) is especially good for writing the kind of internal custom apps that any company of any size has hundreds of.
Which, maybe isn't an area you care about, but in my market there's way more good pay / good benefits / good working conditions work of that kind out there than there are people to do it.
Anything I've written this year, I could write in C or C++, for example. It wouldn't have been as good as fast (which is important, because a day of paying me c
Re: (Score:2)
Because the tools for packaging, dependency management and building are better than anything else around.
Have to disagree here. To be fair, I haven't actually built Java packages myself, but trying to get a Java library installed (with all dependencies) is much more annoying than installing a Ruby gem.
Re: (Score:2)
Re: (Score:2)
This is actually very insightful. First let me applaud this very important beginning step.
The goal is for the end-user to be able to port their apps and data to a new architecture. We have known that this is required for continuous IT operations over transformative tech innovations since at least the 1970s.
To achieve the end user must be able to cross-compile the OS, compiler and tools to the new target platform. And when the target is booted, the apps compiled and the data ported over, the end user mu
Re: (Score:2)
Re: (Score:2)
*Visual Studio required
Looks like Visual Studio 6 might work in wine...
http://appdb.winehq.org/objectManager.php?sClass=application&iId=892 [winehq.org]
Re: (Score:3)
Too bad Visual Studio 6 was the last VS before .NET.
Re:And why??? (Score:5, Insightful)
What happened to the "because I could" spirit of the true hacker?
We have stories of people building CPUs inside of game logic that is in itself running on a virtual machine that runs on top of a hardware abstraction layer that runs inside a kernel that might very well be running under the purview of a hypervisor. What is the point?
There isn't a point other than to wave your hand at the mountain of functional but completely useless triumph and say "I did that; I built that mountain".
If you have to ask why someone would waste their time on something like this, you miss the point of hackerdom. Turn in your badge at the door.
Re:And why??? (Score:4, Interesting)
What happened to the "because I could" spirit of the true hacker?
Slashdot lost that a good few years back.
These days cool geek projects only get slammed for every non-real reason they can come up with against the true hacker spirit. Most of the sites users seem to be 20 years old or younger, so 'early computing' to them is a single core Pentium 2 with ram still measured in megabytes instead of just bytes, and processing power still measured in ghz or mhz above one.
Then again I've found this to be true on most sites that claim to cater to geeks and hackers as of late, forums just flooded with anti-geek and anti-hacker types.
Somehow slashdot attracts a lot of the anti-technology crowd too, the type who feel if their current method of doing something was 65% efficient, getting that up to 67% efficient is worthless because it doesn't solve every last problem, while the other half of the members scream how the rest of the world having problems is a perfectly legit reason to not allow hackers to hack and learn things.
It's very pathetic and sad, but there seems to be no escape from it.
I'm just glad to know when the IT bubble pops, those are the types who will be lost in this world with no skills left that matter, while the true hacker types will be the ones rebuilding everything
Re: (Score:2)
We have stories of people building CPUs inside of game logic that is in itself running on a virtual machine that runs on top of a hardware abstraction layer that runs inside a kernel that might very well be running under the purview of a hypervisor. What is the point?
Well, what is the point? If you know anything about just how ubiquitous Turing completeness is, going through the tedious exercise of building a worthless CPU in Minecraft is about as interesting a "hack" as building a house of cards.
The best hacks are actually novel and accomplish something useful from limited resources.
Re: (Score:2)
Re: (Score:2)
Bullshit. We can bitch about it being C#, but I'd prefer C# to Excel any day... ...and yet, when someone builds a 3D engine in Excel [gamasutra.com], they deserve some geek cred.
Of course, if he's trying to claim it's useful, then we might immediately respond with, "Why C#? Why not [insert option here]?"
An actual motivation... (Score:3)
Ok, yes, there's the "because I can" motivation behind things like hanoimania [kernelthread.com], and if you don't think that's awesome, I don't know what you're doing on Slashdot.
But there is a more serious reason this would be useful, either in C# or .NET: A managed memory OS would likely be more secure and more stable than one written in, say, C. They're also playing up the idea of having it be entirely verified. It's also nice in that if apps are all bytecode, it should be transparently portable across hardware.
Such a bea
Re: (Score:2)
Mono is not supported. Didn't you at least read the SUMMARY ?
Re: (Score:3)
no. why? what did it say?
Mostly Dead. (Score:3)
does it run Linux?
No. Perhaps partly by design, but mostly because the Cosmos project has been dead for a year or so, while Linux is apparently alive and well. The Cosmos site linked in TFS has lots of dead links (check the screenshots page) and empty forms (milestones page), with the last news posted in early August 2010. Where do the submitters dredge up corpses like Cosmos from anyway?
Re:Mostly Dead. (Score:5, Funny)
How can you possibly call it dead without a netcraft citation?
Re: (Score:2)
"Entirely" isn't relevant. (Score:2)
Linux is written mainly in C, but there's also inline assembly.
Re: (Score:2)
Linux is written mainly in C, but there's also inline assembly.
But Linux is not marketed as being written in C to demonstrate that an OS can be written in C. This OS is ostensibly written in C# to demonstrate that an OS can be written in C#. Oh, and the C# CLR is written in C.
Re: (Score:2)
But Linux is not marketed as being written in C to demonstrate that an OS can be written in C.
Unix was.
And it does still demonstrate that fact. If I wrote a game entirely in Python, say, except for some OpenGL bindings in C, would you say I'd successfully written a game in Python, or would you nitpick about the OpenGL bindings and demand that I somehow write a video driver in Python, too?
Oh, and the C# CLR is written in C.
The OS doesn't run in the CLR. It compiles CLR bytecode to native and runs that.
Re: (Score:2)
Unix was.
And it does still demonstrate that fact.
Unix was written in C, but not just to prove that it could be done. I'm open to correction, though.
If I wrote a game entirely in Python, say, except for some OpenGL bindings in C, would you say I'd successfully written a game in Python, or would you nitpick about the OpenGL bindings and demand that I somehow write a video driver in Python, too?
I would say that you successfully wrote a game in Python, because OpenGL and Python are intended for doing different things. However, if you write a game in Python to prove that a game can be written using _only_ Python, then I would in fact nitpick that you resorted to non-Python technologies.
The OS doesn't run in the CLR. It compiles CLR bytecode to native and runs that.
You're right about that. Sorry.
Re: (Score:2)
Consider yourself corrected.
Re: (Score:2)
Any language that can read and write values in the HW - CPU, buses, chipset and RAM - can be used write an OS. Or any language that can do so after being compiled (which largely depends on the compiler).
But whether any old language is good for writing an OS is another story. If the language has few people with OS-caliber skills to read or write it, probably not. If the language is inflexible in its style, or low performance in its execution (eg. few result bits per op), probably not.
Java for example seems l