Hi everyone.
I'm new here, and i was reading the osdev wiki, but i can't find a line to follow.
Where i should start? Then where do i have to go?
thanks.
Where i start?
- sleephacker
- Member
- Posts: 97
- Joined: Thu Aug 06, 2015 6:41 am
- Location: Netherlands
Re: Where i start?
take a look at:
http://wiki.osdev.org/Getting_Started
http://wiki.osdev.org/What_order_should ... _things_in
I personally started writing a bootsector, and then I tried making a better & faster & more advanced version of Windows 7 in 16 bits real mode, expecting it to be done in maybe a month or so. Needless to say, that did't work out.
Then I tried to make a very simple snake game (still in 16bits real mode) to learn assembly a bit better, in which I succeded. After that I moved on to my current project in which I just kind of write some 32bit protected mode code all in assembly, and hope the result will look more or less like an OS (it is probably better to use C or some other high level language than to use assembly once you're in protected mode, but whatever).
I reccomend you don't set your hopes too high like I did, and start with something very basic so that you know what you're doing when you get into more complicated stuff.
http://wiki.osdev.org/Getting_Started
http://wiki.osdev.org/What_order_should ... _things_in
I personally started writing a bootsector, and then I tried making a better & faster & more advanced version of Windows 7 in 16 bits real mode, expecting it to be done in maybe a month or so. Needless to say, that did't work out.
Then I tried to make a very simple snake game (still in 16bits real mode) to learn assembly a bit better, in which I succeded. After that I moved on to my current project in which I just kind of write some 32bit protected mode code all in assembly, and hope the result will look more or less like an OS (it is probably better to use C or some other high level language than to use assembly once you're in protected mode, but whatever).
I reccomend you don't set your hopes too high like I did, and start with something very basic so that you know what you're doing when you get into more complicated stuff.
- Combuster
- 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: Where i start?
The main page is a large overview of the content we have. You can pretty much read the first block of introduction articles in order, and after that you should have a rough idea where to go next.
- jojo
- Member
- Posts: 138
- Joined: Mon Apr 18, 2016 9:50 am
- Libera.chat IRC: jojo
- Location: New York New York
Re: Where i start?
Best way to go would be to find out what it is, in particular, that you want to do and then start researching to drill down into the specifics of how to accomplish what you want.
For me, one of my first questions way back in the day was 'how does the computer even know where to get the OS from and start it?', which lead me to researching the PC BIOS boot process and incidentally to writing a simple boot sector/boot floppy which everyone seems to start with (for good reason).
For me, after that I wanted to know how to draw stuff to the screen, so I ended up learning about the 16-bit BIOS graphics mode commands and add what I'd learned about that to the boot floppy and managed to draw some really simple low-resolution stuff, which made me happy.
And since then, it's just more of the same. Figure out what I wanted to accomplish, do research and find relevant documentation, and then figure out how to integrate that new knowledge with my existing project. For example, when I started working on my windowing system somewhat recently, I wanted to figure out how to efficiently redraw the visible sections of occluded windows without really having any kind of strong background in graphics and geometry algorithms which lead me down a very interesting wikipedia and math tutor websites rabbit hole of research into efficient polygon clipping.
And that's pretty much the way to go. If you can get that pattern of effective autodidacticism and implementation down, you can do just about anything this world could possibly throw at you.
Have fun, and good luck!
For me, one of my first questions way back in the day was 'how does the computer even know where to get the OS from and start it?', which lead me to researching the PC BIOS boot process and incidentally to writing a simple boot sector/boot floppy which everyone seems to start with (for good reason).
For me, after that I wanted to know how to draw stuff to the screen, so I ended up learning about the 16-bit BIOS graphics mode commands and add what I'd learned about that to the boot floppy and managed to draw some really simple low-resolution stuff, which made me happy.
And since then, it's just more of the same. Figure out what I wanted to accomplish, do research and find relevant documentation, and then figure out how to integrate that new knowledge with my existing project. For example, when I started working on my windowing system somewhat recently, I wanted to figure out how to efficiently redraw the visible sections of occluded windows without really having any kind of strong background in graphics and geometry algorithms which lead me down a very interesting wikipedia and math tutor websites rabbit hole of research into efficient polygon clipping.
And that's pretty much the way to go. If you can get that pattern of effective autodidacticism and implementation down, you can do just about anything this world could possibly throw at you.
Have fun, and good luck!
Re: Where i start?
Welcome to operating system development. This is the list:
- Read Required Knowledge first, you'll need it.
Then read GCC Cross-Compiler for setting up your first i686-elf cross-compiler.
Now you can run basic example kernel. Read Bare Bones and be happy!
WARNING: you shouldn't use Bare Bones as OS source tree organization example. This is only running kernel example, for source organization see Meaty Skeleton.
Developing U365.
Source:
only testing: http://gitlab.com/bps-projs/U365/tree/testing
OSDev newbies can copy any code from my repositories, just leave a notice that this code was written by U365 development team, not by you.
Source:
only testing: http://gitlab.com/bps-projs/U365/tree/testing
OSDev newbies can copy any code from my repositories, just leave a notice that this code was written by U365 development team, not by you.