Actualmente la multitarea es por software, y no es multitarea realmente, va dejando la CPU a cada programa durante un instante de tiempo tan pequeño que parece que se están ejecutando a la vez (pero no es multitarea en sentido estricto si entendemos como tal el ejecutar varias tareas a la vez). Luego está la multitarea por hardware, tener varios micros (o el hyper threading que intenta emular eso), pero a día de hoy creo que no se le saca todo el partido que ofrece.
Saludos