CUESTIÓN

¿Qué es lo que debo entender cuando se dice: "tal programa devuelve tal valor al sistema operativo"?

SOLUCIÓN

Cuando se explica una cuestión, a veces se simplifica dicha explicación con datos si no incorrectos, al menos inexactos. Esto es así porque explicar toda la verdad llevaría excesivo tiempo para el resultado que se pretente obtener.

En el caso que nos ocupa, la visión que hasta ahora tenéis de la ejecución de una orden y la realidad son las siguientes:

FÁBULA

"En un país multicolor, un usuario de UNIX va a realizar un listado de un directorio. Teclea ls -l. El sistema operativo, que por cierto es muy listo, arranca la orden ls y a su función main le pasa como argumentos ls y -l. Cuando la orden acaba, la función main del programa ejecutable ls devuelve al sistema operativo un valor que indica si la operación se ha realizado con éxito o no"


LA CRUDA REALIDAD

¡Atención! El contenido que viene a continuación puede afectar a personas especialmente sensibles. El autor declina toda responsabilidad.

"Existe un programa llamado ksh que efectúa una llamada al sistema read. El usuario teclea ls -l. read vuelve y almacena lo tecleado en una cadena de caracteres. ksh tiene un hijo y se queda esperando indolente a su muerte. El hijo trocea la cadena leída por el padre y, con ella, efectúa una llamada a execlp. Cuando el hijo, transformado en ls, acaba de listar, muere. Su función main devuelve éxito o fracaso para que lo reciba en el wait el padre. El padre almacena en la variable de entorno $? el código devuelto por el hijo y, mediante otra llamada a read, queda a la espera de una nueva orden del usuario. El sistema operativo salió a comprar tabaco y aún lo están buscando."

Como veis, la historia no tiene desperdicio: un padre/madre soltero que abandona a su hijo a su suerte. Un hijo transformista que se hace rico para luego darle todo a su ingrato padre. Y un personaje del que todo el mundo habla pero nadie sabe dónde está.

Dejando discusiones filosóficas aparte acerca de qué es mejor o quién es más feliz, el niño que cree en los Reyes Majos o el que cree que son los padres (ignorantes ellos), ¿estáis seguros de que la última versión contiene toda la verdad y todo lo que contiene es verdad?


© 2002 Guillermo González Talaván.