what is booting in computer science