How do I build my Own Operating System by just using Assembler and NOT Win?

By PersonalComputer2010 ·
I'm working and researching Operating Systems (OS), but I really want to build my own from scratch without Microsoft Components or Linux COM files.

Is there tools which could compile 16-bit files and let me build an BOOT and OS-loader.

Could somebody tell me where I could find the tools which I need, Pleas! NO VIRUS TOOLS OR TOOLS WHICH ARE CRACK.

Also is there any video tutorials here at Techrepublic where I could learn more about how to build and understand a BIOS.

This conversation is currently closed to new comments.

11 total posts (Page 1 of 2)   01 | 02   Next
| Thread display: Collapse - | Expand +

All Answers

Collapse -

That would be quite a project....

by robo_dev In reply to How do I build my Own Ope ...

Here's a page called how to write your own OS

The building block of all this is good-old assembly code; Intel or AT&T assemblers are the most common ones. OS's are written in a combination of assembly and C/C++

Collapse -

Source Forge

by TheChas In reply to How do I build my Own Ope ...

For some good ideas on building your own OS, search the Foundries at there are several OS projects in various stages of development.

There are several questions you need to answer in relation to building your own operating system.

How am I going to use this computer?

What kinds of software do I want to run?

What kind of hardware do I plan to use?

If you want to do assembly level code work, or build dedicated automated systems, your OS will not need to be very complex.

If you want to be able to run commercially available software, or use anything beyond basic graphics, you will either need to emulate a current OS, or create a very large amount of code.

The big trick for writing your own BIOS is to keep it clean and compact.

The tough part of writing your own BIOS will be collecting all of the hardware level addresses, commands and syntax for your motherboard.

You can step back 30 years or so and look at the old Altair computers. The set of commands that a user needed to enter manually one byte at a time were essentially a form of BIOS.

One place you can start if you want to learn about the intricacies of hardware level programming for PCs is Craig Hart's page.

Of course beyond the acquired knowledge you will gain, the big question is why do you want to do this? Do you have 5 or 10 years to dedicate to learning the details and writing the millions of lines of code you will need?

I'm not suggesting that this might not be an interesting project. Just that you are looking at doing something that presently takes months and years for teams of skilled individuals to create.

I would start out small. Pick a development project at Source Forge that interests you and see if you can join the team. Then, move forward from there.


Collapse -

Hi! Chas

by PersonalComputer2010 In reply to Source Forge

I might think that this would be an excellent project development for me. But I need to know how to start and how to make it run on an i386 machine and x86 CPU + x64 CPU. I want the OS to run as a normal OS like Windows and Linux. I'm going to build and write the kernel in C and some C++. But I need to know more about hardware?s and how they work, I have many *.INC file from IBM PC and BIOS and keyboards. I know that every key on the keyboard has a hex address.
I want to build everything from scratch but I need to know how to start and I need to know how to write the engine that holds it up. I need to know where I could find CPU references.
Have a great day?

Collapse -

Cart Before the Horse

by TheChas In reply to Hi! Chas

First off, I might be wrong, but I believe that you need some machine code to get the system started before you can ever run any kind of application. Whether you are using a Kernel or a boot loader, you start out in raw machine language with a direct hardware interface to the BIOS.

As to CPU command and instruction sets, there are some very detailed programming guides that can be downloaded from both AMD and Intel.

For getting started with other hardware, the best place I can recommend is Craig Hart's PCI information page.

But, before you can work directly with any plug-in cards, you need to pass the commands through the chip-set. So, be sure to download the chip-set programming guides from Intel and AMD while you are there.

As I have stated before, this is not going to be either quick or easy.

Depending on what your end goal is, you might want to look into embedded systems.

Another thought, if your hardware expertise is limited, you might want to start out working with PIC or 8 bit embedded systems to develop your skills.


Collapse -


by PersonalComputer2010 In reply to Cart Before the Horse

How can I make the desktop GUI for my OS?

Window Manager which handles the windows/forms on the screen.

And how could I build a setup, If a user want's to test it on his machine he might want to format and install it on the disk.

And where could I found thoose chpset information books or *.pdf files.

Have a great day..

Collapse -

Developer Network

by TheChas In reply to Question??

For Intel hardware, go to the Intel Developer Community pages.

Here is the link to the downloads section.

For AMD, go to Developer Central.

Still, if you desire to have a GUI for your own OS, you have a lot of code to write.

You are looking at man-years of coding in addition to the learning you will need to do to get to the point of having a full operating system with a GUI.

I still recommend that you start out by getting involved in a Source Forge OS project that is similar to what you envision as your end product.

That way, you will learn a lot and get a good understanding of the size of the task you are undertaking.


Collapse -

Hi! Thank you

by PersonalComputer2010 In reply to Developer Network


Thank you for providing me with those links.

But I'm still woundering how do they really make the GUI and how do they make it run and build it , I mean


You know I have two Operating Systems with full source code which I'm still analyzing. I hve Microsoft Singularity OS and Visopsys a type of linux OS.

Have you worked with Operating Systems?

Have a great day...

Collapse -


by normhaga In reply to How do I build my Own Ope ...

MASM, NASL/NASM, and OllyDebug. Google them, they are free. For the higher level stuff where you do not need the compactness and speed of pure assembly, there are several free C++ compilers. There are also several open source cross compilers.

If you want to be Hard, you can write code from the MS debugger (debug) but there are size limits.

Collapse -

Go here for your info on building OS's...

Please post back if you have anymore problems or questions.

Collapse -

Hi! I've already seen that link I have already visited it.


I have already visited it, I mean before you told me about it, I found that link some years ago.

But thanks!! Have another question??

How can I make the desktop GUI for my OS?

Window Manager which handles the windows/forms on the screen.

And how could I build a setup, If a user want's to test it on his machine he might want to format and install it on the disk.

thank you!! but It didn't help me.

Back to Malware Forum
11 total posts (Page 1 of 2)   01 | 02   Next

Related Discussions

Related Forums