# sheaan7/proyecto-so-planificacion-cpu architecture

> Architecture diagram of the GitHub repository sheaan7/proyecto-so-planificacion-cpu, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sheaan7/proyecto-so-planificacion-cpu
- Repository: https://github.com/sheaan7/proyecto-so-planificacion-cpu

## Overview

Es un simulador de planificación de CPU: el usuario ejecuta el programa con uno o varios escenarios; el programa los carga, simula FCFS, SJF y Round Robin para cada quantum configurado, calcula métricas y presenta los resultados, además de guardarlos. El motor modela llegadas, ejecución, E/S, estados de proceso y cambios de contexto. La documentación confirma los escenarios y artefactos principales; no se muestran vínculos con herramientas externas de ejecución o presentación.

Main entry points: [`main.c`](https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/main.c) (Carga y ejecución), [`planificador.c`](https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/planificador.c) (Motor de planificación), [`planificador.h`](https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/planificador.h) (Tipos y API), [`escenarios`](https://github.com/sheaan7/proyecto-so-planificacion-cpu/tree/main/escenarios) (Escenarios)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entrada["Entrada de escenarios"]
  node_escenarios["Escenarios"]
  node_ejecutor["Carga y ejecución<br/>[main.c]"]
end

subgraph group_motor["Simulación y análisis"]
  node_contrato["Tipos y API<br/>[planificador.h]"]
  node_simulador["Motor de planificación<br/>[planificador.c]"]
  node_metricas["Métricas y equidad<br/>[planificador.c]"]
  node_gantt["Formato Gantt<br/>[planificador.c]"]
end

subgraph group_salida["Resultados"]
  node_informes["Informes y CSV<br/>[main.c]"]
  node_resultados["Resultados guardados"]
end

node_usuario(("Usuario CLI"))

node_usuario -->|"ejecuta"| node_ejecutor
node_escenarios -->|"lee escenarios"| node_ejecutor
node_ejecutor -->|"simula procesos"| node_simulador
node_ejecutor -->|"calcula métricas"| node_metricas
node_ejecutor -->|"formatea Gantt"| node_gantt
node_ejecutor -->|"compone informes"| node_informes
node_simulador -->|"usa tipos"| node_contrato
node_ejecutor -->|"usa API"| node_contrato
node_informes -->|"escribe archivos"| node_resultados

click node_escenarios "https://github.com/sheaan7/proyecto-so-planificacion-cpu/tree/main/escenarios"
click node_ejecutor "https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/main.c"
click node_contrato "https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/planificador.h"
click node_simulador "https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/planificador.c"
click node_metricas "https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/planificador.c"
click node_gantt "https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/planificador.c"
click node_informes "https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/main.c"
click node_resultados "https://github.com/sheaan7/proyecto-so-planificacion-cpu/tree/main/resultados"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_escenarios,node_ejecutor toneBlue
class node_contrato,node_simulador,node_metricas,node_gantt toneAmber
class node_informes,node_resultados toneMint
class node_usuario toneIndigo
```

## Components

### Entrada de escenarios

- [Escenarios](https://github.com/sheaan7/proyecto-so-planificacion-cpu/tree/main/escenarios): `escenarios`
- [Carga y ejecución](https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/main.c): `main.c`

### Simulación y análisis

- [Tipos y API](https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/planificador.h): `planificador.h`
- [Motor de planificación](https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/planificador.c): `planificador.c`
- [Métricas y equidad](https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/planificador.c): `planificador.c`
- [Formato Gantt](https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/planificador.c): `planificador.c`

### Resultados

- [Informes y CSV](https://github.com/sheaan7/proyecto-so-planificacion-cpu/blob/main/main.c): `main.c`
- [Resultados guardados](https://github.com/sheaan7/proyecto-so-planificacion-cpu/tree/main/resultados): `resultados`

### Other components

- **Usuario CLI**

## Connections

- Usuario CLI → Carga y ejecución: ejecuta (evidence: `README.md`)
- Escenarios → Carga y ejecución: lee escenarios (evidence: `README.md`)
- Carga y ejecución → Motor de planificación: simula procesos (evidence: `main.c`)
- Carga y ejecución → Métricas y equidad: calcula métricas (evidence: `main.c`)
- Carga y ejecución → Formato Gantt: formatea Gantt (evidence: `main.c`)
- Carga y ejecución → Informes y CSV: compone informes (evidence: `main.c`)
- Motor de planificación → Tipos y API: usa tipos (evidence: `planificador.c`)
- Carga y ejecución → Tipos y API: usa API (evidence: `main.c`)
- Informes y CSV → Resultados guardados: escribe archivos (evidence: `main.c`)
