Qué es Unix y cómo funciona este sistema
Autor: Redacción Domeny.ForSale Publicado
En pocas palabras: Unix es un sistema operativo creado en Bell Labs cuyas soluciones sentaron las bases de toda una familia de sistemas e influyeron en muchos otros. Se diseñó para que varios usuarios pudieran trabajar y ejecutar múltiples tareas a la vez. Linux es un sistema de tipo Unix, no simplemente otro nombre para Unix; macOS tiene fundamentos Unix, y determinadas versiones y configuraciones han obtenido la certificación UNIX.
¿Qué es Unix y cómo surgió?
Un sistema operativo es el software que gestiona el hardware y permite ejecutar programas. Les asigna memoria y tiempo de procesador, gestiona los archivos y controla el acceso a los recursos. Unix cumple precisamente esa función: no es un lenguaje de programación ni una aplicación independiente.
Sus orígenes se remontan a finales de los años 60 del siglo XX y al trabajo realizado en Bell Labs. Entre sus principales creadores estuvieron Ken Thompson y Dennis Ritchie. Reescribir gran parte del sistema en el lenguaje C facilitó su adaptación a distintos ordenadores, en lugar de tener que crear cada versión casi desde cero para un hardware concreto.
Con el tiempo surgieron distintas variantes de Unix. Por eso, hoy la palabra «Unix» puede referirse al sistema histórico, a una familia de sistemas o a un conjunto de principios característicos de su funcionamiento. No debe entenderse como el nombre de un único producto que siempre tenga el mismo aspecto y funcione de manera idéntica.
¿Cómo funciona un sistema Unix?
El elemento central del sistema es el núcleo, la parte que gestiona el procesador, la memoria, los dispositivos y los procesos. Un proceso es un programa en ejecución junto con los recursos necesarios para funcionar. Alrededor del núcleo hay utilidades, servicios e interfaces que utiliza el usuario.
Los sistemas Unix se caracterizan por:
- Multitarea: varios procesos pueden ejecutarse de forma concurrente, por ejemplo, un servidor WWW, una base de datos y un editor de texto.
- Multiusuario: varios usuarios pueden utilizar el mismo sistema, también mediante conexiones remotas.
- Sistema de archivos jerárquico: los directorios forman un único árbol que comienza en
/, el directorio raíz. - Permisos: el acceso a los archivos y directorios se controla, entre otros mecanismos, mediante los permisos del propietario, del grupo y del resto de los usuarios.
Por ejemplo, en el servidor de una empresa, la cuenta de una aplicación puede tener permiso para escribir en el directorio de documentos recibidos, pero no para modificar los archivos del sistema. Esta separación limita las consecuencias de un error o de que un atacante tome el control de la aplicación. Sin embargo, los permisos por sí solos no garantizan una seguridad completa: también hacen falta actualizaciones y una configuración correcta.
Unix también se asocia con el principio de crear pequeñas herramientas que realizan tareas concretas y pueden trabajar juntas. En lugar de un único programa complejo, se pueden combinar varios más sencillos, pasando el resultado de uno al siguiente.
Unix, Linux y macOS: diferencias principales
UNIX también es una marca registrada vinculada a la certificación que lleva a cabo The Open Group. Esta certificación confirma que un producto concreto cumple los requisitos del estándar. Un funcionamiento similar o un parentesco histórico no bastan para considerar automáticamente que un sistema es un UNIX certificado.
| Nombre | ¿Qué significa en la práctica? |
|---|---|
| Unix / UNIX | El sistema histórico y su familia; en el contexto de la certificación, un sistema que cumple los requisitos del estándar correspondiente. |
| Linux | En sentido estricto, el núcleo del sistema. En el uso habitual, un sistema operativo con ese núcleo, distribuido como una distribución, por ejemplo, Debian o Ubuntu. |
| macOS | El sistema de Apple, con fundamentos Unix e interfaz gráfica; la certificación se aplica a versiones y configuraciones concretas. |
| FreeBSD | Un sistema de tipo Unix que procede de la rama BSD y es independiente de Linux. |
Linux se creó de forma independiente del núcleo original de Unix, pero sigue su modelo de funcionamiento. Por eso, muchos comandos y conocimientos se pueden aplicar en Linux, macOS y otros sistemas de tipo Unix. Esto no significa que sean completamente intercambiables: pueden variar las opciones de las herramientas, la gestión de servicios, la instalación de paquetes y las aplicaciones compatibles.
Si la certificación es un requisito de compra o del proyecto, conviene comprobar la versión y la plataforma concretas en el registro oficial de The Open Group, en lugar de guiarse por el nombre general del sistema.
¿Unix implica trabajar solo en el terminal?
No. Un sistema Unix puede tener un entorno gráfico; macOS es un ejemplo cotidiano de ello. El terminal es una aplicación que da acceso a una interfaz de texto, mientras que el intérprete de comandos, como Bash o Zsh, interpreta los comandos introducidos. El terminal, el intérprete de comandos y el sistema operativo son elementos distintos.
Por ejemplo, en un entorno Unix habitual, el comando:
ls /etc
muestra los nombres de los archivos y directorios visibles en /etc, donde suelen encontrarse los ajustes del sistema y de los servicios. El comando en sí no modifica esos archivos.
También se pueden conectar herramientas mediante una tubería, representada por el símbolo |:
printf 'gato\nperro\ngato\n' | sort | uniq
El primer comando genera tres líneas de texto, sort las ordena y uniq elimina las repeticiones consecutivas. El resultado son dos líneas: gato y perro. Es un ejemplo sencillo del principio de Unix de combinar pequeños programas para que trabajen juntos.
¿Para qué aprender Unix?
Conocer el modelo de Unix ayuda a administrar servidores, programar, automatizar tareas y trabajar con servicios en la nube. También resulta útil para quien tiene una web y utiliza un alojamiento basado en Linux: facilita la comprensión de las rutas, los permisos y los comandos ejecutados mediante SSH, una conexión remota cifrada.
Para aprender no necesitas un Unix comercial. Puedes utilizar el terminal de macOS, una distribución de Linux en una máquina virtual o un entorno Linux en Windows mediante WSL. Empieza por desplazarte entre directorios y crear archivos en un directorio separado para practicar, sin permisos de administrador.
Consulta también: ¿Qué es Linux?
