Saltar ao contido

Fío (informática)

Na Galipedia, a Wikipedia en galego.
Fío
Imaxe
 Instancia de
 Subclase de
 Parte de
 Epónimo
 Aspecto de
 Manifestación de
Identificadores
Freebase/m/0c9y2 Editar o valor en Wikidata
OpenAlexC138101251 Editar o valor en Wikidata
Wikidata C:Commons
Un proceso con dous fíos de execución, que se executa nun só procesador.

En informática, un fío de execución (thread en inglés) é a secuencia máis pequena de instrucións programadas que pode ser xestionada de forma independente por un planificador, que normalmente forma parte do sistema operativo. En moitos casos, un fío é un compoñente dun proceso.

Os múltiples fíos dun proceso dado poden executarse simultaneamente (mediante capacidades de multifío), compartindo recursos como a memoria, mentres que diferentes procesos non comparten estes recursos. En particular, os fíos dun proceso comparten o seu código executábel e os valores das súas variables asignadas dinamicamente e variables globais non locais de fíos en calquera momento dado.

Os fíos apareceron cedo co nome de «tarefas» (tasks en inglés) no sistema operativo de procesamento por lotes de IBM, OS/360, en 1967. Proporcionaban aos usuarios tres configuracións dispoñibles do sistema de control OS/360, das cales a multiprogramación cun número variable de tarefas (MVT) era unha. Saltzer (1966) atribúe a Victor A. Vyssotsky o termo thread.[1]

A implementación de Mach dos fíos foi descrita no verán de 1986.[2] OS/2 1.0, lanzado en 1987, admitía fíos.[3] A primeira versión de Windows en ter fíos foi Windows NT, que se lanzou en 1993.

En 1995, o IEEE definiu a API pthreads, que estandarizou unha interface para a programación multiproceso portátil nunha variedade de sistemas operativos tipo Unix.[4] Desde entón, pthreads tamén se implementou en Windows con paquetes de terceiros como pthreads-w32,[5] que implementa o estándar enriba da API de Windows existente.

O uso de fíos nas aplicacións de software volveuse máis común a principios da década de 2000, cando as CPU comezaron a utilizar varios núcleos. As aplicacións que desexaban aproveitar varios núcleos para obter vantaxes de rendemento víronse obrigadas a empregar a concorrencia para utilizar os múltiples núcleos.[6]

  1. Saltzer, Jerome Howard (xullo de 1966). Traffic Control in a Multiplexed Computer System (PDF) (Tese) (en inglés). p. 20.
  2. "Mach: A New Kernel Foundation for UNIX Development" (PDF). 1986 Summer USENIX Technical Conference & Exhibition Proceedings. 1986. p. 93.
  3. "Microsoft Operating System/2 Programmer's Guide" (PDF) (en inglés).
  4. "Standard for Information Technology--Portable Operating System Interface (POSIX(™)) - System Application Program Interface (API) Amendment 2: Threads Extension (C Language)". IEEE Standards Association (en inglés). Consultado o 11 de decembro de 2025.
  5. "Pthread Win-32: Level of standards conformance" (en inglés). 2006-12-22. Arquivado dende o orixinal o 2010-06-11. Consultado o 2010-08-29.
  6. Sutter, Herb (marzo de 2005). "The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software". Dr. Dobb's Journal (en inglés) 30 (3).

Véxase tamén

[editar | editar a fonte]

Outros artigos

[editar | editar a fonte]

Ligazóns externas

[editar | editar a fonte]

Este artigo tan só é un bosquexo
 Este artigo sobre informática é, polo de agora, só un bosquexo. Traballa nel para axudar a contribuír a que a Galipedia mellore e medre.
 Existen igualmente outros artigos relacionados con este tema nos que tamén podes contribuír.