public void Reservar(Programa programa) { if (Ocupado) { throw new Exception("Acesso a CPU Ocupada!"); } Ocupado = true; }
public string Status() { Programa proximoPrograma = Fila.Any() ? Fila.Peek() : null; int programasEmFila = Fila.Count; return(String.Format("CPU: {0} - Fila: {1} programa(s), proximo: {2}", Ocupado ? "Ocupada" : "Livre", programasEmFila, proximoPrograma != null ? proximoPrograma.Identificador : "-" )); }
public int TempoDeOverhead(Programa programa) { return(1); }
// TODO: Tempo de Processamento / Inter-request Time public int TempoDeProcessamento(Programa programa) { return(programa.TempoProcessamento); }
public void Liberar(Programa programa) { Ocupado = false; }
public void Inserir(Programa programa) { Fila.Enqueue(programa); }