Assignment name: death_monitor Expected files: death_monitor.c Allowed functions: memset, printf, malloc, free, write, pthread_create, pthread_detach, pthread_join, pthread_mutex_init, pthread_mutex_destroy, pthread_mutex_lock, pthread_mutex_unlock, usleep, gettimeofday --- Cria um sistema com: - 4 threads "worker" que fazem trabalho por períodos variados (1-4 segundos) - 1 thread monitor que verifica se algum worker não dá "sinal de vida" há mais de 3 segundos - Workers devem atualizar `last_activity_time` a cada iteração - Monitor verifica a cada 100ms e imprime aviso se detectar worker "morto" Simula "morte" fazendo um worker parar aleatoriamente. Uso: `./death_monitor` Hint: Este exercício simula a detecção de morte no Philosophers. O monitor thread deve verificar continuamente sem bloquear os workers. Usa mutex para proteger `last_activity_time`. A detecção deve ser rápida (dentro de 10ms no projeto real).