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

Re: OT Programación



El dom, 27-02-2005 a las 15:21 -0600, coin escribió:
> Verán tengo un problema existencial:-). Cuando uno programay ejecuta
> el programa, al menos en C,  el programa se ejecuta línea por línea,
> es decir que si por ejemplo tenemos el siguiente programa:
> main(){
> int i;
> printf("hola");
> i=i+5
> printf("%d",i);
> printf("adios");
> }
> 
> y lo compilamos y ejecutamos, el procesador empezará por reservar el
> espacio en memoria para i, luego mandara los datos y ordenes
> necesarios para que por la salida del terminal aparezca la palabra
> hola, luego incrmentará i con 5 .........y así hasta la última llave
> y a menos que otro proceso interrumpa al procesador, que generalmente
> ocurre, el procesador lo atenderá hasta terminar con el y continuara
> con el proceso original. Bien pues ahi viene mi pregunta. ¿Es posible
> hacer que 2 procesos se ejecuten paralelamente y que cuando el proceso
> B reciba un cambio de datos o que pase determinado tiempo, le avise al
> proceso A con ciertos datos?.  Después los procesos A y B continuarán
> con su funcionamiento normal hasta que vuelva a ocurrir dicho evento.
> ¿Estos procesos se pueden programar en un mismo programa? Por ejemplo
Si que es posible, con una pipe por ejemplo. Yo la verdad que no controlo mucho el tema pero se que se puede hacer con una pipe.
Busca info sobre las pipes, memoria compartida, semaforos haber cual es
la q te va mejor.
> main(){
> ProcesoA()
> ProcesoB()
> ...
> ...
> }
> 
> ProcesoA(){
> envia datos por TCP/IP
> Recibe datos desde TCP/IP
> ...
> }
> 
> ProcesoB(){
> revisa estado de sensores
> ...
> }
> 
> 
> Aclaraciones:Cuando digo en forma paralela, no me refiero a
> procesamiento paralelo, es decir que aparentan estar ejecutandose de
> forma paralela igual que se ejecutan todos los procesos en una
> computadora con un solo procesador.
> El programa que mostre anteriormente son algunas de las acciones que
> deben ejecutar cada proceso.
> 
> Mi duda se extiende incluso a ¿si es posible programar esto en C, o
> tendré que valerme de otra herramienta como programación orientada a
> objetos? ¿con programación en shell y crontab podré realizar tales
> procesos?¿existe la forma de que en determinado tiempo se ejecute una
> funcion dentro del programa e interrumpa al proceso main?
> 
> Espero haberme expresado bien y que no quepa alguna duda,  pero si la
> hubiese podría volver a explicar de una mejor manera.
> Gracias por su ayuda
> 
> PD conforme escribí este correo se me aclararon ciertas cosas pero me
> salieron más dudas. Jejejje siempre pasa ¿no creen?
Un saludo



Reply to: