RH-133 – 1 Administrative Access

Me ha costado encontrar y sintetizar documentación acerca de las terminales, pero creo que ha merecido la pena. En una máquina Unix/Linux siempre se habla de las terminales y las consolas pero vamos a ver qué son y qué tipos hay. En nuestro manual RH-133 se no clasifica las terminales en :

  • Physical Console ( Consolas Físicas ) : /dev/tty0 o /dev/fb0 ( si usamos framebuffer )
  • Virtual Console ( Consola Virtual ) : /dev/tty1 .. /dev/ttyN ( ctrl + alt + fN o /usr/bin/chvt para cambiar de terminal )
  • Serial Console ( Consola Serie ) : /dev/ttyS0 ..  /dev/ttySN ( Xen /dev/xvc0 )
  • System Console ( Consola del sistema ) : /dev/console mapeada por el kernel a /dev/tty0 o /dev/fb0
  • Pseudoterminal o pty ( /dev/pts/N ).

Resumiendo mucho la historia, hay que saber que TTY significa TeleTYpe. Antes de la llegada de las computadoras, se usaban teletipos para comunicar datos a larga distancia. Cuando llegaron los computadores se usaron los teletipos ( TTY ) para interactuar con las computadoras. Dado que llevaban tiempo en el mercado y estaban disponibles, se comenzaron a usar sin necesidad de diseñar nada especifico para la entrada y salida de datos. Este terminal se llamo en los sistemas Unix/Linux Physical Console ( /dev/tty0 ). Con los teletipos se mandaban comandos al computador y este envíaba la respuesta que imprimía en papel. El uso de estos teletipos hace comprender la existencia de funciones y teclas que se mantienen sin ser muy útiles hoy en día. Por ejemplo fijaos en este teclado, con la tecla de ‘ line feed ‘ a la derecha

Bien, para ampliar el posible uso del computador, se comenzaron a enchufar terminales como los famosos VT-100 mediante puertos serie, lo que llamamos en el manual Serial Console ( /dev/ttyS0 ). Usando puertos serie podían tener otros terminales conectados al mismo computador, con lo que posibilitaba que hubiera más gente trabajando en la máquina.

Todos estos conceptos o la gran mayoría se han conservado en cierta medida, pero el hardware ha evolucionado. Ahora llamamos Physical Console ( /dev/tty0 ) al teclado, monitor y ratón. Si nos logeamos en un equipo, tendremos o /dev/tty1 que es una consola virtual. Pues bien, lo que se hace es enlazar el /dev/tty0 con la consola actual y así podemos recibir los mensajes del sistema.

La diferencia de las consolas virtuales es que no están conectadas a ningún conector, la consola física o la serie, están conectadas físicamente a la máquina pero las demás no. Cada ventana con un xterm o un ssh a una máquina nos da una consola virtual que no está fisicamente conectada a nada, ni tiene IRQ ni IO Address.

Además, tenemos /dev/console que el kernel mapea a /dev/tty0 por defecto pero se puede mapear a otro dispositivo usando el parámetro del kernel console=ttys0 . Se usa /dev/console para unificar en envío de mensajes de sistema, mensajes de arranque, el login, etc…  Por ejemplo el demonio init envía los mensajes del arranque a /dev/console y como está enlazado a /dev/ttyS0 vemos como arranca la máquina.

Para acabar las pseudoterminales o pts, son las referidas a terminales emuladas como xterm, gnome-terminal, etc.. son emulaciones de terminales serie como el vt-100.

Todo este concepto de las terminales es importante para comprender por qué existen los señales, procesos en background, foreground, etc…

Lecturas obligadas:
http://www.linusakesson.net/programming/tty/index.php
http://www.educ.umu.se/~bjorn/linux/howto/Text-Terminal-HOWTO-9.html

Referencias:
http://www.faqs.org/docs/Linux-HOWTO/Remote-Serial-Console-HOWTO.html
http://www.vanemery.com/Linux/Serial/serial-console.html

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.