UNIX es un potente sistema operativo desarrollado inicialmente por Ken Thompson y Dennis Ritchie en los laboratorios AT&T Bell en 1970. Prevalece entre las instituciones científicas, de ingeniería y académicas debido a sus características más apreciadas, como la multitarea, la flexibilidad y muchas más. En UNIX, el sistema de archivos es una estructura jerárquica de archivos y directorios donde los usuarios pueden almacenar y recuperar información utilizando los archivos.
Características del sistema operativo UNIX:
Analicemos las características del sistema operativo UNIX una por una en detalle.
Multitarea: Un sistema operativo UNIX es un sistema operativo multitarea que le permite iniciar más de una tarea desde el mismo terminal para que una tarea se realice en primer plano y la otra como proceso en segundo plano.
Multi usuario: El sistema operativo UNIX admite que más de un usuario acceda a los recursos de la computadora, como la memoria principal, el disco duro, las unidades de cinta, etc. Varios usuarios pueden iniciar sesión en el sistema desde diferentes terminales y ejecutar diferentes trabajos que comparten los recursos de una terminal de comando. Se trata del principio de tiempo compartido. El tiempo compartido lo realiza un programador que divide el tiempo de la CPU en varios segmentos, también llamados intervalos de tiempo, y cada segmento se asigna a cada usuario de forma programada. Esta porción de tiempo es pequeña. Cuando expira este tiempo, pasa el control al siguiente usuario en el sistema. Cada usuario ejecuta su conjunto de instrucciones dentro de su intervalo de tiempo.
Portabilidad: Esta característica hace que UNIX funcione en diferentes máquinas y plataformas con la fácil transferencia de código a cualquier sistema informático. Dado que una parte importante de UNIX está escrita en lenguaje C, y sólo una pequeña parte está codificada en lenguaje ensamblador para hardware específico.
Seguridad y protección de archivos: Al ser un sistema multiusuario, UNIX presta especial atención a la seguridad de archivos y sistemas. UNIX tiene diferentes niveles de seguridad mediante la asignación de nombre de usuario y contraseña a usuarios individuales que garantizan la autenticación, en el nivel que proporciona permiso de acceso a archivos, a saber. leer, escribir y ejecutar y, por último, cifrar archivos para cambiar el archivo a un formato ilegible.
Estructura de mando: Los comandos UNIX son fáciles de entender y fáciles de usar. Ejemplo: 'cp', mv, etc. Mientras se trabaja en el entorno UNIX, los comandos UNIX distinguen entre mayúsculas y minúsculas y se ingresan en minúsculas.
Comunicación: En UNIX, la comunicación es una característica excelente que permite al usuario comunicarse en todo el mundo. Admite diversas funciones de comunicación proporcionadas mediante el comando de escritura, el comando de correo, el comando de conversación, etc.
Fuente abierta: El sistema operativo UNIX es de código abierto, lo que significa que está disponible gratuitamente para todos y es un proyecto de desarrollo basado en la comunidad.
Contabilidad: UNIX mantiene una cuenta de los trabajos creados por el usuario. Esta característica mejora el rendimiento del sistema en términos de monitoreo de la CPU y verificación del espacio en disco. Le permite mantener una cuenta del espacio en disco utilizado por cada usuario, y el espacio en disco puede ser limitado entre sí. Puede asignar a cada usuario una cuota de disco diferente. El usuario root puede realizar estas tareas de contabilidad utilizando varios comandos como cuota, df, du, etc.
Herramientas y utilidades UNIX: El sistema UNIX proporciona varios tipos de herramientas y utilidades como UNIX grep, sed y awk, etc. Algunas de las herramientas de propósito general son compiladores, intérpretes, aplicaciones de red, etc. También incluye varios programas de servidor que brindan servicios remotos y de administración. .
La estructura de las capas del sistema operativo Unix es la siguiente:
Mientras se trabaja con el sistema operativo UNIX, varias capas de este sistema proporcionan interacción entre el hardware de la PC y el usuario. A continuación se muestra la descripción de todas y cada una de las estructuras de capas en el sistema UNIX:
Capa-1: Hardware -
Esta capa de UNIX consta de toda la información relacionada con el hardware en el entorno UNIX.
Capa-2: Núcleo -
El núcleo del sistema operativo responsable de mantener la funcionalidad completa se denomina núcleo. El kernel de UNIX se ejecuta en el hardware de la máquina particular e interactúa con el hardware de manera efectiva.
También funciona como administrador de dispositivos y realiza funciones valiosas para los procesos que requieren acceso a los dispositivos periféricos conectados a la computadora. El kernel controla estos dispositivos a través de controladores de dispositivo.
El kernel también gestiona la memoria. Los procesos son programas ejecutados que tienen propietarios humanos o sistemas que inician su ejecución.
El sistema debe proporcionar a todos los procesos acceso a una cantidad adecuada de memoria, y algunos procesos requieren mucha memoria. Hacer un uso eficaz de la memoria principal y asignar una cantidad suficiente de memoria a cada proceso. Utiliza técnicas esenciales como paginación, intercambio y almacenamiento virtual.
Capa 3: El caparazón -
El Shell es un intérprete que interpreta el comando enviado por el usuario en la terminal y llama al programa que simplemente desea.
También mantiene un historial de la lista de comandos que ha escrito. Si necesita repetir un comando que escribió, use las teclas del cursor para desplazarse hacia arriba y hacia abajo en la lista o escriba historial para obtener una lista de comandos anteriores. Hay varios comandos como cat, mv, cat, grep, id, wc y muchos más.
Tipos de Shell en el sistema UNIX:
Capa-4: Capa de programas de aplicación -
Es la capa más externa que ejecuta las aplicaciones externas dadas. Las distribuciones UNIX normalmente vienen con varios programas de aplicaciones útiles como estándar. Por ejemplo: editor emacs, StarOffice, visor de imágenes xv, compilador g++, etc.