New BSD (or maybe Linux) based OS

Pages: 12
Greetings, fellow cplusplusers!

I was thinking about creating a whole new open source operating system, but unlink others, the interface will be completely written in C (maybe C++).
I think if you used a low level language, like C, to write an entire interface it would be much faster than others (gnome used javascript.. :S)

Here are some ideas..

The interface will have everything intergrated.
When you maximize a window, it automatically adds a desktop and moves the window there.
There will be options for tiling for those of us who like to have all of our windows to stay neat :D
It will include a package manager that runs kind of like a bit torrent, so if your computer turns off.. you can start the download right where it left off
While having a quite restricted but easy to use interface, the user WILL be able to still use powerful tools and such.


Tell me what you guys think... Also include any additional ideas

EDIT: it will most likely be BSD based
Last edited on
the interface will be completely written in C
So, like pretty much every other OS ever.

gnome used javascript
Uh... GTK+ is written in C and the main headers are for C.

[A bunch of things that have nothing to do with OS design.]
Have you read this?
http://wiki.osdev.org/Introduction
http://wiki.osdev.org/Beginner_Mistakes

Also, C is not a low level language.

EDIT: Reading it again, it sounds like what you want to make is a distribution, rather than a complete OS. Is that right?
Last edited on
C is portable assembly, and therefore is a very high-level language. The only low-level languages are magnetized needles and butterflies. [/xkcd-reference]

Most of the features for your OS that you described could be done by modifying existing F/OS software, but as helios pointed out... do not really have too much to do with OS design. >_>


Integrated interface... that's a very generic term. I'm not sure what you mean by this.

Maximizing a window creating its own virtual desktop... modify GNOME 3. Be aware that some people (like myself) might find this feature a bit restrictive in that sometimes we have other windows over the full-screen window. For me, a key combination + a drag is just fine.

Tiling options... if you're talking about what I think you are, GNOME 3 already has this.

Package manager... I'd be somewhat surprised if there was a distribution that had individual packages so large that this was necessary. Why not simply fragment one large package into a package with a large list of dependencies?

Restricted interface... why? ;_;


-Albatross

Last edited on
Well my initial opinion is don't do it.

However, if you think you'll gain something from the project go for it!

People spend years working on operating systems that no one will use, if you think yours will be different, unless you are a supreme master of everything (you could be =] ), you could possibly be being naive =/
Please dont' make another distro to add to the countless other distros. Instead, why not contribute to a distro or package that interests you?
Yeah... I think I'll start helping out some other people with their window manager... most likely GNOME3... thanks for being honest guys :D

EDIT:

also, yes it would probably be another distro..
A torrent type package manager would be amazing though, possibly I could help the Arch Linux (my favorite distro) team develop something like that..

EDIT 2:

Hmm yeah after reading the begginers misktakes I was thinking about creating a more usable GUI... I'll deffinately not create my own OS now... Iv'e been enlightened.. :O

EDIT 3:

@Albatross - I don't mean THAT restricted, I would like it to have been something like Gnome3
@helios - look on the gnome3 dev website, it says they use GTK+ C, C++, Mono, Javascript and Vala... a quite scattered codebase
Last edited on
Also, another idea for a new computer input device... critisize it like mad, its just a thought :D

An input device that is basicly a handheld touchscreen. If you click on a text box, a keyboard comes up (like a mobile device...)
Each program can customize the layout of the controls on the device, with restrictions, of course.
Just so you all aware this is NOT usable without a computer, I would just think it would be interesting to replace a mouse...

Tell me what you think, and CRITISIZE!!
I'll deffinately not create my own OS now... Iv'e been enlightened.. :O


This makes me sad. If that's what you WANT to do then do it!

An input device that is basicly a handheld touchscreen. If you click on a text box, a keyboard comes up (like a mobile device...)


You can definitely do it, if you want something interesting, you should do a dual mouse system, it would be quite interesting for 3d design o.O
Eh, if I end up creating the touch screen input thing then I will probably have to create another distro.. but if I don't, I'll just add on to an existing one

Yeah I've heard of people trying to make dual mice for gaming :P I think a touchscreen would be better for 3D design though, wouldn't it?
@http://cplusplus.com/forum/lounge/50998/#msg277296
GTK+ is written in C but has been designed from the ground up to support a wide range of languages.


I think this is what they meant.

-Albatross
If you're going to write an OS, do something simple, but make it cool. The university I want to go to (which I think is where mcleano goes) has a concurrent OS called RMoX ( http://www.cs.kent.ac.uk/research/groups/plas/rmox.html ). Make something interesting, maybe even something that hasn't been done before. Find a language that has never been used for OSdev, write a compatibility layer for it, and then try and write an OS in it (I planned to do this with Python before I realised: I hate Python. I _might_ try it with C#). Or use an unusual paradigm, maybe event-driven or data-oriented. You could write Losp (an OS in Lisp).
Last edited on

I was thinking about creating a whole new open source operating system, but unlink others, the interface will be completely written in C (maybe C++).
I think if you used a low level language, like C, to write an entire interface it would be much faster than others (gnome used javascript.. :S)


Oh? Really? I'm 99% sure, noone would ever notice any performance difference.
And even if I'm wrong, this would still be irrelevant. Linux and BSD are fast enough. Uh, and they have been implemented mostly in C.

Main things that are lacking in Linux are:
1. stability (X.org / KDE stability is a disaster, even in KDE 4.7, probably because they used wrong language for the job; even if they did that in Basic, it would probably be better)
2. hardware support, especially broken ACPI and 3D graphics support

Somehow, I'm sceptic that your distribution would solve that.
Nevertheless, if you happened to give kernel developers a complete ACPI implementation (the standard is several hundred pages), probably all laptop Linux users would love you and you'd become famous.
Last edited on
rapidcoder, I said the INTERFACE will be completely coded in C...
strongdrink wrote:
@helios - look on the gnome3 dev website, it says they use GTK+ C, C++, Mono, Javascript and Vala... a quite scattered codebase
GTK+ is implemented in C, but it has bindings for other languages. Just because you allow other languages to use your code doesn't mean that a significant portion of that code is written in any of those languages. If you're going to improve upon something you should at least be well aware of the characteristics of the thing you're trying to improve upon.
ultfinitus wrote:
you should do a dual mouse system, it would be quite interesting for 3d design o.O


I like that idea. A lot. I'm thinking for a game in first person perspective; as a default, the mice will have individual control of the corresponding arm on the player. Different combinations of buttons will decide if you're moving the head or changing directions.
helios, no, it says the shell itself is written in those languages, I talked to the developers as well and they said that gnome-shell uses javascript
Which developers did you talk to? It's an open source project so there are a lot of them out there. Also, I'd be VERY VERY surprised if they designed an entire graphical shell for X.Org using javascript.

Edit: reread what you said. Gnome-shell is just the default UI in the gnome desktop environment.

Since Gnome is based on GTK+ it's written in C, but has bindings to other langauges, Gnome-shell is written in C and javascript. I'm willing to bet the core of it is in C and it has an embedded javascript interpreter for all the javascript work.
Last edited on
I did not say it was all javascript..

strongdrink wrote
they use GTK+ C, C++, Mono, Javascript and Vala


EDIT:

I talked to one of the lead developers
Last edited on
Don't forget that current implementations of JavaScript are very, very fast. JavaScript is a compiled language now. It is not that slow interpreted JavaScript from 10 years ago. Good JavaScript implementations are typically only 3x-20x slower than optimised C, depending on the benchmark. Such performance penalty doesn't really matter for the interface layer, as long as the low level graphical routines are hardware accelerated, considering great performance of modern CPUs. And by using JS you can write code faster than in C or C++ and get your users more functionality. Large amounts of Firefox are also implemented in JS.

By using JS or other managed languages they also reduce risk of fatal bugs, like KDE (written in C++ with Qt) is full of. I mean bugs that terminate the whole application immediately and you lose your data.
Last edited on
Those aren't really figures you would usually attach the word "only" to. Just saying.
Pages: 12