• 0

How do I make an OS?


Question

Recommended Posts

  • 0

depends on what kind of OS you are after designing... if your after *nix, then there are *nix from scratch guides out there, it just takes copius time installing and stuff.

If you are after a windows clone.... give up now tbh :D

Link to comment
Share on other sites

  • 0

Development of something huge as an OS consumes a lot of time and requires good hardware knowledge since you'll be required to write low level rutines for thing such as communication, partition handling and so on...

My advice to you is to read couple books about Assembler programming and x86 platform (if you want to develop OS for PC that is).

That will be a good start...

Link to comment
Share on other sites

  • 0

well, depends what Chip, and what you want it to do, I've written an OS in under 40 lines. it was very basic in what it did, but it was an OS it had to initilize the system and everything

Link to comment
Share on other sites

  • 0

Read this book. It helped Linus write Linux.

Operating Systems: Design and Implementation (Second Edition)

by Andrew S. Tanenbaum, Albert S. Woodhull

I bought it. Read it. Didn't understand it. But you may be smarter than I.

Link to comment
Share on other sites

  • 0

u dont build an os its to huge

the only thing u could is with linux to use the kernel and let it drop every thing all oses that are made are build by more ppl or upgraded in the years

Link to comment
Share on other sites

  • 0

Writing an OS isn't just a one day job.. it takes years of research and development. Ofcourse it depends on what kind of OS you want to make but it defenatly isn't easy. I've tried this myself some time ago and will try it again some time.

First you need to understand low level programming with assembler to write a boot loader and a kernel. Once you have that you gonna need a shell where you load your OS in. The languages I reccommend are assm (assembler) and C/C++

I had a whole lot of documentation once, if you try to search google, you should be able to find some basic stuff how to start, but don't expect complete tutorials of how to do it, simply because there are none.

People writing there own OS are very rare.

Anyways good luck to ya :)

Oh and btw doing this just by yourself requires a lot of discipline!

Link to comment
Share on other sites

  • 0

It'll take several months just to write a psuedo operating system that runs on top of another operating system, and even then it might not work all that well. For a really good OS (and this is even just the kernel) it takes a couple years to get a good one written, and even then it's always going to need improvement.

Read this book. It helped Linus write Linux.

Operating Systems: Design and Implementation (Second Edition)

by Andrew S. Tanenbaum, Albert S. Woodhull

I agree, it steps through a lot of Minix code which is really helpful.

Writing an OS is pretty fun, and pretty complex. I had to add code to a preexisting psuedo operating system call NachOS for a class. It's tough, but it's fun. Operating Systems is what I'm really into right now, I'm taking a course in it which is on synchronization, and next semester we get to study Minix.

Link to comment
Share on other sites

  • 0

Why do you guys keep saying that making a OS is that hard? It all depends on what you're making the OS for ;)

If you're making one for PC, yes it will take you a LONG time. But lets just say you're making one for your TI 83+ calculator.. that's probably a lot easier then making one for PCs... (don't get me wrong, I can't code a single line :D)

Link to comment
Share on other sites

  • 0

I think the first thing you gotta think of is why do you want to write an OS? Is it because you have lots of free time? If so, there are many other more worthy projects out there. Do you feel an existing OS isn't adequate enough? You could mod one of the existing OSes out there. There are many reasons, not all of them good.

Secondly, what architecture are you targeting? x86, PPC, SPARC, MIPS, Z80, ARM, etc Each one has it's quirks. With the x86, you have real mode, virtual mode, protected mode, unreal/real-big mode (this one's a fakeish mode), TSS based task switching, paging (4K or 4Meg), segment's/selectors and more. You have to worry about all this crap if you want to make a decent OS.

You also need to be aware of a lot of theory. Are you gonna implement multitasking? How? How about memory management, how's that gonna be done? Virtual Memory, IPC, device access, etc?

Oh, and how are you gonna boot the OS image? With PPC and SPARC, you can do it via openfirmware. With x86, you could make a 2 stage kernel.

These are all problems you will face. You probably aren't ready for this task. That being said, writing an OS is a great learning experience. I tried it once. I got as far as running a couple of threads and switching between them. Not very far, but I learned a lot along the way. You'll need a few good books on the architecture you're targetting. If you're going the x86 route, you can download the pentium 4 menuals for free from intel. For PPC, you can get the documents from IBM. You'll also need a good reasource on OS theory. There are many good websites for this. You'll also need to know how IO is done so that you can print "Hello World" to the screen.

Well, good luck and may the force be with you. :p

Link to comment
Share on other sites

  • 0

two things.

He might just be interested in understanding the basics.

An OS doesn't mean something has to have an amazing GUI.

Something that runs notepad, paint and a calculator only could be considered an OS.

Link to comment
Share on other sites

  • 0

forget it,to make an OS,will need a huge time spending and lot's of developers,of course if u want somethinglike a MAC OS or Windows,u will need millions and millions of dollars to develop it

if this is the case drop it

if u win the lottery,go do something else

Link to comment
Share on other sites

  • 0
Read this book.  It helped Linus write Linux.

Operating Systems: Design and Implementation (Second Edition)

by Andrew S. Tanenbaum, Albert S. Woodhull

I bought it.  Read it.  Didn't understand it.  But you may be smarter than I.

That book is brilliant. Very easy, helped me understand OSes better. :)

Well, you will have to be very good in C and Assembly. And you could just have a little of ASM code anyway. OSDever.net, Kernel.org, and other sites will also help. Look at the linux source code too. You should also look at the ReactOS explorer's code, since it has a GUI.

It is hard. It takes w long time to write a simple kernel that has simple commands. You also have to write your own Filesystem, or port over an existing one... And many other things involved.

Also, make sure your operating system is flexible..

Nice info for making an OS

forget it,to make an OS,will need a huge time spending and lot's of developers,of course if u want somethinglike a MAC OS or Windows,u will need millions and millions of dollars to develop it

No... Look at linux. It is extremely good...

Link to comment
Share on other sites

  • 0

forget it man,the today's linux is designed by 20000 sites,how could just a single person do a very good OS?

anyway,linux is other category,thus it's very less technologically advanced than windows and mac

it''s very stable,because of it's simple code,but it is quite hard finding an overall compatibility

stability doesen't means that is good

Link to comment
Share on other sites

  • 0
forget it man,the today's linux is designed by 20000 sites,how could just a single person do a very good OS?

anyway,linux is other category,thus it's very less technologically advanced than windows and mac

it''s very stable,because of it's simple code,but it is quite hard finding an overall compatibility

stability doesen't means that is good

Simple code..... what is this, joke Wednesday?

Link to comment
Share on other sites

  • 0
forget it man,the today's linux is designed by 20000 sites,how could just a single person do a very good OS?

anyway,linux is other category,thus it's very less technologically advanced than windows and mac

it''s very stable,because of it's simple code,but it is quite hard finding an overall compatibility

stability doesen't means that is good

No, Linux (the kernel itself) is more powerful than the NT and Darwin kernel. IT is just GNOME and such...

And what in the world are you talking about simple code? go read it and see if you can understand it. :rolleyes:

Also, I take that back about the Linux. :blush:

If you want to make an OS, why don't you work on an existing one or work on something like GNOME or KDE? IT would, in the long run, be better. :)

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.