Tiempo estimado: 50 min | Nivel: Intermedio

Tema 4: Gestión de Procesos en Sistemas Operativos

Comprendiendo cómo los sistemas operativos administran y optimizan la ejecución de programas

Objetivos del Tema

Objetivo General

Identificar los diferentes tipos de procesos y comprender cómo el sistema operativo los administra

Objetivos Específicos

1. Diferenciar tipos de procesos
2. Comprender creación y eliminación
3. Explicar jerarquía padre/hijo
4. Analizar asignación de recursos
5. Relacionar gestión con rendimiento

Aplicación Práctica

Monitorear procesos en Administrador de Tareas (Windows) o top (Linux) para optimizar rendimiento del sistema

1 ¿Qué es un Proceso?

Definición Clave

Un proceso es una instancia de un programa en ejecución, con su propio espacio de memoria y contexto, que requiere CPU, memoria y otros recursos del sistema.

El sistema operativo gestiona múltiples procesos simultáneamente mediante la multitarea, permitiendo la ejecución concurrente de aplicaciones.

Ejemplo Práctico

Dos ventanas de Google Chrome corresponden a dos procesos diferentes, cada uno con memoria independiente

Ciclo de Vida

Nuevo → Listo → Ejecución → Bloqueado → Terminado

Ciclo de Vida de un Proceso
Nuevo

Creación

Listo

Espera CPU

Ejecución

CPU en uso

Bloqueado

Espera recurso

Terminado

Finaliza

2 Tipos de Procesos

Independientes vs. Interdependientes
Independientes

No dependen de otros procesos

No comparten recursos con otros procesos. Ejemplo: Editar un documento en Word sin conexión.

Interdependientes

Comparten recursos e información

Se comunican entre sí. Ejemplo: Navegador web que interactúa con gestor de descargas.

Usuario vs. Sistema
Procesos de Usuario

Iniciados por aplicaciones del usuario

  • Word, Excel, Spotify
  • Aplicaciones del usuario
  • Pueden cerrarse sin afectar sistema
  • Prioridad variable
Procesos del Sistema

Iniciados por el SO para funcionamiento

  • init (Linux)
  • winlogon.exe (Windows)
  • Críticos para sistema
  • Alta prioridad
Primer Plano vs. Segundo Plano
Primer Plano

Requieren interacción directa del usuario. Ejemplo: Ventana activa de Word.

Segundo Plano

Se ejecutan sin intervención directa. Ejemplo: Antivirus en escaneo programado.

Servicios

Ejecución continua en segundo plano. Ejemplo: Servicio de impresión.

3 Gestión de Procesos por el Sistema Operativo

Creación y Eliminación de Procesos
Creación

Llamadas al sistema:

  • UNIX/Linux: fork()
  • Windows: CreateProcess()
  • Ejemplo: Al abrir terminal en Linux se crea proceso hijo de bash
Eliminación

Tipos de finalización:

  • Voluntaria: Usuario cierra aplicación
  • Forzada: SO finaliza proceso (ej. aplicación congelada)
  • Comando kill en Linux, Finalizar tarea en Windows
Jerarquía de Procesos (Padre e Hijo)
Proceso Padre

Proceso que genera otro

Proceso Hijo

Proceso creado por el padre

Ejemplo: En Linux: init → genera systemd → genera otros procesos

Importancia de la Asignación de Recursos
CPU

Scheduler (Planificador) asigna tiempo de ejecución a cada proceso

Memoria

Se gestiona con segmentación y paginación

E/S

Acceso a discos, red y periféricos mediante colas de espera

Ejemplo aplicado: Un videojuego requiere más CPU y GPU que un procesador de texto. El SO prioriza recursos según necesidades.

Preguntas de Comprensión (Parte Teórica)

1

¿Cuál es la diferencia principal entre un proceso independiente y uno interdependiente?

2

¿Qué diferencia a un proceso de usuario de un proceso del sistema?

3

¿Qué tipo de proceso es un antivirus en ejecución programada?

4

¿Qué sucede si se finaliza un proceso crítico del sistema operativo?

5

¿Por qué es importante el planificador de procesos en la CPU?

6

Explica las etapas del ciclo de vida de un proceso

7

¿Cómo se crea un proceso en Linux y en Windows?

8

¿Qué es PID y para qué se utiliza?

Actividad Evaluativa Práctica

Realiza la siguiente actividad práctica para aplicar los conceptos aprendidos sobre gestión de procesos:

Parte 1 - Ejercicio Práctico
  • Abre múltiples aplicaciones en Windows o Linux
  • Usa el Administrador de Tareas (Windows) o el comando top (Linux)
  • Identifica y clasifica los siguientes procesos:
    1. Procesos de usuario (aplicaciones abiertas por ti)
    2. Procesos en segundo plano (servicios del sistema)
    3. Procesos críticos que no pueden finalizarse (del sistema operativo)
Parte 2 - Análisis y Reporte

Responde las siguientes preguntas en un documento:

  1. ¿Qué ocurre con el rendimiento del sistema al abrir demasiados procesos?
  2. ¿Cómo afecta la cantidad de procesos a la memoria RAM disponible?
  3. ¿Qué diferencia observas entre procesos de usuario y del sistema?
  4. ¿Qué sucede cuando intentas finalizar un proceso crítico del sistema?
Criterios de evaluación (20 puntos):
5

Correcta identificación y clasificación de procesos

5

Análisis preciso del impacto en rendimiento

5

Respuestas completas a preguntas teóricas

5

Conclusiones y aprendizajes personales

Entrega:

Documento con respuestas y capturas de pantalla antes de la próxima sesión.

Material de Estudio

PDF del tema

Documentación completa sobre Gestión de Procesos

Guía de estudio

Resumen y ejercicios prácticos

Video explicativo

Demostración de gestión de procesos

Plantilla de análisis

Para la actividad práctica

Información del Tema

Docente

Ing. Eduardo Rueda F.

Unidad

Unidad 2: Gestión de Procesos

Universidad

Universidad de Pamplona

Programa

Ingeniería de Sistemas


Glosario de Términos
Proceso

Programa en ejecución con su propio espacio de memoria y contexto

PID

Process Identifier - Identificador único del proceso en el sistema

Scheduler

Planificador de CPU que asigna tiempo de ejecución a procesos

Multitarea

Capacidad del SO de ejecutar múltiples procesos simultáneamente

Foreground/Background

Procesos visibles (primer plano) y ocultos (segundo plano) para el usuario

Proceso Padre/Hijo

Relación jerárquica donde un proceso crea otro proceso


Herramientas Recomendadas