La arquitectura Unix es una arquitectura de sistema operativo que encarna la filosofía Unix . Puede adherirse a estándares como la Especificación Única de UNIX (SUS) o estándares POSIX IEEE similares . No existe un estándar publicado que describa todos los sistemas operativos con arquitectura Unix; esto se debe, en parte, a las controversias surgidas durante la época de Unix .
Descripción
Existen numerosos sistemas con arquitectura similar a Unix . Entre ellos destacan las distribuciones de Linux . Las diferencias entre sistemas Unix y sistemas similares a Unix han sido objeto de acaloradas batallas legales , y los propietarios de la marca UNIX, The Open Group , se oponen al uso de términos como "similar a Unix".
Para conocer las diferencias entre las arquitecturas UNIX de la marca SUS y otras arquitecturas similares, consulte Arquitecturas tipo Unix .
Núcleo
Un núcleo Unix —el núcleo o los componentes clave del sistema operativo— consta de muchos subsistemas, como la gestión de procesos , la planificación , la gestión de archivos, la gestión de dispositivos, la gestión de redes , la gestión de memoria y el manejo de interrupciones de dispositivos de hardware.
Cada uno de los subsistemas tiene algunas características:
- Concurrencia : Dado que Unix es un sistema operativo multiprocesador , muchos procesos se ejecutan simultáneamente para mejorar el rendimiento del sistema.
- Memoria virtual (VM): El subsistema de gestión de memoria implementa el concepto de memoria virtual y los usuarios no tienen que preocuparse por el tamaño del programa ejecutable ni por el tamaño de la RAM .
- Paginación : Es una técnica para minimizar la fragmentación interna y externa en la memoria física.
- Sistema de archivos virtual (VFS): Un VFS es un sistema de archivos que ayuda al usuario a ocultar las complejidades de los diferentes sistemas de archivos. Un usuario puede utilizar las mismas llamadas estándar relacionadas con los sistemas de archivos para acceder a diferentes sistemas de archivos.
El núcleo proporciona estos y otros servicios básicos: manejo de interrupciones y trampas, separación entre el espacio de usuario y el espacio del sistema, llamadas al sistema , planificación , manejo de temporizadores y relojes, y gestión de descriptores de archivos .
Características
Algunas características clave de los sistemas Unix son:
- Los sistemas Unix utilizan un núcleo de sistema operativo centralizado que gestiona las actividades del sistema y de los procesos.
- Todo el software que no pertenece al núcleo está organizado en procesos separados, gestionados por el núcleo.
- Los sistemas Unix admiten multitarea preventiva : varios procesos pueden ejecutarse simultáneamente, o en intervalos de tiempo reducidos y casi al mismo tiempo, y cualquier proceso puede ser interrumpido y retirado de la ejecución por el núcleo. Esto se conoce como gestión de hilos .
- Los sistemas Unix admiten múltiples cuentas de usuario y permiten que varios usuarios inicien sesión en el sistema simultáneamente.
- Los archivos se almacenan en el disco en un sistema de archivos jerárquico , con una única ubicación superior en todo el sistema ( raíz o "/"), con archivos y directorios, subdirectorios, sub-subdirectorios, etc., debajo de ella.
- Salvo contadas excepciones, los dispositivos y algunos tipos de comunicación entre procesos se gestionan y visualizan como archivos o pseudoarchivos dentro de la jerarquía del sistema de archivos. Algunas fuentes de información del sistema también pueden ser visibles como pseudoarchivos. Esto se conoce como « todo es un archivo» . Sin embargo, Linus Torvalds afirma que esto es inexacto y que sería mejor reformularlo como «todo es un flujo de bytes». [ 1 ]
El sistema operativo UNIX admite las siguientes características y capacidades:
Crítica
El manual UNIX-HATERS aborda algunas de estas características de diseño como fallos desde el punto de vista del usuario. Sin embargo, aunque parte de la información está bastante desactualizada y no se puede aplicar a los sistemas Unix modernos ni a sistemas operativos similares como Linux , Eric S. Raymond descubrió que varios problemas persisten, mientras que otros se han resuelto. Raymond concluye que no todos los conceptos de Unix pueden considerarse disfuncionales, aunque la intención del libro haya sido presentar a Unix como inferior sin fomentar el diálogo con los desarrolladores para solucionar los problemas. [ 2 ]
Véase también
Referencias
- Sistemas operativos por arquitectura
- Unix
- Arquitectura de computadoras