martes, 21 de febrero de 2017

¿Cuál es la diferencia entre Shell, consola y terminal?

Quizás esta pregunta puede sonar como una mala broma o una buena si estás de buen humor, pero es en realidad una pregunta válida, a la cual se dará respuesta. Los términos Shell, consola y terminal son conceptos un tanto antiguos que muy utilizados en nuestros días.


A medida que la tecnología avanza, muchos conceptos pierden su significado original. Las palabras pueden “adaptarse” a la época, y de esta manera comparten el mismo significado con objetos o cosas a las cuales se les asignó originalmente.  En ocasiones se mezclan diversos dispositivos tecnológicos en un solo lugar sin delimitar sus significados. Algo similar ocurre con la shell, la consola y la terminal.

Desde hace muchos años, el router inalámbrico ha sido la columna vertebral de la conectividad a Internet en los hogares y pequeñas oficinas. Sin embargo, muchas personas no se dan cuenta (a excepción de los técnicamente astutos) que el dispositivo se compone realmente de varios dispositivos que antes eran independientes entre sí.

¿Cuál es la diferencia entre Shell, consola y terminal?

Un router inalámbrico típico, o incluso el más barato entre los baratos, contiene un punto de acceso inalámbrico, un switch Ethernet, un router, un firewall, un servidor DNS, un servidor DHCP, entre otros. Y muchas personas nos referimos a este como un modem o simplemente como un router. No obstante, técnicamente no es así, no se logra ubicar cada cosa en su lugar. (Este es un buen ejemplo, y no es el tema del post).


La Shell, la terminal y la consola - ¿En qué se diferencian?
Cualquier usuario que haya tratado de realizar configuraciones avanzadas a su computadora con Windows u OS X, ha tenido contacto con la interfaz de línea de comandos. ¿Cómo se llama esto? ¿Shell?, ¿Consola?, ¿Terminal? ¿A quién le importa? Al final significan lo mismo, ¿Verdad? La respuesta es sí y no. Al igual que el router inalámbrico, estos términos solían (y técnicamente lo siguen siendo) ser diferentes, a pesar de que las palabras pueden compartir su significado.

¿Qué es una terminal?
Para entender lo que es un terminal, tenemos que volver a los días de los mainframe. Las computadoras centrales eran ordenadores con muchos usuarios. Eran comunes en las grandes empresas y en los campus universitarios. Pero cuando se tiene decenas de personas que desean utilizar un ordenador al mismo tiempo, ¿cómo hacer para compartirlo? En palabras actuales, queremos dar a cada usuario un monitor, un teclado y un mouse. En la era de las mainframe se utilizaron terminales. Un “terminal”, según la definición de los diccionarios, es o bien el final de algo o un punto de contacto, a veces ambos. Las computadoras centrales tenían estaciones terminales equipadas con una pantalla y un teclado. Esto para que los usuario pudieran acceder a las mainframe.

¿Qué es una consola?
Hoy en día, las consolas pueden ser completamente en software, pero no siempre fue el caso. Las consolas van de la mano con las terminales. Con respecto a un mainframe, una consola era a la vez el puerto y la conexión digital a la unidad central del sistema operativo de la terminal. Una definición más amplia de una consola es un escritorio o la interfaz desde la que un sistema se controla y/o monitorea. La terminal se conecta físicamente al puerto de la consola en la unidad central de manera que el usuario puede controlar la mainframe. En un sistema Linux puedes pulsar <ctrl> + <alt> + <F1 | F2 | F3 | ...> Para acceder a las diferentes consolas. Muchos sistemas todavía tienen puertos de consola basada en administración, tales como equipos de red profesional.

¿Qué es una Shell?
El nombre Shell puede sonar divertido, pero “Kernel” puede ser aún más divertido. La Shell es la pieza que envuelve al kernel. En las computadoras no hay diferencia. La shell es la interfaz de línea de comandos con la que interactúas. Los ejemplos de Shell son BASH, CSH, y ZSH. La cáscara toma comandos escritos a mano y le dice al sistema operativo que debe ejecutarlos, o puede tomar secuencias de comandos e interpretar la lógica dentro de ellos, además da instrucciones al sistema operativo para ejecutar los comandos contenidos en el script.

Shell vs Console vs Terminal
Así que, ¿cuál es la diferencia real entre la Shell, la consola y la terminal? La terminal se conecta a la consola en donde se puede utilizar la Shell. Es bastante simple, ¿no crees?
Con el tiempo, muchas palabras en la tecnología han sido víctimas de generalización, que tiende a ocultar una rica y aventurera historia de innovación y evolución.

¿Tienes algo que aportar? Deja tu comentario. Hazme el favor de compartir el post en las redes sociales.

Fuente: Fossbytes

9 comentarios:

  1. Excelente, explicación
    muchas gracias

    ResponderEliminar
  2. Gracias me fue de mucha utilidad.

    Según entendí:

    Terminal, dispositivo físico para usuarios de mainframe.
    Consola, puerto donde se conecta el terminal, además de proporcionar interfaz grafica.
    Shell, interpreta los comandos ingresados mediante terminal y la información la muestra en la consola.

    ResponderEliminar
  3. Siempre es bueno aprender algo nuevo cada día. Me siento menos ignorante :) gracias!

    ResponderEliminar

Tu opinión es importante para mí, porque me ayuda a mejorar. Si te gustó el articulo o tienes alguna sugerencia, déjame tu comentario con tu nombre para poder responderte tan pronto como pueda.