Although the title is part of my question, the second part won't be as simple. The First part: Let's say I want to create my own operating system. How do I even go about doing that? I understand I have to create a bootloader. But where do I go from there? I would have to send it to another program, but to do that, that program already has to be there, and I have to know exactly where it's at in the memory space. Any tips/tutorials?
The second question. I'm currently studying memory management, and I think I have a theory on a better implementation for a placement algorithm, but I have no way to really test it except in theory. Once I can create the OS (so this is for future reference), how do I actually mess with main memory, and move processes around?
P.S.: Also, would I have to write my own filesystem?
Edit: After reading over the current comments I want to revise what I said. When I said "the second part won't be as simple", that seems to be a poor choice in words. I know both will be very difficult endeavors, but that doesn't matter to me. I just enjoy learning new things. And I didn't mean for someone to write a tutorial for me, just to point me in the right direction.
Phew. Now that's quite a question! I don't think any answer you get here will cover such a huge ground (unless someone sits down to write and revise for an hour or two).
I suggest you read up on operating systems first -- try Tanenbaum's books, and OSDev.org for quick references.
You can use GRUB as your bootloader -- that should simplify things.
I don't agree that the title is the simple part. You may consider studying minix
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With