Help me build a new UNIX Operating System

Hi all,

I would like to build a new Unix Operating System. Would anyone like to help me write the kernel in C? Or have any suggestions on an alternative language to build it in?

Thanks,

Anan

The GOAL: To Run Natively on Microsoft Surface Pro

freebsd.jpg
 
Why reinvent the wheel? You have access to the source of a unix descendant. Why don't you use that?
 
I agree for the most part our job is done, but to run properly on a Mobile Tablet Computer, there needs to be some new features, like a solid integrated touch screen keyboard.
 
I don't consider that the job of the OS. That's more an Xorg thing.

It runs on a normal Intel Core i5 processor so there's probably not a lot to do to get it working. Although Windows' secure boot will probably prevent you from changing the OS.
 
Yes, I guess writing a new boot loader for FreeBSD and modifying Xorg. So it would be a new mobile distro of FreeBSD then.

Can I call it Anan-BSD?

Hmmm, maybe just need to modify the bootloader:
freebsd2.jpg
 
Hi All,

I would like to build a new Unix Operating System. Would anyone like to help me write the Kernel in C? or have any suggestions on an alternative language to build it in?

thanks,

Anan

The GOAL: To Run Natively on Microsoft Surface Pro

I don't think that you fully understand what are you talking about here. I'm under impression that you had an idea "hey let's make a UNIX for a tablet" but without any real knowledge about kernel and OS development.

By the time you alone would actually get your OS to the state shown in that picture, tablets probably would not exist anymore and would be replaced by a some crazy hologram technology.

IMHO, a better idea than modifying FreeBSD to be able to run on Microsoft Surface Pro is to design a new tablet, if you want to get extreme and "invent" new stuff...

I agree for the most part our job is done, but to run properly on a Mobile Tablet Computer, there needs to be some new features, like a solid integrated touch screen keyboard.

Don't forget about power management...tablets are meant to be portable and what god is it if your battery life is low.

Anyhow if your dead serious about this "new UNIX OS" here are some links that can get you started:

http://www.brokenthorn.com/Resources/OSDevIndex.html
http://wiki.osdev.org/Expanded_Main_Page
 
Yes I am serious... though all I would do to begin is to install pc-bsd onto the surface pro and go from there. Also building hardware is a little more expensive that writing an OS.

Those Links look very good Taz. Thanks. Now which executable would you choose? Unix ELF or Windows PE?
 
@taz: Thanks for the broken thorn link! .. I had in in bookmarks few years ago and lost it. I wanted to read from it maybe a year ago, but my google-fu was not aligned with the stars at that time ;)
 
Very cool Nukama! Thanks :)

That last link is exactly what we need to do for this to run on Surface Pro!
 
ananm1 said:
Yes I am serious... though all I would do to begin is to install pc-bsd onto the surface pro and go from there. Also building hardware is a little more expensive that writing an OS.

So wait, is your goal to port FreeBSD or to program a new OS? Or both? Also way Microsoft Surface and how do you stand with C and assembler?

Kernel development is hard. Takes a lot of programming skills and general boot loader,file systems, loaders, drivers, graphics and kernel knowledge. Can you handle all of this on your own? I'm not so sure...you might be able to pull of some kind off basic kernel with "DOS" like graphics but this isn't the '90 it's 2013 and tablets are not meant to be running terminals and Super Mario.

I like the way you are enthusiastic and here is another link that might encourage you even more:

http://www.menuetos.net/

This thing was written entirely in assembly and that's just crazy and awesome :pP

But I think you need to keep it real...you seem to be fond of FreeBSD so instead of developing a new OS make something useful for the community...I guess you could try to port FreeBSD to Surface but there are projects that might be more "needed"...at the top of my mind wireless drivers for example.
 
taz said:
So wait, is your goal to port FreeBSD or to program a new OS? Or both? Also way Microsoft Surface and how do you stand with C and assembler?

Kernel development is hard. Takes a lot of programming skills and general boot loader,file systems, loaders, drivers, graphics and kernel knowledge. Can you handle all of this on your own? I'm not so sure...you might be able to pull of some kind off basic kernel with "DOS" like graphics but this isn't the '90 it's 2013 and tablets are not meant to be running terminals and Super Mario.

I like the way you are enthusiastic and here is another link that might encourage you even more:

http://www.menuetos.net/

This thing was written entirely in assembly and that's just crazy and awesome :pP

But I think you need to keep it real...you seem to be fond of FreeBSD so instead of developing a new OS make something useful for the community...I guess you could try to port FreeBSD to Surface but there are projects that might be more "needed"...at the top of my mind wireless drivers for example.

I always wonder what would happen if a really good asm programmer took the time to do an assembly audit of a modern kernel . It would likely take forever . Maybe it wouldn't make much difference at all since C is close to machine laguage (closer than some). The MinuetOS and KolibriOS fork do spark a curoisity on the out come of such a project . But then you'd have to do the same thing with X and every other progam ported to your new OS in order for consistant advantage (if any).
 
@taz Yes I do enjoy assembly and C-Progamming. The question is how do we optimize the UNIX OS for a mobile platform. I personally think if done correctly UNIX can do everything Windows can do the Surface Pro, but twice as fast and more stable.

I think MenuetOS is definitely on the right track. I'm just not sure that 'everything' can be done in assembly. I think there maybe some loss of functionality but gain in performance.

Here's my ambition:
-A UNIX Mobile OS
-Written in C/Assembly
-About 150Mb to 200Mb total size
-Multi-thread
-Front and back USB Camera
-Wireless Ready
-Multi-touch gestures

In a simple to install/boot Unix Distro
 
ananm1 said:
@taz Yes I do enjoy assembly and C-Progamming. The question is how do we optimize the UNIX OS for a mobile platform. I personally think if done correctly UNIX can do everything Windows can do the Surface Pro, but twice as fast and more stable.

Well if it was me I would first ensure proper power management...IMHO twice the speed and stability means jack if you have half the battery life that Windows can pull off on those machines (~5h).
 
If you have an OS that is efficient {memory/cpu/disk}... the power consumption is also going to be efficient. So that I'm hoping will be the side effect of a solid OS.
 
If you have no background in computer science, you will have a very hard time writing your own OS, it's better if you just use something off the shelf.
 
@zpsider I'm hoping I learnt something in my four years of Computer Science at college. But even with that there is a lot of new concepts to master.
 
ananm1 said:
I would like to build a new Unix Operating System. Would anyone like to help me write the kernel in C?

Hi, I'm trying to raise one million dollars, anybody interested here?

Sorry, but it seems from your thread that you (i) don't know what you are talking about (kernel, keyboards, ...) and (ii) don't understand what making an operating is about.
Really, Linux was not built with an e-mail sent to the internet like your message. Calling for participation in such a big project is not as simple as writing a two lines forum post.


Now, if your will is to fork because you have an idea, than go for it and don't reinvent the wheel. If your will is to get a product you can sell, then pay for developer(s) that know from where to start. If your will is to learn what an operating system is about, than join any of the free OSs around the planet.

Please consider that the FreeBSD kernel is about 10 million lines of code, and the same is true for Linux and other Unix/Unix-like systems. Are you ready to deal with such a piece of code by yourself (and by the way, assure quality, because none will buy it if it is not stable)?

The last suggestion, in the case you really want to achieve your goal: get an instructor and document yourself. Even applying your idea to Google Summer of Code or something alike could help you.
 
Well, it turns out something like PC-BSD can run natively on the Surface Pro. If that is the case there might not be the need for a new version. And part of this project is to learn all that goes into a UNIX OS. It's more a learning experience than a profit/business experience.
 
ananm1 said:
It's more a learning experience than a profit/business experience.

Then finding a teacher on the subject will help you even more, and applying for any kind of development in the area will make you learn quickly.
 
Back
Top