Las librerías NPTL: futex = fast mutex <- un post para frikis de sistemas operativos
Este post sólo lo podrán entender frikis que le gusten saber un poco del manejo de hilos o threads del sistema operativo.
-------------------------------------------------------------------------------------------------
Para quien no lo sepa, los hilos es la forma con que el ordenador hace 2 cosas que tienen mucho que ver casi paralelamente (se le llama paralelismo virtual o concurrencia), es decir, a la vez, aún teniendo un único procesador.
Como este post no va de threads pondré dos links para los que quisieran aprender: la página de la wikipedia española y la página de la wikipedia inglesa sobre threads
De todas formas las formas el programar con hilos, aún siendo más eficiente en coste computacional, es más difícil de implementar. Aunque exiten lenguajes como ADA que "te lo regalan": vease los objetos protegidos en ADA.
En primer lugar quiero indicar el por qué introduzco este post: un día leí un poco sobre NPTL y quiero explicar un poco de como funciona en español (lo poco que he aprendido).
Al parecer los linuxthreads son malísimos tirando hilos (algo es mejor que nada), así que hace un par de años que se intento hacer otro sistema de hilos.
Tras un chasco con NGPT (los threads de Posix de siguiente generación) se hicieron los NPTL (la librería de threads nativos en Posix).
Los usuarios de algunas distribuciones de linux (como los de gentoo) pueden usarlos para que el manejo de hilos sea más eficiente. Los de gentoo simplemente tienen que seguir este howto: http://es.gentoo-wiki.com/HOWTO_NPTL.
Viendo un poco de información en la página man de futex (en español), la página de futex (en inglés), nptl design (pdf en inglés) y en la página de NPTL de la wikipedia inglesa nos ayudarán a comprender todo lo que he explicado arriba. Por cierto el pdf tiene unos gráficos que nos ayudarán a comparar las tres metodologías de hilos.
Más links interesantes: Usando NPTL en Gentoo (en español), NPTL (Native POSIX Threading Library) Tests and Trace (en inglés), Benchmark en java 1.4.2(en inglés, pero con gráficos sencillos).
-------------------------------------------------------------------------------------------------
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario