Proyectos

Mr. Meeseeks Box

procesos en C

IC-6600 Sistemas Operativos · TEC

Año

2026

Tipo

Sistemas

Estado

Entregado

Stack

C, Linux, fork / pipe

τ=0.65
Sobre el proyecto

La Caja de Mr. Meeseeks hecha sistema operativo: cada solicitud la atienden procesos creados con fork() que se comunican por pipes y comparten contadores en memoria compartida protegidos con semáforos POSIX. Si tarda demasiado: caos planetario.

Cada Meeseeks es un proceso. Si la tarea es difícil, se multiplica — más procesos, con la dificultad diluyéndose entre ellos — hasta resolverla o hasta que se acaba el tiempo. Un semáforo contador limita cuántos trabajan a la vez, y la Box lleva la cuenta global en memoria compartida.

La Box acepta texto libre con dificultad y duración, cálculos aritméticos y lógicos (calc), y ejecución de programas externos (run) usando su código de salida. Tiene modo experimento, semilla reproducible y exportación CSV por solicitud para medir el comportamiento bajo carga.

CLinuxfork / pipePOSIX SemaphoresShared MemoryMake
README.mdsh
make            # genera ./meeseeks
./meeseeks [-T seg] [-m max_total] [-a max_vivos] [-g ganancia] [-s semilla] [-q] [-x] [-k] [-o salida.csv]

# dentro de la Box
Quiero ser feliz                   # texto libre: pide dificultad y duración
calc (3+4)*2 >= 14 && !0           # cálculo aritmético o lógico
run <comando>                      # usa el código de salida de un programa
adios                              # cierra la Box e imprime el informe
Siguiente →Supersonic Nozzle Design Benchmark