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 le daré respuesta. Los términos shell, consola y terminal son conceptos un tanto antiguos pero 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.
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í.
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 una 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 shell 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 Consola 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.
Excelente, explicación
ResponderBorrarmuchas gracias
¡Saludos cordiales!
Borrarmuy buen aporte!
ResponderBorrarGracias por tu comentario Alberto. ¡Saludos!
Borrarexcelente aporte muy bien explicado
ResponderBorrar¡Saludos cordiales Juan Carlos!
BorrarGracias me fue de mucha utilidad.
ResponderBorrarSegú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.
Así es Paul. ¡Saludos cordiales!
BorrarSiempre es bueno aprender algo nuevo cada día. Me siento menos ignorante :) gracias!
ResponderBorrar¡Saludos cordiales!
Borrar