<aside>
💡
Software que actúa como intermediario y dominante entre los usuarios y el hardware de una computadora. Gestiona los recursos del sistema y proporciona un entorno para que las aplicaciones puedan ejecutarse eficientemente.
</aside>
- Son fundamentales para garantizar el correcto funcionamiento y rendimiento de cualquier sistema computacional.
- Posee una serie de procesos encargados de administrar los diferentes componentes como: la CPU, memoria y dispositivos de I/O).

Funciones principales del sistema operativo
- Gestión de procesos: Coordina la ejecución de programas y asigna recursos.
- Gestión de memoria: Administra la memoria RAM, asignándola y liberándola según las necesidades de las aplicaciones.
- Gestión de almacenamiento: Controla el acceso a sistemas de archivos y dispositivos de almacenamiento.
- Gestión de dispositivos: Facilita la comunicación entre el hardware y el software a través de controladores (drivers).
- Gestión de usuarios: Administra permisos y perfiles de los usuarios.
- Interfaz de usuario: Proporciona una manera de interactuar con el sistema, ya sea mediante líneas de comandos (CLI) o interfaces gráficas (GUI).
Clasificación de los Sistemas Operativos
- Según su propósito
- De propósito general: Diseñados para ejecutar una amplia gama de aplicaciones. Ejemplo: Windows, macOS, Linux.
- De propósito específico: Diseñados para tareas concretas, como sistemas empotrados en electrodomésticos o automóviles.
- Según su estructura
- Monolíticos: Todo el sistema operativo se ejecuta como un solo programa en modo kernel. Ejemplo: versiones iniciales de UNIX.
- Microkernel: El núcleo contiene solo las funciones esenciales, y el resto se implementa como procesos de usuario. Ejemplo: Minix, QNX.
- Híbridos: Combinan características de los monolíticos y microkernels. Ejemplo: Windows NT, macOS.
- Según su interfaz de usuario
- Basados en línea de comandos (CLI): Requieren que el usuario interactúe mediante comandos. Ejemplo: MS-DOS, terminal de Linux.
- Basados en interfaces gráficas (GUI): Utilizan elementos visuales como ventanas e iconos. Ejemplo: Windows, macOS.
- Según su capacidad de tareas
- Monotarea: Permiten ejecutar un solo programa a la vez. Ejemplo: MS-DOS.
- Multitarea: Soportan la ejecución de múltiples tareas simultáneamente. Ejemplo: Linux.
- Según su capacidad de usuarios
- Monousuario: Diseñados para ser utilizados por un solo usuario a la vez. Ejemplo: versiones antiguas de macOS.
- Multiusuario: Permiten que múltiples usuarios accedan y utilicen los recursos del sistema simultáneamente. Ejemplo: UNIX.
- Según su ubicación
- De escritorio: Diseñados para computadoras personales. Ejemplo: Windows, macOS.
- Empotrados: Usados en dispositivos especializados como televisores, cámaras o vehículos. Ejemplo: FreeRTOS.
- De servidor: Optimizados para manejar múltiples conexiones simultáneas y altas cargas de trabajo. Ejemplo: Windows Server, CentOS.
- De tiempo real: Responden rápidamente a eventos del entorno, con tiempos de respuesta garantizados. Ejemplo: VxWorks, RTLinux.
- Según su diseño y filosofía
- Abiertos: Permiten acceso al código fuente, como Linux.
- Cerrados: Su código fuente no está disponible al público. Ejemplo: Windows, iOS.