Ejemplo E1 (Unidad 1)
Simulador FCFS

Propuesta + mock + repo + código + presentación

Navegación: F pantalla completa

Este ejemplo está limitado a Unidad 1: procesos y planificación (FCFS).

Primera entrega

Rúbrica (100 pts) aplicada al ejemplo

CriterioPuntosQué entrega este ejemplo
Propuesta técnica30Problema delimitado + alcance E1/E2/E3 + arquitectura básica + lenguaje
Mock funcional / boceto20Mock simple con pantallas y Gantt
Incremento 1 — primer arranque30Repo con estructura + programa que corre + README mínimo
Presentación del equipo20Guion 2–3 min, cada integrante participa

Objetivo: que mañana cualquier equipo pueda replicar la estructura y entregar sin “inventar” requisitos nuevos.

Propuesta técnica (30 pts)

docs/propuesta.pdf (1 página)

PROYECTO: Simulador Planificador SO - Equipo 05 MODALIDAD: Base LENGUAJE: C# Console PROBLEMA: Queremos entender cómo el algoritmo FCFS afecta tiempos de espera y retorno. ALCANCE POR ENTREGAS: E1: FCFS funcionando (Gantt y métricas básicas) E2: Agregar RR y/o SJF (y mejorar la entrada de datos) E3: Extensión del proyecto según modalidad (sin exigirlo en E1) ARQUITECTURA (BÁSICA): Program.cs - Define procesos (PID, Burst) - Ejecuta FCFS - Calcula métricas (T.Retorno, T.Espera, promedios) - Imprime resultados EVIDENCIAS: - Repo GitHub con /src, /docs, README - Mock (foto o diagrama)

Qué se acepta: claridad, no perfección. El alcance está descrito por entregas.

Mock funcional (20 pts)

mock.png (foto papel / Excalidraw / draw.io)

Requisito mínimo: 3 estados o pantallas visibles.

  • Pantalla A: “Ingresar procesos (PID, Burst)”
  • Pantalla B: “Ejecutar FCFS”
  • Pantalla C: “Ver Gantt + métricas”

Ejemplo de contenido del mock:

SIMULADOR GANTT (FCFS) Procesos: P1(3), P2(5), P3(2) Gantt: P1 [###] P2 [#####] P3 [##] Métricas: T.Retorno: 3, 8, 10 T.Espera: 0, 3, 8

Nota: el mock puede ser una foto del cuaderno. Debe ser legible.

Incremento 1 (30 pts)

Estructura mínima del repositorio

SO-proyecto-equipo05/ ├── src/ │ └── Program.cs ├── docs/ │ └── propuesta.pdf ├── mock.png └── README.md

Qué se evalúa: que exista estructura, que haya un componente que corra y que el README permita ejecutar.

Program.cs (funciona)

Simulación FCFS + métricas (Unidad 1)

using System; using System.Linq; class Program { static void Main() { Console.WriteLine("=== SIMULADOR FCFS - E1 ==="); // Unidad 1: PID + Burst Time (CPU burst) var procesos = new (string Pid, int Burst)[] { ("P1", 3), ("P2", 5), ("P3", 2) }; int tiempo = 0; double[] tRetorno = new double[procesos.Length]; double[] tEspera = new double[procesos.Length]; // FCFS: se ejecutan en el orden dado for (int i = 0; i < procesos.Length; i++) { tiempo += procesos[i].Burst; tRetorno[i] = tiempo; tEspera[i] = tRetorno[i] - procesos[i].Burst; Console.WriteLine($"{procesos[i].Pid}: Burst={procesos[i].Burst}s, " + $"T.Retorno={tRetorno[i]}, T.Espera={tEspera[i]}"); } Console.WriteLine(); Console.WriteLine($"Promedio T.Retorno: {tRetorno.Average():F1}s"); Console.WriteLine($"Promedio T.Espera: {tEspera.Average():F1}s"); Console.WriteLine("Presione ENTER para salir..."); Console.ReadLine(); } }

Demostrable: ejecuta en consola y muestra resultados al instante.

Evidencia de funcionamiento

Salida esperada (captura opcional)

=== SIMULADOR FCFS - E1 === P1: Burst=3s, T.Retorno=3, T.Espera=0 P2: Burst=5s, T.Retorno=8, T.Espera=3 P3: Burst=2s, T.Retorno=10, T.Espera=8 Promedio T.Retorno: 7.0s Promedio T.Espera: 3.7s Presione ENTER para salir...

Relación directa: estos tiempos corresponden a lo que se calcula con Gantt en FCFS.

README.md

Instrucciones mínimas de ejecución

# Simulador Planificador SO (FCFS) - Equipo 05 ## Qué funciona (E1) - Simulación FCFS con 3 procesos - Cálculo de T.Retorno y T.Espera - Promedios de retorno y espera ## Estructura - src/Program.cs - docs/propuesta.pdf - mock.png ## Cómo ejecutar 1) Abrir terminal en la carpeta del proyecto 2) Ejecutar: dotnet run

Clave: un README claro evita que el profesor “adivine” cómo correr el proyecto.

Presentación del equipo (20 pts)

Guion 2–3 minutos (todos participan)

Integrante 1 (30–40s)

Qué hace el proyecto y por qué (problema). Qué eligieron: modalidad y lenguaje. Qué entra en E1 vs. qué queda para E2/E3.

Integrante 2/3/4 (30–40s c/u)

Mostrar repo y estructura. Mostrar mock.png. Ejecutar: dotnet run. Explicar qué significa el resultado (T.Espera / T.Retorno).

Regla: se entiende qué funciona hoy y cuál es el plan del equipo.

Checklist final

Antes de subir el link

ItemListo
Repo creado y accesible
/src/Program.cs compila y corre
/docs/propuesta.pdf (1 página)
mock.png (legible)
README.md con pasos de ejecución
Link enviado por Classroom/GitHub Classroom

Entrega correcta = evidencia clara, ejecutable y bien organizada.