Eager to learn

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
Post Reply
User avatar
lcowles
Posts: 17
Joined: Sun May 24, 2009 9:11 pm
Location: Essex, United Kingdom
Contact:

Eager to learn

Post by lcowles »

Hi, I would like to write an OS from scratch. In fact I sort of already have but now I want something different and I have no clue how to do it.

basically I want to code an os that doesn't use the PC-bios at all. I became interested by the linux nobios option when booting from grub.

Also I have never written a multi-threaded, smp or multi-tasking kernel and have no clue how to write an os that can use C & C++ apps or even a C++ kernel from bootloader (may help speed up the nobios thing) so I would like help with that also.

Thank you very much, hello to you all, hopefully I can give something back to the community too

btw check out my blog for VESA info and basic ASM bootloader (doesn't actually load anything)
lewiscowles.wordpress.com
there are only 1 0 types of people in the world, (un)fortunately Base 2 allows for a lot more than just 0 and 1
User avatar
Troy Martin
Member
Member
Posts: 1686
Joined: Fri Apr 18, 2008 4:40 pm
Location: Langley, Vancouver, BC, Canada
Contact:

Re: Eager to learn

Post by Troy Martin »

Welcome!

Search through the wiki, you'll find what you need to get started. Good luck!

--Troy
Image
Image
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.
I wish I could add more tex
User avatar
JackScott
Member
Member
Posts: 1031
Joined: Thu Dec 21, 2006 3:03 am
Location: Hobart, Australia
Contact:

Re: Eager to learn

Post by JackScott »

Firstly, check out the wiki (http://wiki.osdev.org), it'll have absolutely everything the beginning OSDever could ever need. And of course, if it doesn't, point it out to us and we'll try and add it.

There are a number of good tutorials to follow as well (though basing a full-blown OS off them is not recommended). One of our members JamesM has written a good tutorial, found here. There's also Bran's kernel development tutorials (found here).

And of course, after reviewing How To Ask Questions The Smart Way, and after checking the forum rules, there's no better place to ask a OSDev-related question than here, on these boards!

Welcome to the forums, hope you have a great time!

P.S. Since this is more of an introductiony-type thing, I've moved it to General Ramblings.
User avatar
lcowles
Posts: 17
Joined: Sun May 24, 2009 9:11 pm
Location: Essex, United Kingdom
Contact:

Re: Eager to learn

Post by lcowles »

Hi Troy, I have got started that is the point, I understand principally what must be done and even have some flow-charts, I can compile my current OS easily, all I need is some more information about programming an OS without using any BIOS interrupts. until then I'll be hacking around in BIOS files to see how the BIOS communicates with the hardware. (Dell Dimension 9100 Rev A03)
there are only 1 0 types of people in the world, (un)fortunately Base 2 allows for a lot more than just 0 and 1
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: Eager to learn

Post by Love4Boobies »

Looking through some BIOS' source code is a very bad idea since (i) the BIOS is motherboard-specific (therefore you won't know what will work on every machine and what won't) and (ii) you won't really know why it does what it does. Also, Linux doesn't use the BIOS service calls at all. What you need to do is look for hardware documentation (like controllers, buses and the CPU).

Usually BIOS calls are used in the boot loader because of the amount of space available (at least in the first stage), the amount of work that would be needed to write drivers for both the OS and boot loader and the lack of need for performance (the code will only get executed once and only by "one process at a time" - which is all BIOS can do anyway since its code isn't re-entrant).

Anyway, good luck with your OS!
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
User avatar
lcowles
Posts: 17
Joined: Sun May 24, 2009 9:11 pm
Location: Essex, United Kingdom
Contact:

Re: Eager to learn

Post by lcowles »

thank you,

unfortunately the OS I'm now writing will be for my PC only which is why I have opted for this method, it's more of a challenge.

Thanks for the info's though. I'll try to keep up.
there are only 1 0 types of people in the world, (un)fortunately Base 2 allows for a lot more than just 0 and 1
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Eager to learn

Post by Combuster »

lcowles wrote:the OS I'm now writing will be for my PC only which is why I have opted for this method, it's more of a challenge.
By the time you're done, you most likely got yourself a new computer. Great renewable source of entertainment :mrgreen:
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
lcowles
Posts: 17
Joined: Sun May 24, 2009 9:11 pm
Location: Essex, United Kingdom
Contact:

Re: Eager to learn

Post by lcowles »

Hi combuster, I have looked at your OS with the openGL implementation. How long did it take to get you to that point? Another reason why I want to write this new OS is I have alot of new design features for it some of them at the kernel level (so obviously not even linux could provide me with what I need). Did you port your apps from a linux source tree or re-implement apps as you think they should be
there are only 1 0 types of people in the world, (un)fortunately Base 2 allows for a lot more than just 0 and 1
Post Reply