[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: squid y reducir sus 18 hijos!!!



On Thu, 10 Feb 2000, Jesus M. Gonzalez-Barahona wrote:

> 
> 	Cada thread Linux (esto es, cada thread "montado" sobre
> LinuxThreads) tiene un PID (identificador de proceso) distinto.
> 
> 	Por ejemplo, aquí tienes la salida de ps para un programa con 
> varios threads:
> 
> cacharro(jgb)-jgb> ps af
>   PID TTY STAT TIME COMMAND
>   441  p4 S    0:00 bash 
>   462  p4 S    1:03  \_ xemacs 
>   541  p4 S    0:00  \_ ./example_chat2 
>   542  p4 S    0:00      \_ ./example_chat2 
>   543  p4 S    0:00          \_ ./example_chat2 
> 
> 	Puedes ver que tengo una bash, desde la que lanzo un xemacs y
> también un example_chat2. Ese programa, a su vez, genera varios
> threads (procesos ligeros, que comparten el mismo espacio de
> direcciones, y por tanto, la misma memoria, descriptores de
> dispositivos, etc.), que son los de PID 542 y 543.
> 
> 	En Unix (y en Linux también) cada proceso tiene su propio
> espacio de direcciones. Para pasar de un proceso a otro, el kernel ha
> de realizar un "cambio de contexto", que es una operación
> relativamente costosa (hay que cambiar dominios de protección, hacer
> flush de los bloques de registros del procesador, y algunas cosas
> más). Para poder hacer esos cambios de contexto más rápidamente, se
> usan threads. Los threads son simplemente "actividades" o "hilos de
> control" que comparten los recursos de un proceso. Como usan la misma
> memoria, etc, no hay que hacer esas operaciones costoas para hacer el
> cambio de un thread a otro, y el cambio es mucho más ligero (y
> rápido). A veces los threads se implementan en el kernel (es el caso
> de Linux con LinuxThreads), y en ese caso es relativamente habitual
> darle a cada thread un PID distinto.
> 
> 	No sé si esto queda algo más claro...

Entonces tendriamos que ordenados por pesos estarían en primer lugar
los procesos implementados en Windows, luego los procesos implementados
en Linux, después los threads de Linux, y lo más ligero de todo creo que 
serían los threads de Windows.

En realidad me gusta más la palabra procesos ligeros que threads para el 
caso de Linux. 

Para mi si tienen PID distintos, deberían llamarse procesos. 

Gracias por la aclaraciones.

Saludos

Antonio.

> 	Que sea leve,
> 
> 		Jesus.
> 	
> Antonio Castro writes:
>  > [...]
>  > Los threads generan procesos ? Estamos hablando de procesos con distinto PID.
>  > 
>  > Que alguien me aclare si los trheads en Linux generan procesos con PIDs 
>  > distintos yo jamás he programado con threads pero tenía entendido que la
>  > única forma de generar un nuevo proceso era mediante fork().
>  > 
>  > Los trheads pensaba que eran hilos de ejecución distintos en paralelo dentro
>  > de un mismo proceso.
>  > 
>  > Saludos 
> 
> -- 
> Jesus M. Gonzalez Barahona             | Universidad Rey Juan Carlos
> jgb@gsyc.escet.urjc.es                 | ESCET
> jgb@computer.org                       | c/ Tulipan s/n
> Grupo de Sistemas y Comunicaciones     | 28933 Mostoles, Spain
> 
> --  
> Unsubscribe?  mail -s unsubscribe debian-user-spanish-request@lists.debian.org < /dev/null

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /\     /\                     Ciberdroide Informatica (tienda linux)
          \\W//                             http://www.ciberdroide.com 
	 _|0 0|_                                                    
+-oOOO--(___o___)--OOOo--------------------------+ 
|  . . . . U U . . . . Antonio Castro Snurmacher |  
| http://slug.ctv.es/~acastro.    acastro@ctv.es | 
+()()()----------()()()--------------------------+
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
(((Donde Linux)))    http://www.ciberdroide.com/misc/donde/dondelinux.html
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


Reply to: