Every O/S supports the notion of a "process' - a sequential program in execution.
When more than one processor is available, more then one process can be running at the same time. This is called physical concurrency.
If there is only one processor, you can still keep more than one process in memory at one time and the CPU can switch between them. This is called multiprogramming. In this case, the processes can be said to be logically concurrent.
If the CPU is shared equally between processes (each process is executed 1/N of the total time where N is the number of processes), this is called timesharing.