<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:osnews="http://www.osnews.com/rss2#">
	<channel>
		<title>OSNews: </title>
		<link>http://www.osnews.com/story/19246/Cosmos_One_of_the_Open_Source_C_Kernels</link>
		<description>Exploring the Future of Computing</description>
		<language>en-us</language>
		<copyright>Copyright 2001-2012, David Adams</copyright>
		<webMaster>adam+nospam@osnews.com</webMaster>
		<lastBuildDate>Wed, 15 Feb 2012 12:44:49 GMT</lastBuildDate>
		<image>
			<url>http://www.osnews.com/images/osnews.gif</url>
			<title>OSNews.com</title>
			<link>http://www.osnews.com</link>
		</image>
		<item>
			<title>Interesting</title>
			<link>http://www.osnews.com/thread?298566</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298566</guid>
			<description>* Modern language (C#)<br />
 <br />
 * Modern, professional license (BSD)<br />
 <br />
 * Using Microsoft's open-source programs, resources, and specifications to develop an OS (oh the irony!)<br />
 <br />
 * Actual development team (and not a one-man ego trip!)<br />
 <br />
 * Awesome design metaphor (C# to create an 'Operating system Lego set'?)<br />
 <br />
 * Running on real hardware (thus one of the first C# OSs to get beyond the theoretical stage)<br />
 <br />
 * Complete CIL support -- and because of this, you can (theoretically) write OSs in Basic, Python, et multiple al, and use this tool to develop it.  (Edit:  PHP?  A PHP OS?  @_@)<br />
 <br />
 I didn't even know about this one...  and it's something we can only hope goes further.  ^_^Edited 2008-01-31 00:49 UTC</description>
			<pubDate>Thu, 31 Jan 2008 00:41:00 GMT</pubDate>
			<author>donotreply@osnews.com (Almafeta)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>Embedded</title>
			<link>http://www.osnews.com/thread?298597</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298597</guid>
			<description>What a fantastic solution for embedded systems, assuming they keep resource usage under control (which I'm sure they are).</description>
			<pubDate>Thu, 31 Jan 2008 06:21:00 GMT</pubDate>
			<author>donotreply@osnews.com (Alex Forster)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>.Not</title>
			<link>http://www.osnews.com/thread?298635</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298635</guid>
			<description>What is the problem with C++ or C and why use a Microsoft-only framework/language (yes, Mono is not a complete and viable alternative for non-windows operating systems) ?</description>
			<pubDate>Thu, 31 Jan 2008 12:28:00 GMT</pubDate>
			<author>donotreply@osnews.com (shiva)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE: .Not</title>
			<link>http://www.osnews.com/thread?298641</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298641</guid>
			<description>Because they can?  It might prove useful, fun or just educational.  I certainly like doing some things just because I can.</description>
			<pubDate>Thu, 31 Jan 2008 13:00:00 GMT</pubDate>
			<author>donotreply@osnews.com (BluenoseJake)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE: .Not</title>
			<link>http://www.osnews.com/thread?298701</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298701</guid>
			<description>The problem is that C and C++ are obsolete languages that are a pain to work with. Thats like saying why use python when we have a perfectly good fortran?<br />
<br />
And mono is a complete and viable solution for non-windows operating systems. If you don't think it is, I seriously doubt you have ever used it.</description>
			<pubDate>Thu, 31 Jan 2008 18:08:00 GMT</pubDate>
			<author>donotreply@osnews.com (google_ninja)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[2]: .Not</title>
			<link>http://www.osnews.com/thread?298710</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298710</guid>
			<description>Trolling ?<br />
How are c/c++ obsolete languages?<br />
<br />
'c' is arguably still the best &quot;high level assembly&quot; language out there.</description>
			<pubDate>Thu, 31 Jan 2008 19:04:00 GMT</pubDate>
			<author>donotreply@osnews.com (bnolsen)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[3]: .Not</title>
			<link>http://www.osnews.com/thread?298720</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298720</guid>
			<description>exactly, an high level assembly it is. people are switching to managed languages because the cpu power/memory is there and it shortens development time a lot. it's obsolete because for the really low level stuff you use assembler and for the high level stuff c#/java or something like that.<br />
<br />
the performance gain/longer development time you get from using c compared to c# (or comparable) is nearly never justifiable.<br />
<br />
the only reason c is around is because of legacy code or stubborn coders, not because it's the best language for the job.<br />
<br />
(yes, i'm generalizing, please don't start showing me the one exception you can think of)</description>
			<pubDate>Thu, 31 Jan 2008 20:02:00 GMT</pubDate>
			<author>donotreply@osnews.com (renhoek)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE: .Not</title>
			<link>http://www.osnews.com/thread?298726</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298726</guid>
			<description>Despite the comment threads already going on, there are a few reasons why C/C++ isn't being used:<br />
<br />
1) To prove it's possible to write a CLR-based OS<br />
2) The fact that an OS based around a memory-safe language and runtime is inherently more safe. You eliminate the majority of normal bug openings (buffer overflows especially). And without needing to use segments and separate CPU privilege levels, you don't have to do context switches.<br />
3) Most interesting to me is that by distributing code in a bytecode form, you get platform independence without having to distribute source. Device manufacturers can write a driver, distribute in bytecode, and not have to compile for every architecture, kernel version, etc. Nor do they have to distribute source, which somewhat protects trade secret interests (I know, bytecode can be easily reverse-engineered. But it's a &quot;see no evil&quot; effort, in my opinion).<br />
<br />
Hope that made vague sense.</description>
			<pubDate>Thu, 31 Jan 2008 20:26:00 GMT</pubDate>
			<author>donotreply@osnews.com (sbalmos)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[2]: .Not</title>
			<link>http://www.osnews.com/thread?298733</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298733</guid>
			<description>Makes perfect sense. Between Cosmos, SharpOS ( <a href="http://www.sharpos.org/" rel="nofollow">http://www.sharpos.org/</a> ), and JNode ( <a href="http://www.jnode.org/" rel="nofollow">http://www.jnode.org/</a> ), I think we all have a bright future ahead of us.<br />
<br />
We won't even have to make the mistakes of eternal backwards compatibility that Windows makes, because we can efficiently emulate other OS' ABIs using OOP abstractions and opcode recompiling.<br />
<br />
All hail open-source. Hallowed be the architects.</description>
			<pubDate>Thu, 31 Jan 2008 21:03:00 GMT</pubDate>
			<author>donotreply@osnews.com (illuminus)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[3]: .Not</title>
			<link>http://www.osnews.com/thread?298734</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298734</guid>
			<description>I am not trolling. C was a great language in its time, C++ was a hack that kinda brought it up to date, but both are very niche languages nowadays. What managed languages give in stability and security more then makes up for the relatively minor hit taken in performance, especially on todays systems.<br />
<br />
It is the same shift that happened years ago from ASM to C. Eventually machines hit a point where it is almost universally a better choice to have the compiler take care of certain kinds of things for you.</description>
			<pubDate>Thu, 31 Jan 2008 21:14:00 GMT</pubDate>
			<author>donotreply@osnews.com (google_ninja)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>So....</title>
			<link>http://www.osnews.com/thread?298774</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298774</guid>
			<description>So what language is the runtime environment written in? Somewhere you have to get down to runtime-free native machine code. Is there anyway to put C# on the bare metal?</description>
			<pubDate>Fri, 01 Feb 2008 04:26:00 GMT</pubDate>
			<author>donotreply@osnews.com (Brandybuck)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE: So....</title>
			<link>http://www.osnews.com/thread?298780</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298780</guid>
			<description>From the website:<br />
Cosmos includes a compiler (IL2CPU, which is part of Cosmos) that reads the input file (usually the shell) and Cosmos libraries and compiles the resulting IL to x86 code.</description>
			<pubDate>Fri, 01 Feb 2008 06:11:00 GMT</pubDate>
			<author>donotreply@osnews.com (setrodox)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE: .Not</title>
			<link>http://www.osnews.com/thread?298788</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298788</guid>
			<description><div class="cquote">What is the problem with C++ or C and why use a Microsoft-only framework/language </div><br />
<br />
First, C# isn't a &quot;Microsoft-only framework/language&quot;. It's a public ECMA standard. See mono-project.com.<br />
<br />
Second, C# has a lot of draws over C/C++: lower complexity, platform-independence, garbage collection (no more leaked pointer references), consistent advanced language features (ie. threading, exceptions, events, timing, delegates, templates, etc), rapid prototyping, JIT compilation (and support for on-the-fly compilation of classes).<br />
<br />
Third, I don't think it's a question of &quot;Why use C# over C/C++?&quot; but, rather, &quot;Why use C# over Java?&quot; Computer languages are just abstractions. Java and C# can be reduced to native code just as readily as C/C++, and they contain all of the necessary constructs to write an operating system. Java and C# are both up to the task. I'm not sure why the project chose C#; except, of course, that tool support for C# is very good with Visual Studio (I don't care for Eclipse--just my personal preference). <br />
<br />
<div class="cquote">(yes, Mono is not a complete and viable alternative for non-windows operating systems) ? </div><br />
<br />
I totally disagree. Not sure how you formed this conclusion, but you're wrong. Mono is an excellent open source implementation of C#.</description>
			<pubDate>Fri, 01 Feb 2008 07:21:00 GMT</pubDate>
			<author>donotreply@osnews.com (tomcat)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[4]: .Not</title>
			<link>http://www.osnews.com/thread?298789</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298789</guid>
			<description><div class="cquote">I am not trolling. C was a great language in its time, C++ was a hack that kinda brought it up to date, but both are very niche languages nowadays. What managed languages give in stability and security more then makes up for the relatively minor hit taken in performance, especially on todays systems. It is the same shift that happened years ago from ASM to C. Eventually machines hit a point where it is almost universally a better choice to have the compiler take care of certain kinds of things for you. </div><br />
<br />
It depends. &quot;The relatively minor hit taken in performance&quot; is highly subjective and, in some cases, unacceptable for some applications. But it depends entirely on the scenario and, in most cases, managed languages are adequate.</description>
			<pubDate>Fri, 01 Feb 2008 07:38:00 GMT</pubDate>
			<author>donotreply@osnews.com (tomcat)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE: Interesting</title>
			<link>http://www.osnews.com/thread?298995</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298995</guid>
			<description>Hrm there is also SharpOS (of which I am a developer) which has been running on real hardware for a long time now.</description>
			<pubDate>Sat, 02 Feb 2008 08:27:00 GMT</pubDate>
			<author>donotreply@osnews.com (fury)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[5]: .Not</title>
			<link>http://www.osnews.com/thread?298997</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298997</guid>
			<description><div class="cquote">It depends. &quot;The relatively minor hit taken in performance&quot; is highly subjective and, in some cases, unacceptable for some applications. But it depends entirely on the scenario and, in most cases, managed languages are adequate. </div><br />
<br />
Actually, projects like SharpOS and Cosmos are aiming to use software-isolated processes to *increase* performance, especially the performance of context switching between kernels, drivers, and applications. And from all of the performance testing I've seen, C# is roughly equivalent in speed to C++ code.</description>
			<pubDate>Sat, 02 Feb 2008 08:31:00 GMT</pubDate>
			<author>donotreply@osnews.com (fury)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[4]: .Not</title>
			<link>http://www.osnews.com/thread?298998</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?298998</guid>
			<description><div class="cquote">exactly, an high level assembly it is. people are switching to managed languages because the cpu power/memory is there and it shortens development time a lot. it's obsolete because for the really low level stuff you use assembler and for the high level stuff c#/java or something like that. </div><br />
<br />
Those are a few of the appealing reasons, but just because code is managed doesn't mean you have to take a noticable performance hit. There's other appealing parts like builtin garbage collection, interfaces, code introspection, etc etc.</description>
			<pubDate>Sat, 02 Feb 2008 08:35:00 GMT</pubDate>
			<author>donotreply@osnews.com (fury)</author>
			<category>Comments</category>
		</item>
	</channel>
</rss>

