hello all

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
karbon

hello all

Post by karbon »

hello all, and i've decided to take on a very large project, i'll be creating an os with an ephasis, on graphics, so, my first question is what do i want to look into? i plan on developing alot of my own base libraries, but i eventually want to make a C# compiler for this, any comments at all would be quite helpful

karbon
common

RE:hello all

Post by common »

You'll need to look into what everyone else is looking into.  That is, supporting the hardware.  

Also, why C#?  C or C++ would be a much better goal.  C and C++ are standard languages and a number of applications have been written in these languages.  C# doesn't belong in the same class, doesn't have many applications, and, what's more, what if microsoft decided it didn't like your idea?
carbonBased

RE:hello all

Post by carbonBased »

Out of curiousity, what's your graphics programming background?

I would suggest learning as much as possible about different graphics architectures existing on current operating systems.

For example, the interfaces are much different on Win32, Linux, QNX, and BeOS.  Each have their own strengths and weaknesses.

At the lowest level, most are _similar_, but with a different implementation.  Linux/XFree86, however, is natively network aware, and sends all graphics routines over the network, which means graphical applications are able to be run over the network with little to no extra work.
Linux/SVGALib provides an interface much like was seen in the DOS days.  Very quick, and low level, but perhaps not overly well suited to GUIs and windowing systems.
The BeOS has a native object oriented interface to its graphics subsystem (written in C++) which is excellent for GUI-centric applications.  Using and extending the interface is as simply as inheriting previous graphics class.
For speed, however, I revert to the low level C library.
QNX does have an X11 layer, which means it can also recognise the X11R6 protocol (which XFree86 uses), and as such is similar to Linux/XFree86 in this instance.
QNX, however, also has its own native graphics toolkit called Neutrino, which I liken to the GTK toolkit on Linux (although, in my opinion, QNX's interface looks much nice ;))

Anyway, point being, I'd suggesting getting ideas from these systems (and others).

I'd also suggest making it as modular as possible, and make sure the task of writting graphics drivers is as simple as possible.  Any code fragments that might be common to a graphics driver should be written by you, and supplied as a shared library to each driver developer.  Leads to more stable and consistant code.

As for the C# compiler, that's definitly be a nice touch! :)  Not only would you have a generally accepted and (relatively) streamlined compiler available for your system, but you'd have access to a huge code base of applications already written (especially if you implment the windows.form.* namespace).

For a good source on C# stuff, check out www.go-mono.com (.org?) which is the initiative behind bringing C# to Linux.  It's a pretty impressive and fast paced project.  I've used on my system, and was impressed.  The windows.forms.* namespace is already partially implemented using WineLib, so you might be able to port simple VS.NET apps over to Linux.  More interesting, however, is the new namespace for GTK#, allowing full GTK applications to be written in Linux, using C#

If you need any help with graphics routines, etc, I can probably help.

Cheers,
Jeff
carbonBased

RE:hello all

Post by carbonBased »

Microsoft has little to no say in the matter.

Besides, that's the entire point of C#... it's CLR package allows C# programs to be run on any system.  That's what CIL was designed for.

As long as a developer can implement the namespaces and compiler legally (and they can) there's nothing Microsoft can say about it.

Jeff
common

RE:hello all

Post by common »

Actually, Microsoft would have final say in the matter, legally.  They're the original authors of such work, therefore, in a case in court, they would have a dominating force in such judgements.  Didn't you mean CLI instead of CIL?
carbonBased

RE:hello all

Post by carbonBased »

Not to start a war here, or anything, but Microsoft is the originator of _their own work_.  I doubt they have any say in a 3rd party developing an application that looks and acts like .NET
Projects like this exist all over the place (ie, WINE, DosEMU, etc... even OpenOffice supporting MS file types)
That's why development projects like that must (usually!) sign a legal document stating they've never worked for microsoft and/or seen any of the code they're about to "duplicate"/mimick.

And no, I meant CIL = Common Intermediate Language.
And that's the point, there, really.  CIL is an intermediate byte code language developed for the sole purpose of allowing the same binary to run on multiple platforms, similarly to Java (but with a twist in the implementation).  What use is the software if it only runs on Windows?
Microsoft's ideal plan, no doubt, is for .NET to have universal acceptance umong all development platforms, therefore securing a huge hold on the development tools market.

MS isn't going to squash "YourOS.NET"  If anything, it secures a position for them, in the future, if Windoze is ever to fall from dominance thanks to all these new (and vastly supperiour.. ahem...) operating systems in existance today.

Jeff
common

RE:hello all

Post by common »

I wouldn't say that they would, I'd just say that they could and a court would probably hear it out.

However, I'm like you, I'm not interested in starting a war...it does no good to do so.
Tim Robinson

RE:hello all

Post by Tim Robinson »

They can't legally challenge you if you develop your own C# compiler. You can't patent a programming language. They could copyright some development software, or patent some clever technique within the compiler, or register the name 'C#' as a trademark. They can't copyright, patent or trademark the language itself.
Chris Giese

RE:hello all

Post by Chris Giese »

>You can't patent a programming language.

Perhaps things are more sane in Europe. In America, patent examiners
are paid based on how many patents they grant, and the corporations
are going patent-crazy.

Patents on DNA:
http://slashdot.org/article.pl?sid=02/0 ... 57&tid=155

Patents on e-commerce:
http://yro.slashdot.org/article.pl?sid= ... ad&tid=155

Apple's patent on TrueType font hinting (why Linux fonts look crappy):
http://www.engin.umd.umich.edu/~npietran/linux1.html

Patent fees for free MP3 encoders: a mere $25,000 per year:
http://www.sslug.dk/patent/fri-software ... blemer#8hz

Monsanto sues farmers for re-using "their" seeds:
http://nelsonfarm.net/issue.htm

More to the point: Microsoft Applies For .NET Patent:
http://yro.slashdot.org/article.pl?sid= ... 09&tid=155

To make a long rant short, I don't trust Microsoft. A corporation that
big and that nasty can squash you like an ant if you piss them off.
Post Reply