Archivo de la etiqueta: threads

Fundamentos de Sistemas Operativos: Concurrencia, Procesos y Threads

Detección de interbloqueo (Deadlock)

  • sem_wait(): bloquea si el valor es 0.
  • sem_post(): incrementa el valor o despierta a un proceso.
  • Si todos esperan y nadie ejecuta post, se produce un deadlock.
  • Recomendación: leer los procesos en paralelo, no uno entero y luego otro.

Mutex e interbloqueo

  • pthread_mutex_lock() y pthread_mutex_unlock().
  • Garantizan la exclusión mutua.
  • El orden de adquisición de los locks es crítico para evitar deadlocks no deterministas en entornos de ejecución concurrente.

Problema Seguir leyendo “Fundamentos de Sistemas Operativos: Concurrencia, Procesos y Threads” »

Procesos y Multitarea en Sistemas Operativos: Conceptos Clave

1. ¿Qué es un Proceso en un Sistema Operativo?

Un proceso es un programa en ejecución. En los libros de texto se pueden encontrar definiciones más formales, como, por ejemplo, que un proceso puede definirse como “la unidad de procesamiento gestionada por el sistema operativo” o como “la entidad que puede ser asignada a un procesador y ejecutada por él”.

2. El Concepto de Multitarea

2.1. Orígenes de la Multitarea

En los ordenadores de la segunda generación (años 60), cuando el trabajo Seguir leyendo “Procesos y Multitarea en Sistemas Operativos: Conceptos Clave” »