Beginning of OS-Dev tutorial - What do you think?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
IRBMe

Beginning of OS-Dev tutorial - What do you think?

Post by IRBMe »

Hello, everybody.

I noticed there have been a few people posting some of the documentation they've been writing recently, and now I think it's my turn to contribute and listen to what you think.

A few months ago I decided to try and document exactly what I did when learning how to do operating system developement. Since then, it's turned into more of a tutorial. It's still far from complete, and I'm still very far from understanding even just the basics of a kernel, but I think it's still worth reading for beginners.

The tutorial covers setting up your environment (what tools to use, installing cygwin, getting gcc and so on) and then a whole lot of stuff on writing a boot loader, and using GRUB. So far that's it. I realise that writing a boot loader can't really be considered part of writing an OS, since really it's a seperate project, however, as I stated in the tutorial, I think it's still a good step for beginners to take. It is difficult, yes. It doesn't relate much to real operating system developement, yes. But I think it gives you a good reminder of how to program in assembly language, gives you a real feel for systems programming, and really is a great encouragment if you can get it working. There's nothing quite like the pride you feel when you manage to get your first hello world boot loader program working. It's a real feeling of satisfaction.

This is just a taste of what's hopefully to come. Later I plan to start adding some real OS-dev related things like adding interrupt handling, paging, multi-tasking, memory allocation, DMA, PIC/APIC stuff, console, keyboard and floppy drivers and so on. Some parts still need a little fleshing out, as I experiment with those myself still (such as the multiboot stuff with GRUB, or figuring out how to get a memory map using the BIOS - I haven't taken the time to understand how that works yet).

So, it would be nice to know what people think. Any improvements, suggestions, code contributions, constructive criticism or praise are all welcome. Just try not to be too hard, I'm still learning it myself as I go along ;)

Last but not least, here's the actual URL. It's in PDF and sxw (open office document) format:

http://evil-geni.us/~irbme/osdev.zip
IRBMe

Re:Beginning of OS-Dev tutorial - What do you think?

Post by IRBMe »

Of course, since it's not complete yet, I haven't added any credits just so you know. If you think you are due credit (and probably many of you are, for the help I've recieved here, or the code snippets I've come across both here and in the FAQ) then feel free to let me know and I'll remember to add you at the end.
Metallic-Red

Re:Beginning of OS-Dev tutorial - What do you think?

Post by Metallic-Red »

So far this is a really good article!! I enjoyed reading it a lot. Though I already knew some things, the article helped me to revisit those areas and learn more than I already knew. I also like the Protected Mode area, as it is clear and easy to understand (unlike some other tutorials I've seen elsewhere on the Internet). I hope you can expand on this and continue to make a really great resource!!
nN

Re:Beginning of OS-Dev tutorial - What do you think?

Post by nN »

Very nice work dude, I must say. ;)
keeper

Re:Beginning of OS-Dev tutorial - What do you think?

Post by keeper »

yha, this i s good. good job dude, cant wait for another
FamilyMan

Re:Beginning of OS-Dev tutorial - What do you think?

Post by FamilyMan »

Is the link for this no longer active? I can't seem to get it to work but I DEFINATELY would like to read what you have.

Thanks.
IRBMe

Re:Beginning of OS-Dev tutorial - What do you think?

Post by IRBMe »

It's still active. Today the server just seems to be running a littls slow for some reason. Just give it time if it doesn't start downloading straight away, it does respond eventually.
FamilyMan

Re:Beginning of OS-Dev tutorial - What do you think?

Post by FamilyMan »

Ok, when I tried it again it worked... and I'm glad that I did.

I think the tutorial is great!

Keep up the good work.
Pi

Re:Beginning of OS-Dev tutorial - What do you think?

Post by Pi »

Great stuff man, keep up the good work!
dh

Re:Beginning of OS-Dev tutorial - What do you think?

Post by dh »

I love it :D and I think you will go a long way with this.

I'm still quite the "n00b" in OSdev so this will be extremely helpfull!! Good work so far!
gaiety

Re:Beginning of OS-Dev tutorial - What do you think?

Post by gaiety »

I am totally beginer and it ready help me, It is clear and simple for beginner. I hope I can get the second version of this in the Internet(hope) as I have no money to buy for one book (One about $30.00 more change to our money rate will be about $120.00). And the resource in the Internet is always stop at boot loader or it is imcomplete resource.
Post Reply