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.
Anyway, I'm not experienced enough to develop an OS, so what do you recommend me to do? If you recommend to learn assembly (using NASM) and write stuff, what kind of stuff could I do before being able to write a boot..thing? Also, will I need to learn how a computer works on the inside?
You should use Grub as your bootloader and write your OS in C or C++ (or any other usable language). Grub enters you straight into 32-bit protected mode environment, and passes you info like how much memory the computer has. When you come to testing programs, Grub will be useful since you can load modules.
You can also use VMWare Fusion as your emulator. It is currently a release candidate, and free for now (the final version will not be). It works great though.
OS X makes a great OS dev platform, I think. The fact that it's UNIX really helps.