Practices in Operating System Development