Multitasca

De Viquipèdia

[edita] Multitasca

Literalment, capacitat de dur a terme simultàniament diverses activitats. En el cas de la informàtica, podem parlar de multitasca en dos camps diferents: programari i maquinari.

En el cas del programari, és freqüent (avui en dia, inevitable) parlar de Sistemes Operatius multitasca. Aquests permeten fer servir diverses aplicacions de forma aparentment simultània, encara que l'equip físic només tingui una Unitat de Procés (CPU).

En el cas del maquinari, parlem de Multitasca Real quan ens referim a processadors que poden dur a terme diverses operacions en el mateix moment (en el mateix clock o batec del processador). Per aconseguir-ho s'han fet servir diverses tècniques al llarg del temps:

  1. Pipelining: tècnica que consisteix en preparar l'execució d'una instrucció en codi màquina mentre l'anterior s'executa.
  2. HyperThreading: tecnología desenvolupada per Intel que permet executar una instrucció al processador mentre l'anterior encara no ha acabat. Només és viable amb processadors CISC, on la durada d'execució de cada instrucció és diferent. En els processadors RISC no és aplicable.
  3. Dual core i Multi core: dues o més unitats de procés incrustades en el mateix microprocessador permeten l'execució simultània de varies instruccions sense que interfereixin. És a partir d'aquest moment quan podem començar a parlar de multitasca real, tot i que, estrictament, només podrem tenir dos tasques funcionant simultàniament en un ordinador amb un processador dual core.

Cal aclarir que en qualsevol Sistema Operatiu actual, el nombre de tasques que funcionen alhora són centenars o milers i que, per tant, sempre serà necessari recolzar el suport multitasca pel maquinari amb la virtualització de la multitasca des del programari.