1. Núcleo: El núcleo del sistema operativo. Es el software de nivel más bajo que interactúa directamente con el hardware. Las funciones clave del núcleo incluyen:
* Gestión de procesos: Creación, programación y terminación de procesos.
* Gestión de memoria: Asignación y desacticación de la memoria a los procesos. Esto a menudo implica memoria virtual.
* Gestión del sistema de archivos: Organizar y acceder a archivos en dispositivos de almacenamiento.
* Administración de dispositivos: Interfactos con dispositivos de hardware como impresoras, teclados y discos duros (los controladores son una parte clave de esto).
* Comunicación entre procesos (IPC): Permitiendo que los procesos se comuniquen entre sí.
* Seguridad: Controlar el acceso a los recursos del sistema.
2. Utilidades del sistema: Estos son programas que ayudan a administrar y mantener el sistema. Los ejemplos incluyen:
* Gestores de archivos: (por ejemplo, Windows Explorer, Finder) para navegar y manipular archivos.
* Utilidades de disco: Herramientas para formatear, verificar y reparar discos.
* Utilidades de red: Herramientas para configurar y administrar conexiones de red.
* Monitores del sistema: Mostrar uso del sistema de recursos (CPU, memoria, E/S de disco).
* Copia de seguridad y restauración de utilidades: Para crear copias de seguridad y restaurar datos.
* Interpretadores de línea de comandos (conchas): Proporcione una interfaz basada en texto para interactuar con el sistema operativo (por ejemplo, Bash, CMD).
3. Bibliotecas del sistema: Colecciones de código preescritado que las aplicaciones pueden usar para realizar tareas comunes. Estos a menudo manejan interacciones de bajo nivel con el hardware o el sistema operativo.
4. API (interfaces de programación de aplicaciones): Estos proporcionan una forma para que las aplicaciones interactúen con el sistema operativo y sus recursos. Actúan como intermediario, ocultando las complejidades del sistema subyacente.
5. Controladores de dispositivos: Software que permite que el sistema operativo se comunique con dispositivos de hardware específicos. Cada dispositivo (impresora, tarjeta gráfica, etc.) generalmente necesita su propio controlador.
6. Interfaz de usuario (UI): La forma en que un usuario interactúa con el sistema operativo. Esto puede ser:
* Interfaz de línea de comandos (CLI): Una interfaz basada en texto.
* Interfaz gráfica de usuario (GUI): Una interfaz visual con Windows, iconos y menús.
Es importante tener en cuenta que los componentes exactos y su implementación varían significativamente entre los diferentes sistemas operativos (Windows, MacOS, Linux, etc.). Sin embargo, los roles fundamentales descritos anteriormente son comunes a la mayoría.