Friday, October 10, 2003

Safety Tip for would-be operating system authors: Make sure your stack and your uninitialized data section do not cross paths, or you'll be up until 5am wondering why user programs crash. We're doing a bit more than other groups this term. Instead of the stock toolchain and libraries provided in the CS452 course account, we're using the latest gcc/binutils/newlib and booting according to the multiboot spec. implemented by grub. Furthermore, our binaries are ELF, not a.out. Translation, we can use // style comments, declare variables anywhere in a function body, boot on any PC with a floppy drive, and run in the bochs i386 emulator (think "work at home" and built in debugger). Stefanus has a page all about this setup, which will probably become standard in future terms of the course.

No comments: