If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Creating An Operating System

I would like to create an entire new operating system.

Right off the back, I know this sounds crazy.

I know this will take years to complete but I have time and I really would like to at least get something going. It better to at least try. I always say I'm gonna do this or that, but I never end up doing it.

So, where to start? Well, I hear you need Assembly to have it actually interact with memory and all of that. So should I go out and learn that? I have heard that C is good to use to actually design the OS, but is that the best or should I look into something else? I have a little experience with C but I lost it over time so I'll have to refresh on it. Didn't get too far into it.

I have heard of people saying to use stuff such as Linux that already have the drivers and such in it, but I don't want my OS to be like Linux. I want it to be completely new and different.

This will be a slow process, but I want to take it step by step and try to actually achieve something. I believe if I actually put work into it, I can accomplish this.

Re: Creating An Operating System

Wow. Do you realize the last person to do this alone took over 4 year to get to his own version 0.3.7 (AtheOS)...and that was 10 years ago? The amount of new hardware and variations of drivers is way over 100x more. Do you truly realize the work you would have to do?

If you want performance, you will have to write in assembly. C is simply not low-level enough to keep your resources clean.

And, just because you include the Linux core doesn't mean your desktop has to look like Linux. So, that could still be an option. Or, you can build off of the UNIX core.

If the post was helpful...Rate it! Remember to use [code] or [php] tags.

Re: Creating An Operating System

Besides the fact that I definitely second the concerns issued by PeejAvery, I have a link for you that might get you started: http://www.brokenthorn.com/Resources/OSDevIndex.html. It's a course on OS development fundamentals that starts from absolute zero, i.e. the boot process. "Starting from absolute zero" does not mean it doesn't require some degree of programming knowledge, though.

HTH

Ah, and... Welcome to CodeGuru!

I was thrown out of college for cheating on the metaphysics exam; I looked into the soul of the boy sitting next to me.

This is a snakeskin jacket! And for me it's a symbol of my individuality, and my belief... in personal freedom.

Re: Creating An Operating System

Originally Posted by apwhitelaw

Alright, so if it doesn't have to look like Linux, then what exactly does it mean to use a Linux or UNIX core?

Linux and UNIX are operating systems, but you aren't actually visually seeing those kernels. For example, Ubuntu is Linux running the GNOME desktop, Kubuntu runs KDE. Unless you're running everything through terminals, you're just seeing the desktop kernel. Same idea with any OS with a UNIX kernel. In fact, Mac OS 10.5.x and 10.6.x were completely ported over to UNIX base.

So, basically what I'm saying is...Why waste so much time? If you absolutely, cannot live with any other look, just re-write a desktop. In fact, some people have even done it with Windows itself.

Honestly, why in the world are you even going down this route?

If the post was helpful...Rate it! Remember to use [code] or [php] tags.

Re: Creating An Operating System

Originally Posted by apwhitelaw

I would like to create an entire new operating system.

Right off the back, I know this sounds crazy.

I know this will take years to complete but I have time and I really would like to at least get something going. It better to at least try. I always say I'm gonna do this or that, but I never end up doing it.

So, where to start? Well, I hear you need Assembly to have it actually interact with memory and all of that. So should I go out and learn that? I have heard that C is good to use to actually design the OS, but is that the best or should I look into something else? I have a little experience with C but I lost it over time so I'll have to refresh on it. Didn't get too far into it.

I have heard of people saying to use stuff such as Linux that already have the drivers and such in it, but I don't want my OS to be like Linux. I want it to be completely new and different.

This will be a slow process, but I want to take it step by step and try to actually achieve something. I believe if I actually put work into it, I can accomplish this.

Any kind of help would be great.

thats a great spirit you got, but (no offense please) :
making an operating system is no child play and needs alot of resources and is extremely demanding in terms of effort of any kind.
i just want you to make sure you dont waste your most precious belonging , your time , doing what that could be a complete failure.
if you were already a programmer , i wouldn't tell you these, but you lack the minimum capability to start developing any OS.
learning Assembly language itself takes months of continues coding / learning ( if not years) to master it, then comes, learning the concepts , then trying to use your programming knowledge to implement those concepts ! you have no idea how complex it gets!,its mind blowing !!
if you are going to just copy and paste stuff you read as articles on how to write your own OS to have a so called hello world Os , there you go , you will find such things in the link Eri posted , and i believe this is not what you want! you want to make sth by yourself, from the very beginning right? , so these articles wouldnt help you going anywhere beyond those explained stuff in those sites/blogs.and because you lack that needed knowledge in programming you end up with an OS thats so primitive and useless,that you'd wished ,you never started it,i call this a failure.
if you dont mind and all you want to do is to show it off to your friends go ahead, thats a cool idea actually, but having a full fledged OS in your mind , that wont work.
if you really want to make your own OS, despite all of those objections , and want to be successful you need a team ,no team no success.
telling us your age and field of study will let us guide you better .
in any case .
i wish you success

* The Perfect Platform for Game Developers: Android
Developing rich, high performance Android games from the ground up is a daunting task. Intel has provided Android developers with a number of tools that can be leveraged by Android game developers.

* The Best Reasons to Target Windows 8
Learn some of the best reasons why you should seriously consider bringing your Android mobile development expertise to bear on the Windows 8 platform.