Software is the set of instructions that tell computers what to do
Operating systems are required by virtually all computer systems and interact with the hardware, manage resources, and usually present a user interface to the user.
The kernel facilitates multi-tasking by performing context switching, where the state of a process and any pertinent data are stored so that execution can switch to a different process.