28 de mayo de 2016

Consideraciones respecto a la E/S de procesos.

   Cuando un proceso se ejecuta, tiene asociados tres flujos (streams) de manera automática sin que se haga nada especial para su creación:
  1. Entrada estándar (stdin): asociado al teclado, pero puede ser redireccionado.
  2. Salida estándar (stdout): asociado a la pantalla, pero puede ser redireccionado.
  3. Error estándar (stderr): asociado a la pantalla y no puede ser redireccionado.

   El redireccionamiento se refiere a la capacidad de un proceso de tomar o enviar datos de, o hacia un archivo. Ésto quiere decir, que un programa no siempre lee sus datos desde el teclado, o que no siempre envía sus datos a la pantalla, sino que los datos pueden ser leídos de, o enviados a archivos, sin incluir explícitamente sentencias o funciones para la gestión de dichos archivos.

   Usando redireccionamiento, el proceso no se “enteraría” de que los datos que lee o escribe, no están siendo obtenidos desde el teclado o presentados en la pantalla respectivamente, ya que el mecanismo de redireccionamiento es transparente para los procesos, favoreciendo con ello su versatilidad.

   Por último, es importante mencionar que los flujos están estrechamente relacionados con los archivos, mismos que se trataran de manera más detallada en otra entrada.