Before we dive deep into this topic, we can call a computer “computer” when it can do four main things:

1-Receives an input. 2-Stores that input. 3-Proccess the input. 4-Sends the input after being proccessed as an ouput.
These things can be done by multiple circuits, which procces the input signal -that represents multiple bits of zero’s and one’s- into the output that we see for example on our computer screen.
Now, how software and these multiple circuits (hardware) interact with each other ?
Software is a program that converts the commands that you enter into bits in order for these circuits (mainly the cpu) to understand what you have written.
That brings up the question of how the computer knows which circuits to use when a certain command is written ?.
The operating system manages the running proccess and tells the cpu what do with each command.