Computer software provides instructions that direct a computer's processor to perform tasks. It contrasts with computer hardware, which is the physical component. Hardware and software require each other to function. There are three main types of software: 1. Operating system software manages computer resources and provides services for other programs. It is essential for applications to run. 2. Utility software helps analyze, configure, optimize and maintain computer systems. It focuses on how the hardware, operating system and storage operate. 3. Application software allows users to perform tasks like word processing, spreadsheets, games and simulations. It depends on system software like the operating system to execute.