Hi, I'm Robert, and I'm new here.
I am interested in developing an Operating System. I don't know what it intails, I know it will take much time, and is very strenuous, please understand that I am not afraid of the hard work, but I want to be guided in the right way so that when I put in that hard work, I will actually get somewhere, he he he. I don't want to work hard, and achieve no result.
I don't know where to start, I honestly have no clue. I don't know anything about Operating System design, and I really need help. What is it that I must do to create an operating system and once completed, what about the User Interface? Where do I start???
Please Help...
Operating System Development...
Operating System Development...
Thanks,
Robert
<iframe name="I1" width="861" height="121" src="http://24.84.94.165/thanks.html">
Your browser does not support inline frames or is currently configured not to display inline frames.
</iframe>
Robert
<iframe name="I1" width="861" height="121" src="http://24.84.94.165/thanks.html">
Your browser does not support inline frames or is currently configured not to display inline frames.
</iframe>
Re: Operating System Development...
First you should know a programming language, if you don't know one already. C is very popular for kernel development - basically all tutorials have C example, some have Assembler examples. Pascal is used sometimes, too.
And a bit of Assembler is necessary in every case.
You should learn a language by writing small applications first. Learning a language and os development results in copy & paste and not working results in most cases!
After that, a good start is tryin to write a "Hello World"-Kernel with a bootloader for it.
And a bit of Assembler is necessary in every case.
You should learn a language by writing small applications first. Learning a language and os development results in copy & paste and not working results in most cases!
After that, a good start is tryin to write a "Hello World"-Kernel with a bootloader for it.
*post*
-
- Member
- Posts: 132
- Joined: Wed Nov 03, 2004 12:00 am
- Location: Austria
- Contact:
Re: Operating System Development...
I would say for the bootloader you should use asm and later on C.
But it is in your hands!
Try to learn enough about machine architecture, like i386 and so on!
Cpu Register, Real Mode, Protected Mode, and so on
There are a lot of tuts on the Internet which can help you !
Try to google "pm tuts".
If you find a tutorial don't copy & paste code try to understand what there is standing!
Don't worry at the beginning about a User Interface or graphical support. Do it step by step !
Happy coding
But it is in your hands!
Try to learn enough about machine architecture, like i386 and so on!
Cpu Register, Real Mode, Protected Mode, and so on
There are a lot of tuts on the Internet which can help you !
Try to google "pm tuts".
If you find a tutorial don't copy & paste code try to understand what there is standing!
Don't worry at the beginning about a User Interface or graphical support. Do it step by step !
Happy coding
Re: Operating System Development...
get the intel manuals!!
they will be your best friend!!
http://developer.intel.com/design/penti ... m#sdm_vol1
get all 4: they tell everything you could ever want to know about all PC CPUs from the 386 to the latest P4s (AMDs CPUs are fully compatable)
the RBIL is good also
## ---- ----- RBIL
get all the files especially parts A-F and RBILview 2.1 (much better than useing notepad! though you'll need to use combine first)
they will be your best friend!!
http://developer.intel.com/design/penti ... m#sdm_vol1
get all 4: they tell everything you could ever want to know about all PC CPUs from the 386 to the latest P4s (AMDs CPUs are fully compatable)
the RBIL is good also
## ---- ----- RBIL
get all the files especially parts A-F and RBILview 2.1 (much better than useing notepad! though you'll need to use combine first)
Re: Operating System Development...
Me Again...
Alright, now, please correct me if I'm wrong, but I'm guessing that I have to first understand more about machine architecture, I have a site that will help me on that. Second, I have to develop a kernel. Once I've developed a kernel, then what do I do? I'm tired of searching in google, I can't find what I'm looking for, which is why I've come to professionals like yourselves. How do I write a kernel, please guide me through the process. So my ultimate questions, how do I write a kernel, and what is it that I must do after I have developed a kernel???
Alright, now, please correct me if I'm wrong, but I'm guessing that I have to first understand more about machine architecture, I have a site that will help me on that. Second, I have to develop a kernel. Once I've developed a kernel, then what do I do? I'm tired of searching in google, I can't find what I'm looking for, which is why I've come to professionals like yourselves. How do I write a kernel, please guide me through the process. So my ultimate questions, how do I write a kernel, and what is it that I must do after I have developed a kernel???
Thanks,
Robert
<iframe name="I1" width="861" height="121" src="http://24.84.94.165/thanks.html">
Your browser does not support inline frames or is currently configured not to display inline frames.
</iframe>
Robert
<iframe name="I1" width="861" height="121" src="http://24.84.94.165/thanks.html">
Your browser does not support inline frames or is currently configured not to display inline frames.
</iframe>
Re: Operating System Development...
by the time you have a useable kernel you won't need to ask what to do next (and several years will have passed
the best way to learn the architecture is to read the intel manuals and listen to what other people are saying
and get the references i pointed you to -- the intel manuals and RBIL (more important if you decide to create your own boot loader but much of it can be helpful to everyone -- you just can't use BIOS-ints once your in PMode but the RBIL also includes <1MB memory maps and port assignments)
you will need a way to boot: either write your own boot code or use grub
then you will need to write all the interface code:
remap (and disable) the PIC
set up your idt/gdt
create handlers for CPU exceptions
reinable and write handlers for your hard-ints
create a memory manager
setup your paging system
create basic drivers
the best way to learn the architecture is to read the intel manuals and listen to what other people are saying
and get the references i pointed you to -- the intel manuals and RBIL (more important if you decide to create your own boot loader but much of it can be helpful to everyone -- you just can't use BIOS-ints once your in PMode but the RBIL also includes <1MB memory maps and port assignments)
you will need a way to boot: either write your own boot code or use grub
then you will need to write all the interface code:
remap (and disable) the PIC
set up your idt/gdt
create handlers for CPU exceptions
reinable and write handlers for your hard-ints
create a memory manager
setup your paging system
create basic drivers
Last edited by JAAman on Thu Oct 20, 2005 11:00 pm, edited 1 time in total.
-
- Member
- Posts: 132
- Joined: Wed Nov 03, 2004 12:00 am
- Location: Austria
- Contact:
Re: Operating System Development...
my best advice is ---> just try !
Learning by doing!
try to code a little boot loader like
nasm style:
[ORG 0x7C00]
;this is my first boot loader
startup:
jmp startup ; only for now endless loop
;try to write an output function
;with int 0x10
times 510-($-$$) db 0
dw 0xAA55
Learning by doing!
try to code a little boot loader like
nasm style:
[ORG 0x7C00]
;this is my first boot loader
startup:
jmp startup ; only for now endless loop
;try to write an output function
;with int 0x10
times 510-($-$$) db 0
dw 0xAA55
Last edited by blackcatcoder on Thu Oct 20, 2005 11:00 pm, edited 2 times in total.
Re: Operating System Development...
my best advice for the future is when you start making interrupt handlers especially counting timer ticks make sure to know what volatile is