what are the fundamental components of a computer system