Funciones del sistema operativo

Las funciones del sistema operativo abarcan todas las tareas de control, coordinación y administración que la plataforma de software debe realizar de manera continua para garantizar que el hardware funcione de forma óptima y que las aplicaciones de usuario se ejecuten de manera segura, concurrente y eficiente.

Desde la perspectiva de la administración de sistemas, el núcleo (kernel) del sistema operativo actúa como un árbitro neutral que reparte los recursos críticos del ordenador y protege la integridad de todo el entorno tecnológico.

Clasificación de las Funciones Principales del Sistema Operativo

Área de Gestión / Función Descripción y Propósito Principal
Gestión del Procesador (CPU) Controla el reparto del tiempo de cálculo del procesador entre los distintos procesos e hilos activos mediante algoritmos de planificación (scheduling).
Gestión de la Memoria Principal Administra dinámicamente qué bloques de memoria RAM están ocupados y cuáles están libres, protegiendo el espacio asignado a cada programa.
Gestión de Almacenamiento y Archivos Estructura la información en soportes secundarios mediante sistemas de archivos (como NTFS, EXT4, FAT32), controlando directorios, permisos y rutas.
Gestión de Dispositivos (E/S) Coordina la comunicación entre el sistema y los periféricos mediante el uso de controladores (drivers), gestionando colas de espera e interrupciones.
Seguridad y Control de Acceso Garantiza la autenticación de usuarios, la asignación de permisos sobre ficheros y recursos, y el aislamiento de los procesos en ejecución.

Mecanismos Internos de Operación

Para llevar a cabo estas funciones complejas, el sistema operativo se apoya en una serie de mecanismos estructurales fundamentales:

  • Interrupciones (Interrupts): Señales enviadas por el hardware o por el software al procesador para indicar que ha ocurrido un evento prioritario que requiere atención inmediata (ej. una pulsación de teclado, la llegada de un paquete de red o un error de división por cero).
  • Llamadas al Sistema (System Calls): La interfaz programática mediante la cual los programas de aplicación solicitan servicios privilegiados al núcleo (como leer de un disco o crear un socket).
  • Modos de Ejecución: La división estricta entre el Modo Usuario (restringido) y el Modo Núcleo o Kernel (privilegiado), fundamental para evitar que una aplicación corrompa el sistema.

Analogía: Imagina el equipo directivo y de operaciones de un gran hospital. El gerente general coordina los quirófanos (la CPU), asigna las habitaciones de los pacientes (la memoria RAM), administra el almacén de medicamentos y suministros (el sistema de archivos), y supervisa que el personal sanitario cumpla con los protocolos de seguridad. Sin esta coordinación centralizada, los médicos chocarían entre sí, los recursos se desperdiciarían y el hospital colapsaría en minutos.

Actividad práctica

Objetivo:

Monitorear las funciones del sistema operativo en tiempo real mediante la observación de los recursos gestionados por el núcleo (CPU, memoria, procesos y servicios).

Tareas:

  1. Abre el Administrador de tareas en Windows (Ctrl + Shift + Esc) o ejecuta la herramienta htop o top en la terminal de Linux.
  2. Examina la pestaña de Rendimiento o monitorización global para identificar los valores en tiempo real de:
    • Porcentaje de uso y velocidad de la CPU.
    • Porcentaje de ocupación de la memoria RAM y uso de memoria caché o virtual.
    • Actividad de lectura/escritura en los discos de almacenamiento.
  3. Observa la lista de procesos activos y comprueba cómo el sistema operativo prioriza las tareas del sistema frente a las aplicaciones del usuario.
  4. Identifica los servicios del sistema que se ejecutan en segundo plano sin intervención gráfica directa.

Preguntas de reflexión:

  1. ¿Por qué es indispensable que el sistema operativo gestione la memoria RAM de forma dinámica en lugar de dejar que las aplicaciones decidan libremente qué bloques ocupar?
  2. ¿Qué función crítica desempeñan las interrupciones de hardware para que el procesador no pierda tiempo valioso esperando a que un periférico lento (como un teclado o un disco duro) responda?
  3. ¿De qué manera el aislamiento de procesos impide que un error de segmentación o un fallo de memoria en una aplicación arrastre a la caída de todo el sistema operativo?
  4. ¿Qué diferencia operativa existe entre el modo usuario y el modo núcleo a la hora de ejecutar instrucciones de E/S directamente sobre los dispositivos físicos?
  5. ¿Por qué la función de planificación de la CPU (scheduling) es determinante para garantizar una experiencia interactiva fluida en un sistema operativo multitarea?
Haz clic aquí para ver las soluciones y explicaciones

1. ¿Por qué es indispensable que el sistema operativo gestione la memoria RAM de forma dinámica en lugar de dejar que las aplicaciones decidan libremente qué bloques ocupar?

Porque si las aplicaciones gestionaran la memoria de manera directa y sin control centralizado, chocarían entre sí, sobre escribirían datos ajenos, generarían fugas de memoria (memory leaks) y agotarían los recursos de forma caótica. El sistema operativo actúa como un regulador equitativo que asigna, protege y libera bloques de RAM según las necesidades reales de cada proceso activo.


2. ¿Qué función crítica desempeñan las interrupciones de hardware para que el procesador no pierda tiempo valioso esperando a que un periférico lento (como un teclado o un disco duro) responda?

Las interrupciones permiten que el procesador trabaje en tareas útiles a máxima velocidad. En lugar de interrogar constantemente al dispositivo para saber si hay datos listos (técnica de sondeo o polling), el procesador se dedica a ejecutar código y se detiene momentáneamente solo cuando recibe una señal eléctrica (interrupción) avisándole de que el periférico ha completado una acción, atendiéndola de inmediato mediante una rutina específica.


3. ¿De qué manera el aislamiento de procesos impide que un error de segmentación o un fallo de memoria en una aplicación arrastre a la caída de todo el sistema operativo?

El sistema operativo utiliza mecanismos de protección de memoria (como el direccionamiento virtual y la MMU del procesador) para asignar a cada proceso un espacio de direcciones lógicas privado y estanco. Si un programa intenta acceder a una posición de memoria prohibida o comete un error crítico, el sistema operativo detecta la infracción y aborta únicamente ese proceso infractor sin alterar el espacio de memoria de los demás programas ni del núcleo.


4. ¿Qué diferencia operativa existe entre el modo usuario y el modo núcleo a la hora de ejecutar instrucciones de E/S directamente sobre los dispositivos físicos?

En modo usuario, las aplicaciones tienen prohibido interactuar directamente con el hardware o los registros de E/S por razones de seguridad. Cuando una aplicación necesita leer un archivo o enviar datos por la red, debe realizar una llamada al sistema (system call) que fuerza un cambio seguro al modo núcleo, permitiendo que el sistema operativo ejecute la instrucción privilegiada en su nombre.


5. ¿Por qué la función de planificación de la CPU (scheduling) es determinante para garantizar una experiencia interactiva fluida en un sistema operativo multitarea?

Porque el procesador ejecuta las instrucciones de forma secuencial y a velocidades altísimas. El planificador se encarga de repartir milisegundos de CPU de manera alternada entre todos los programas abiertos (creando la ilusión de simultaneidad o multitarea), priorizando los procesos interactivos del usuario frente a tareas secundarias en segundo plano para evitar saltos o bloqueos perceptibles en la interfaz gráfica.