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

OT Programación



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

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?
-- 
¡¡Abajo los imperialistas!!
No a la invasión en Irak



Reply to: