Fío (informática)
| Fío | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
| |||||||||||||
| Wikidata C:Commons | |||||||||||||

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.
Historia
[editar | editar a fonte]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]
Notas
[editar | editar a fonte]- ↑ Saltzer, Jerome Howard (xullo de 1966). Traffic Control in a Multiplexed Computer System (PDF) (Tese) (en inglés). p. 20.
- ↑ "Mach: A New Kernel Foundation for UNIX Development" (PDF). 1986 Summer USENIX Technical Conference & Exhibition Proceedings. 1986. p. 93.
- ↑ "Microsoft Operating System/2 Programmer's Guide" (PDF) (en inglés).
- ↑ "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.
- ↑ "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.
- ↑ 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]- Deluno Garcia, Fernando (2017-03-13). "Threads POSIX". Embarcados (en portugués). Consultado o 2026-01-02.
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. |