miércoles, 19 de octubre de 2011

Diferencia entre terminal, shell, tty y consola

Para agregar un poco más de conocimiento a nuestro haber, veremos estos cuatro términos que muchas veces damos de forma indiferente para referirnos a una misma cosa. Todo esto viene de una pregunta hecha por un usuario en el sitio Unix & Linux Q&A, quien planteó esta situación de que dichos términos se utilizan una y otra vez refiriéndose a la misma cosa. La respuesta dada por Guilles, hace casi un año, más clara no pudo ser.

Entrando ya en materia, siendo un poco chistoso Guilles afirma que un terminal es algo que se encuentra al final de un cable eléctrico, un shell es la casa de una tortuga, tty es una abreviatura rara y consola es un tipo de gabinete.


Pero en lo que se refiere a sistemas operativos tipo Unix: 

Terminal = TTY = Entorno de entrada y salida en texto
Consola = Terminal físico
Shell = Intérprete de línea de comandos

Continúa diciendo: Consola, terminal y tty están estrechamente relacionados. Originalmente solían ser partes del equipamiento mediante el cual se interactuaba con una computadora: En los primeros días de Unix eran dispositivos tipo teleprinter parecidos a las máquinas de escribir, algunas veces llamados teletypewriter o "tty".

El nombre terminal viene del punto de vista de la electrónica y el nombre consola viene del punto de vista del mueble. En sistemas tipo Unix tty es tipo de fichero particular que implementa un número de de comandos adicionales (ioctls) más allá de lectura y escritura. Terminal es sinónimo de tty. Algunas ttys son proveídas por el kernel a favor de un dispositivo de hardware (como el teclado, modem y puertos seriales). Otras ttys, llamadas también seudo ttys, son proveídas por programas llamados terminal emulators, como son Xterm, Scree, SSH, etc.

Una consola generalmente es un terminal físicamente hablando, que hace referencia al primer terminal conectado a la compuradora. La cosola se le aparece al sistema operativo como un tty implementado por el kernel. En algunos sistemas como Linux y FreeBSD, la consola aparece como múltiples ttys (esas que accesamos con la combinación CTRL+Alt+F1, F2, etc. Solo para confundir, el nombre dado a cada tty en particular puede ser consola, consola virtual, terminal virtual, etc.



Un shell es la interfaz principal que los usuarios ven cuando se loguean, y cuyo propósito es iniciar otros programas. En sistemas Unix shell hace alusión a la línea de comandos, cuya finalidad es recibir nombre de aplicaciones y los ficheros sobre los cuales actúa la misma y presionar la tecla enter. Hay muchos tipos de shell Unix, pero los más comunes están basados en la sintaxis Bourne shell. Cuando se habla de shell programming, casi siempre el shell implicado se trata de uno tipo Bourne shell.



Bueno, el asunto es poco confuso para nostros que no somos de la generación que estuvo en contacto directo con sistemas en ambientes Unix. Pero al final las cosas quedan claras.


Terminal = TTY = Entorno de entrada y salida en texto (Xterm, Gnome-Terminal, etc.)
Consola = Terminal físico


Vía: Linux News | Fuente: Unix & Linux

No hay comentarios:

Publicar un comentario