Multitasca

En informàtica, multitasca és un mètode on múltiples tasques (també conegudes com a processos) s'executen durant el mateix període -s'executen concurrentment (en períodes solapats, amb tasques començant abans que altres acabin - en comptes de seqüencialment (una tasca acaba abans que comenci la següent). Les tasques comparteixen recursos de computació comuns, com processadors (CPUs) i memòria principal.

La multitasca no necessàriament significa que múltiples tasques s'estan executant exactament al mateix instant. En altres paraules, la multitasca no implica execució paral·lela, però significa que més d'una tasca pot estar a mitja execució, i que més d'una tasca està avançant en un període donat.

En el cas d'un ordinador amb només una CPU, només una tasca s'està executant un instant de temps, és a dir, la CPU només està executant instruccions per a aquesta tasca. La multitasca soluciona aquest problema planejant (en anglès scheduling) quina tasca s'ha d'estar executant en cada moment, i quan una tasca en espera rep el seu torn. El fet de reassignar la CPU d'una tasca a una altra s'anomena canvi de context. La il·lusió de paral·lelisme s'aconsegueix amb canvis de context molt freqüents.

Fins i tot en sistemes multiprocessador o multicore, que tenen múltiples CPUs/nuclis de manera que es pot executar més d'una tasca a la vegada (físicament, una per CPU o per nucli), la multitasca permet que s'estiguin executant moltes més tasques que processadors hi ha.

Els sistemes operatius poden adoptar una de diverses estratègies de planificació, que generalment entren en alguna de les següents categories:

  • En sistemes multiprogramats, la tasca en execució continua executant-se fins que realitza alguna operació que requereixi esperar un esdeveniment extern (per exemple llegir del disc) o fins que el planificador de l'ordinador força el canvi de context. Els sistemes multiprogramats estan dissenyats per a maximitzar la utilització de la CPU.
  • En sistemes de temps compartit, s'espera que la tasca renunciï a la CPU, sigui voluntàriament o a través d'un esdeveniment extern com una interrupció hardware. Els sistemes de temps compartit estan dissenyats per permetre diversos programes d'executar-se de forma aparentment simultània.
  • En sistemes de temps real, es garanteix que algunes tasques rebran la CPU quan es produeix un esdeveniment extern. Els sistemes en temps real estan dissenyats per controlar dispositius mecànics que requereixin fer coses en un moment concret.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by razib.in